00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #ifndef _POA_SERVER_IDL_
00045 #define _POA_SERVER_IDL_
00046
00047
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
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
00084 local interface POAManager;
00085
00086 #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00087
00088 local interface POAManagerFactory;
00089 #endif
00090
00091 #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && ! defined (TAO_HAS_MINIMUM_POA)
00092
00093 local interface AdapterActivator;
00094 #endif
00095
00096 #if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00097
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)
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
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
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 (
00144 in LifespanPolicyValue value
00145 );
00146
00147 IdUniquenessPolicy create_id_uniqueness_policy (
00148 in IdUniquenessPolicyValue value
00149 );
00150
00151 IdAssignmentPolicy create_id_assignment_policy (
00152 in IdAssignmentPolicyValue value
00153 );
00154 #endif
00155 # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00156 ImplicitActivationPolicy create_implicit_activation_policy (
00157 in ImplicitActivationPolicyValue value
00158 );
00159
00160 ServantRetentionPolicy create_servant_retention_policy (
00161 in ServantRetentionPolicyValue value
00162 );
00163
00164 RequestProcessingPolicy create_request_processing_policy (
00165 in RequestProcessingPolicyValue value
00166 );
00167 # endif
00168
00169
00170 readonly attribute string the_name;
00171 readonly attribute POA the_parent;
00172 # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO)
00173 readonly attribute POAList the_children;
00174 # endif
00175 readonly attribute POAManager the_POAManager;
00176 # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00177 readonly attribute POAManagerFactory the_POAManagerFactory;
00178 # endif
00179 # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00180 attribute AdapterActivator the_activator;
00181 # endif
00182
00183 # if ! defined (CORBA_E_COMPACT) && ! defined (CORBA_E_MICRO) && !defined (TAO_HAS_MINIMUM_POA)
00184
00185
00186 ServantManager get_servant_manager ()
00187 raises (WrongPolicy);
00188
00189 void set_servant_manager (in ServantManager imgr)
00190 raises (WrongPolicy);
00191
00192
00193
00194 Servant get_servant ()
00195 raises (NoServant,
00196 WrongPolicy);
00197
00198 void set_servant (in Servant p_servant)
00199 raises (WrongPolicy);
00200 # endif
00201
00202
00203
00204 ObjectId activate_object (in Servant p_servant)
00205 raises (ServantAlreadyActive,
00206 WrongPolicy);
00207
00208 #if !defined (CORBA_E_MICRO)
00209 void activate_object_with_id (in ObjectId id,
00210 in Servant p_servant)
00211 raises (ServantAlreadyActive,
00212 ObjectAlreadyActive,
00213 WrongPolicy);
00214 #endif
00215
00216 void deactivate_object (in ObjectId oid)
00217 raises (ObjectNotActive, WrongPolicy);
00218
00219
00220
00221 Object create_reference (in CORBA::RepositoryId intf)
00222 raises (WrongPolicy);
00223
00224 Object create_reference_with_id (in ObjectId oid,
00225 in CORBA::RepositoryId intf);
00226
00227
00228 ObjectId servant_to_id (in Servant p_servant)
00229 raises (ServantNotActive,
00230 WrongPolicy);
00231
00232 Object servant_to_reference (in Servant p_servant)
00233 raises (ServantNotActive, WrongPolicy);
00234
00235 Servant reference_to_servant (in Object reference)
00236 raises (ObjectNotActive,
00237 WrongAdapter,
00238 WrongPolicy);
00239
00240 ObjectId reference_to_id (in Object reference)
00241 raises (WrongAdapter,
00242 WrongPolicy);
00243
00244 Servant id_to_servant (in ObjectId oid)
00245 raises (ObjectNotActive, WrongPolicy);
00246
00247 Object id_to_reference (in ObjectId oid)
00248 raises (ObjectNotActive,
00249 WrongPolicy);
00250
00251 readonly attribute CORBA::OctetSeq id;
00252 };
00253 };
00254
00255 #endif // _PORTABLE_SERVER_IDL_