summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/ImplRepo.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/ImplRepo.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/ImplRepo.idl250
1 files changed, 83 insertions, 167 deletions
diff --git a/TAO/orbsvcs/orbsvcs/ImplRepo.idl b/TAO/orbsvcs/orbsvcs/ImplRepo.idl
index f560c727dd6..8e2fed102de 100644
--- a/TAO/orbsvcs/orbsvcs/ImplRepo.idl
+++ b/TAO/orbsvcs/orbsvcs/ImplRepo.idl
@@ -1,182 +1,98 @@
// $Id$
-module ImplementationRepository
+#include "Ping.idl"
+
+interface Implementation_Repository
+ // = TITLE
+ // Interface for communicating with the Implementation Repository
+ //
+ // = DESCRIPTION
+ // This interface exports all the administration functionality of
+ // the Implementation Repository.
{
- interface ServerObject
- // = TITLE
- // Server Side IR Object
- //
- // = DESCRIPTION
- // This object, which exists on the servers that use the
- // Implementation Repository (IR), is used to control or check the
- // status of the server by the IR.
- {
- void ping ();
- // Check the liveness of a server.
-
- void shutdown ();
- // Try to shutdown the server gracefully.
- };
-
- struct EnvironmentVariable
- // One environment variable/value pair.
- {
- string name;
- string value;
- };
+ exception Already_Registered {};
+ // Object already bound in the Implementation Repository
- struct Address
- // Specifies the location of the server.
+ exception Cannot_Activate
{
- string host;
- unsigned short port;
+ string reason_;
};
- typedef sequence<EnvironmentVariable> Environment;
- // Complete Environment.
+ exception Not_Found {};
+ // Object not found in the Implementation Repository
- struct StartupOptions
- // Options used to start up the server.
+ struct INET_Addr
{
- string command_line;
- // Startup command (program name and arguments).
-
- Environment environment;
- // Environment Variables.
-
- string working_directory;
- // Working directory.
+ string host_;
+ unsigned short port_;
};
+ // The location of a server
- struct ServerInformation
- // All the information about one server.
+ struct Process_Options
{
- string logical_server;
- // The logical server this server is part of.
-
- string server;
- // Server name.
-
- StartupOptions startup;
- // How to start up the server.
-
- Address location;
- // Where the server is located currently.
- };
-
- typedef sequence <ServerInformation> ServerInformationList;
-
- interface ServerInformationIterator;
- // Forward declaration.
-
- interface Administration
- // = TITLE
- // The Implementation Repository Administration Interface
- //
- // = DESCRIPTION
- // This interface exports all the administration functionality of
- // the Implementation Repository.
- {
- // = Exceptions
-
- exception AlreadyRegistered {};
- // Object already bound in the Implementation Repository
-
- exception CannotActivate
- {
- string reason;
- };
- // The server could not be restarted.
-
- exception NotFound {};
- // Object not found in the Implementation Repository
-
- void activate_server (in string server)
- raises (NotFound,
- CannotActivate);
- // Activate server that is named <server>.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository. The <CannotActivate> exception
- // is raised when <server> is found in the Repository but could not be
- // activated.
-
- void register_server (in string server,
- in StartupOptions options)
- raises (AlreadyRegistered);
- // Register the <options> to specify how the <server> should be
- // restarted when a client asks for it.
- //
- // The <AlreadyRegistered> exception is raised when <server> has
- // already been registered with the Implementation Repository.
-
- void reregister_server (in string server,
- in StartupOptions options);
- // Update the <options> to specify how the <server> should be
- // restarted when a client asks for it. Will register the server
- // if not already registered.
-
- void remove_server (in string server)
- raises (NotFound);
- // Remove <server> from the Implementation Repository.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- void shutdown_server (in string server)
- raises (NotFound);
- // Tries to shutdown the server, first gracefully, then ungracefully.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- Address server_is_running (in string server,
- in Address addr,
- in ServerObject server_object)
- raises (NotFound);
- // Used to notify the Implementation Repository that <server> is alive
- // and well at <addr>.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- void server_is_shutting_down (in string server)
- raises (NotFound);
- // Used to tell the Implementation Repository that <server> is shutting
- // down.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- void find (in string server,
- out ServerInformation info)
- raises (NotFound);
- // Returns the startup information for a given <server>.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- void list (in unsigned long how_many,
- out ServerInformationList server_list,
- out ServerInformationIterator server_iterator);
- // Returns at most <how_many> servers in <server_list>. If there
- // are additional servers, they can be received through the
- // <server_iterator>. If there are no more servers, then
- // <server_iterator> is null.
+ string command_line_;
+ // Command line options
+ string environment_;
+ // Environment
+ string working_directory_;
+ // Working directory
+ unsigned long creation_flags_;
+ // Creation flags
};
- interface ServerInformationIterator
- {
- // = TITLE
- // Interface for iterating over servers returned with
- // Administration::list ().
-
- boolean next_n (in unsigned long how_many,
- out ServerInformationList server_list);
- // This operation returns at most the requested number of
- // servers.
-
- void destroy ();
- // This operation destroys the iterator.
- };
+ Object activate_object (in Object obj)
+ raises (Not_Found,
+ Cannot_Activate);
+ // Restart server that will contain this persistent object and return the
+ // new Object reference.
+ //
+ // The <Not_Found> exception is raised when <obj> is not found
+ // in the Implementation Repository. The <Cannot_Activate> exception
+ // is raised when <obj> is found in the Repository but could not be
+ // activated.
+
+ INET_Addr activate_server (in string server)
+ raises (Not_Found,
+ Cannot_Activate);
+ // Restart server that is named <server> and return the host/port
+ //
+ // The <Not_Found> exception is raised when <server> is not found
+ // in the Implementation Repository. The <Cannot_Activate> exception
+ // is raised when <server> is found in the Repository but could not be
+ // activated.
+
+
+ void register_server (in string server,
+ in Process_Options options)
+ raises (Already_Registered);
+ // Register the <options> to specify how the <server> should be
+ // restarted when a client asks for it.
+ //
+ // The <Already_Registered> exception is raised when <server> has
+ // already been registered with the Implementation Repository.
+
+ void reregister_server (in string server,
+ in Process_Options options);
+ // Update the <options> to specify how the <server> should be
+ // restarted when a client asks for it. Will register the server
+ // if not already registered.
+
+ void remove_server (in string server)
+ raises (Not_Found);
+ // Remove <server> from the Implementation Repository.
+ //
+ // The <Not_Found> exception is raised when <server> is not found
+ // in the Implementation Repository.
+
+ INET_Addr server_is_running (in string server,
+ in INET_Addr addr,
+ in Object ping)
+ raises (Not_Found);
+ // Used to notify the Implementation Repository that <server> is alive and
+ // well at <addr>.
+
+ void server_is_shutting_down (in string server)
+ raises (Not_Found);
+ // Used to tell the Implementation Repository that <server> is shutting
+ // down.
};