POA.pidl

Go to the documentation of this file.
00001 /**
00002  * @file POA.pidl
00003  *
00004  * $Id: POA.pidl 81200 2008-04-01 13:03:30Z johnnyw $
00005  *
00006  * @brief Pre-compiled IDL source for the PortableServer module.
00007  *
00008  * This file is used to generate the code in
00009  * PortableServerC.{h,inl,cpp}, using the following command:
00010  *
00011  * tao_idl.exe \
00012  *     -o orig -Sci -Gp -Gd -GA -I$(TAO_ROOT)
00013  *          -Wb,export_macro=TAO_PortableServer_Export \
00014  *          -Wb,export_include="portableserver_export.h" \
00015  *          -Wb,pre_include="ace/pre.h" \
00016  *          -Wb,post_include="ace/post.h" \
00017  *          PortableServer.pidl
00018  *
00019  * After the file is generated a patch from the diffs directory must
00020  * be applied.  The patch:
00021  *
00022  *   - Disables parts of the code under certain configurations.
00023  *
00024  *   - Eliminates cycles in the include dependencies.
00025  *
00026  *   - Adds non-idl components of PortableServer to the namespace.
00027  *     This includes (a) Servant (b) ServantBase (c) RefCountServantBase
00028  *     (d) Cookie (e) ObjectId_to_string (f) string_to_ObjectId (g)
00029  *     ObjectId_to_wstring (h) wstring_to_ObjectId (i) ServantBase_var
00030  *     (j) DynamicImplementation (k) LocalServantBase
00031  *
00032  * Apply patches using the following command:
00033  *
00034  *   patch < diffs/PortableServer.diff
00035  *
00036  * Note: The diffs were generated using:
00037  *
00038  *   rm diffs/PortableServer.diff
00039  *   for i in PortableServerC.{h,i,cpp}; do
00040  *     diff -wub orig/$i $i >> diffs/PortableServer.diff
00041  *   done
00042  */
00043 
00044 #ifndef _POA_SERVER_IDL_
00045 #define _POA_SERVER_IDL_
00046 
00047 ///FUZZ: disable check_for_include/
00048 #include "tao/Policy_Forward.pidl"
00049 #include "tao/OctetSeq.pidl"
00050 #include "tao/orb_types.pidl"
00051 #include "tao/PortableServer/PS_Forward.pidl"
00052 #include "tao/PortableServer/IdAssignmentPolicy.pidl"
00053 #include "tao/PortableServer/IdUniquenessPolicy.pidl"
00054 #include "tao/PortableServer/ImplicitActivationPolicy.pidl"
00055 #include "tao/PortableServer/LifespanPolicy.pidl"
00056 #include "tao/PortableServer/RequestProcessingPolicy.pidl"
00057 #include "tao/PortableServer/ServantRetentionPolicy.pidl"
00058 #include "tao/PortableServer/ThreadPolicy.pidl"
00059 
00060 #pragma prefix "omg.org"
00061 
00062 module PortableServer
00063 {
00064 # pragma version PortableServer 2.3
00065 
00066   typedef sequence<POA> POAList;
00067 
00068   // Policy IDs
00069 #   if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00070   const CORBA::PolicyType THREAD_POLICY_ID                = 16;
00071 #   endif
00072 #   if ! defined (CORBA_E_MICRO)
00073   const CORBA::PolicyType LIFESPAN_POLICY_ID              = 17;
00074   const CORBA::PolicyType ID_UNIQUENESS_POLICY_ID         = 18;
00075   const CORBA::PolicyType ID_ASSIGNMENT_POLICY_ID         = 19;
00076 #   endif
00077 #   if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00078   const CORBA::PolicyType IMPLICIT_ACTIVATION_POLICY_ID   = 20;
00079   const CORBA::PolicyType SERVANT_RETENTION_POLICY_ID     = 21;
00080   const CORBA::PolicyType REQUEST_PROCESSING_POLICY_ID    = 22;
00081 #   endif
00082 
00083   // Forward declaration POAManager interface.
00084   local interface POAManager;
00085 
00086 #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00087   // Forward declaration POAManagerFactory interface.
00088   local interface POAManagerFactory;
00089 #endif
00090 
00091 #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && ! defined (TAO_HAS_MINIMUM_POA)
00092   // Forward declaration AdapterActivator interface.
00093   local interface AdapterActivator;
00094 #endif
00095 
00096 #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00097   // Forward declaration servantManager interface.
00098   local interface ServantManager;
00099 #endif
00100 
00101   local interface POA
00102   {
00103 #   pragma version POA 2.3
00104 
00105 #       if ! defined (CORBA_E_MICRO)
00106     exception AdapterAlreadyExists {};
00107     exception AdapterNonExistent {};
00108     exception InvalidPolicy {unsigned short index;};
00109 #if !defined (TAO_HAS_MINIMUM_POA) && !defined (CORBA_E_COMPACT)
00110     exception NoServant {};
00111 #endif
00112     exception ObjectAlreadyActive {};
00113 #       endif
00114     exception ObjectNotActive {};
00115     exception ServantAlreadyActive {};
00116     exception ServantNotActive {};
00117     exception WrongAdapter {};
00118     exception WrongPolicy {};
00119 
00120 
00121 #       if ! defined (CORBA_E_MICRO)
00122     /// POA creation and destruction.
00123     POA create_POA (in string adapter_name,
00124                     in POAManager a_POAManager,
00125                     in CORBA::PolicyList policies)
00126       raises (AdapterAlreadyExists,
00127               InvalidPolicy);
00128 
00129     POA find_POA (in string adapter_name,
00130                   in boolean activate_it)
00131       raises (AdapterNonExistent);
00132 #endif
00133 
00134     void destroy (in boolean etherealize_objects,
00135                   in boolean wait_for_completion);
00136 
00137     // Factories for Policy objects.
00138 
00139 #       if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00140     ThreadPolicy create_thread_policy (in ThreadPolicyValue value);
00141 #endif
00142 #       if  ! defined (CORBA_E_MICRO)
00143     LifespanPolicy create_lifespan_policy (in LifespanPolicyValue value);
00144 
00145     IdUniquenessPolicy  create_id_uniqueness_policy (
00146         in IdUniquenessPolicyValue value);
00147 
00148     IdAssignmentPolicy  create_id_assignment_policy (
00149         in IdAssignmentPolicyValue value);
00150 #endif
00151 #       if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00152     ImplicitActivationPolicy create_implicit_activation_policy (
00153         in ImplicitActivationPolicyValue value
00154       );
00155 
00156     ServantRetentionPolicy create_servant_retention_policy (
00157         in ServantRetentionPolicyValue value
00158       );
00159 
00160     RequestProcessingPolicy create_request_processing_policy (
00161         in RequestProcessingPolicyValue value
00162       );
00163 #       endif
00164 
00165     // POA attributes
00166     readonly attribute string       the_name;
00167     readonly attribute POA          the_parent;
00168 #       if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00169     readonly attribute POAList      the_children;
00170 #       endif
00171     readonly attribute POAManager   the_POAManager;
00172 #       if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00173     readonly attribute POAManagerFactory   the_POAManagerFactory;
00174 #   endif
00175 #       if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00176     attribute AdapterActivator      the_activator;
00177 #       endif
00178 
00179 #       if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00180     // Servant Manager registration:
00181 
00182     ServantManager get_servant_manager ()
00183       raises (WrongPolicy);
00184 
00185     void set_servant_manager (in ServantManager imgr)
00186       raises (WrongPolicy);
00187 
00188     // Operations for the USE_DEFAULT_SERVANT policy.
00189 
00190     Servant get_servant ()
00191       raises (NoServant,
00192               WrongPolicy);
00193 
00194     void set_servant (in Servant p_servant)
00195       raises (WrongPolicy);
00196 #       endif
00197 
00198     // Object activation and deactivation.
00199 
00200     ObjectId  activate_object (in Servant p_servant)
00201       raises (ServantAlreadyActive,
00202               WrongPolicy);
00203 
00204 #if !defined (CORBA_E_MICRO)
00205     void activate_object_with_id (in ObjectId id,
00206                                   in Servant p_servant)
00207       raises (ServantAlreadyActive,
00208               ObjectAlreadyActive,
00209               WrongPolicy);
00210 #endif
00211 
00212     void deactivate_object (in ObjectId oid)
00213       raises (ObjectNotActive, WrongPolicy);
00214 
00215     // Reference creation operations.
00216 
00217     Object create_reference (in CORBA::RepositoryId intf)
00218       raises (WrongPolicy);
00219 
00220 #if !defined (CORBA_E_MICRO)
00221     Object create_reference_with_id (in ObjectId oid,
00222                                      in CORBA::RepositoryId intf);
00223 #endif
00224 
00225     // Identity mapping operations:.
00226     ObjectId servant_to_id (in Servant p_servant)
00227       raises (ServantNotActive,
00228               WrongPolicy);
00229 
00230     Object servant_to_reference (in Servant p_servant)
00231       raises (ServantNotActive, WrongPolicy);
00232 
00233     Servant reference_to_servant (in Object reference)
00234       raises (ObjectNotActive,
00235               WrongAdapter,
00236               WrongPolicy);
00237 
00238     ObjectId reference_to_id (in Object reference)
00239       raises (WrongAdapter,
00240               WrongPolicy);
00241 
00242     Servant id_to_servant (in ObjectId oid)
00243       raises (ObjectNotActive, WrongPolicy);
00244 
00245     Object id_to_reference (in ObjectId oid)
00246       raises (ObjectNotActive,
00247               WrongPolicy);
00248 
00249     readonly attribute CORBA::OctetSeq id;
00250   };
00251 };
00252 
00253 #endif // _PORTABLE_SERVER_IDL_

Generated on Tue Feb 2 17:40:54 2010 for TAO_PortableServer by  doxygen 1.4.7