NAME

CORBA::Object::get_policy - (operation) return the effective policy of a given type


SYNOPSIS

IDL

  module CORBA
    {
    interface Object
      {
      Policy get_policy ( in PolicyType policy_type ) ;
      } ;
    } ;

C

  #include <orb.h>
  CORBA_Policy CORBA_Object_get_policy
      ( CORBA_Object o, CORBA_PolicyType policy_type,
      CORBA_Environment * ev ) ;

C++

  #include <orb.h>
  namespace CORBA
    {
    class Object
      {
        public:
          Policy_ptr _get_policy ( PolicyType policy_type ) ;
      } ;
    } ;

Java

  package org.omg.CORBA ;
  public interface Object
    {
    Policy _get_policy ( int policy_type ) ;
    }

Perl

(TBS)

Lisp

(TBS)


DESCRIPTION

The CORBA::Object::get_policy operation returns the effective Policy of a given type associated with the target object. The effective Policy is the Policy which would apply if an invocation were to be made.

If there is no policy specified in the IOR, then the effective Policy is the effective override Policy. Otherwise, the effective override Policy must be reconciled with the Policy specified in the IOR. If no reconciliation is possible, the the INV_POLICY exception will be raised.


PARAMETERS

policy_type

The type of policy object sought.

o

(C mapping only) the target object

ev

(C mapping only) a pointer to the CORBA_Environment


RETURN VALUE

The effective Policy of the specified type for the target object.


EXCEPTIONS

CORBA::INV_POLICY

Either (1) there is no Policy object of the specified type associated with the target object; or (2) the Policy is not supported by this ORB; or (3) the override Policy cannot be reconciled with the Policy specified in the IOR.

(standard system exceptions)


NOTES

  1. The local ORB may find it necessary to invoke some remote methods on the target object in order to satisfy the request.

  2. (C++ mapping only) The IDL header is named orb.idl. The C++ mapping specification does not mention a specific header name. One might presume the header name should be orb.h. However, some ORB vendors are more imaginative, and use other, different header file names.

  3. (C++ mapping only) The C++ mapping of names may vary, depending on the implementation's support for nested classes and namespaces. The rules are:

        if C++ namespace is supported,
            then map IDL module to C++ namespace
        else if C++ nested classes are supported,
            then map IDL module to a C++ class
        else
            use the C mapping for names

    The C++ synopsis, above, assumes namespace support. For other situations, adjust accordingly.


SEE ALSO

CORBA::Object(3corba)


COPYRIGHT

Copyright 2012 Michael Marking. This document is distributed as part of corbadoc, a documentation-only package with the goal of describing the main CORBA-related definitions from the OMG specifications. This is version corbadoc-0.1.3-prototype, released 2011.12.23. corbadoc is an incomplete work in progress; this is a snapshot release. New releases will be posted at http://www.tatanka.com/software/corbadoc/.

The corbadoc documents, including this one, are licensed under the GNU Free Documentation License, v.1.3.