summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h')
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h50
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 */