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) && !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
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 (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
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
00181
00182 ServantManager get_servant_manager ()
00183 raises (WrongPolicy);
00184
00185 void set_servant_manager (in ServantManager imgr)
00186 raises (WrongPolicy);
00187
00188
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
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
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
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_