diff options
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h')
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h index 2a5bae1a875..099d473b098 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h @@ -41,9 +41,8 @@ public: ~ImR_Activator_i (void); /// IOR_LookupTable_Callback method. Will return an IOR - char *find_ior (const ACE_CString &object_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, IORTable::NotFound)); + char *find_ior (const char* object_name ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound)); // = Interface methods @@ -65,7 +64,8 @@ public: ACE_ENV_ARG_DECL_WITH_DEFAULTS ) ACE_THROW_SPEC (( CORBA::SystemException, - ImplementationRepository::AlreadyRegistered + ImplementationRepository::AlreadyRegistered, + ImplementationRepository::NotFound )); /// Updates the startup information about the server <server>. @@ -73,7 +73,10 @@ public: const char *server, const ImplementationRepository::StartupOptions &options ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) ACE_THROW_SPEC ((CORBA::SystemException)); + ) ACE_THROW_SPEC ((CORBA::SystemException, + ImplementationRepository::AlreadyRegistered, + ImplementationRepository::NotFound + )); /// Removes the server <server> from the repository. virtual void remove_server ( @@ -91,9 +94,9 @@ public: /// Called by the server to update transient information such as current /// location of the <server> and its ServerObject. - virtual char *server_is_running ( + virtual void server_is_running ( const char *server, - const char *location, + const char * partial_ior, ImplementationRepository::ServerObject_ptr server_object ACE_ENV_ARG_DECL_WITH_DEFAULTS ) ACE_THROW_SPEC ((CORBA::SystemException, @@ -145,6 +148,13 @@ public: private: + char* activate_server_i (const char *server,int check_startup + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::NotFound, + ImplementationRepository::CannotActivate + )); + /// This method starts the server process. void start_server_i ( const char *server @@ -161,9 +171,6 @@ private: ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound)); - /// The locator interface for the IORTable - IORTable::Locator_var locator_; - /// The Process Manager. ACE_Process_Manager process_mgr_; @@ -176,26 +183,11 @@ private: /// Implementation Repository's POA. PortableServer::POA_var imr_poa_; - /// Key of the obj ref of the server. - char *server_key_; - - /// Copy of the filename for the server output file. - char *server_input_file_; - - /// The ior_multicast event handler. - TAO_IOR_Multicast *ior_multicast_; - - /// Implementation Repository's IOR. Why do we store it here? Multicast - /// doesn't work otherwise. - CORBA::String_var imr_ior_; - - /// Number of command line arguments. - int argc_; - - /// The command line arguments. - char **argv_; + /// We're given a token when registering with the locator, which + /// we must use when unregistering. + CORBA::Long registration_token_; - friend class ImR_Forwarder; + ACE_CString name_; }; #endif /* IMR_ACTIVATOR_I_H */ |