diff options
Diffstat (limited to 'TAO/tao/PortableServer/POAManager.h')
-rw-r--r-- | TAO/tao/PortableServer/POAManager.h | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/TAO/tao/PortableServer/POAManager.h b/TAO/tao/PortableServer/POAManager.h index 056efb7578c..5e90d177cc2 100644 --- a/TAO/tao/PortableServer/POAManager.h +++ b/TAO/tao/PortableServer/POAManager.h @@ -42,7 +42,13 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL // Forward decl. class TAO_Root_POA; class TAO_Object_Adapter; +class TAO_POAManager_Factory; +namespace PortableServer +{ + class POAManagerFactory; + typedef POAManagerFactory *POAManagerFactory_ptr; +} class TAO_PortableServer_Export TAO_POA_Manager : public PortableServer::POAManager, @@ -80,11 +86,15 @@ public: PortableServer::POAManager::State get_state (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); - TAO_POA_Manager (TAO_Object_Adapter &object_adapter); + char *get_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); - ~TAO_POA_Manager (void); + TAO_POA_Manager (TAO_Object_Adapter &object_adapter, + const char * id, + const ::CORBA::PolicyList & policies, + PortableServer::POAManagerFactory_ptr poa_manager_factory); - PortableInterceptor::AdapterManagerId get_manager_id (ACE_ENV_SINGLE_ARG_DECL); + ~TAO_POA_Manager (void); /// Check the state of this POA manager void check_state (ACE_ENV_SINGLE_ARG_DECL); @@ -96,6 +106,8 @@ public: ACE_ENV_SINGLE_ARG_DECL ); + CORBA::PolicyList& get_policies (); + protected: void activate_i (ACE_ENV_SINGLE_ARG_DECL) @@ -134,13 +146,6 @@ protected: int register_poa (TAO_Root_POA *poa); - /** - * Generate an AdapterManagerId for this POAManager. - * @return A value that uniquely identifies the POAManager within a - * given process. - */ - PortableInterceptor::AdapterManagerId generate_manager_id (void) const; - protected: PortableServer::POAManager::State state_; @@ -153,8 +158,21 @@ protected: TAO_Object_Adapter &object_adapter_; - PortableInterceptor::AdapterManagerId poa_manager_id_; + CORBA::String_var id_; + + TAO_POAManager_Factory& poa_manager_factory_; + + CORBA::PolicyList policies_; + +private : + /** + * Generate an id for this POAManager. + * @return A value that uniquely identifies the POAManager within a + * given process. + * @note: The id_ has the ownership of the memory allocated in this method. + */ + char* generate_manager_id (void) const; }; TAO_END_VERSIONED_NAMESPACE_DECL |