// $Id$ #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. { exception Already_Registered {}; // Object already bound in the Implementation Repository exception Cannot_Activate { string reason_; }; exception Not_Found {}; // Object not found in the Implementation Repository struct INET_Addr { string host_; unsigned short port_; }; // The location of a server struct Process_Options { string command_line_; // Command line options string environment_; // Environment string working_directory_; // Working directory unsigned long creation_flags_; // Creation flags }; 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 exception is raised when is not found // in the Implementation Repository. The exception // is raised when 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 and return the host/port // // The exception is raised when is not found // in the Implementation Repository. The exception // is raised when 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 to specify how the should be // restarted when a client asks for it. // // The exception is raised when has // already been registered with the Implementation Repository. void reregister_server (in string server, in Process_Options options); // Update the to specify how the 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 from the Implementation Repository. // // The exception is raised when 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 is alive and // well at . void server_is_shutting_down (in string server) raises (Not_Found); // Used to tell the Implementation Repository that is shutting // down. };