summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/ImplRepo_Service/ImplRepo.idl
blob: 13ad609c7fe51cd408860b4e9e970a14fbb9b665 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// $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 Environment_Variable
  {
    string name_;
    string value_;
  };
  // One environment variable

  struct INET_Addr
  {
    unsigned short port_;
    unsigned long host_;
  };
  // 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 <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);
  // Restart server process when client is looking for <server>.
  //
  // The <Already_Registered> exception is raised when <server> has
  // already been registered with the Implementation Repository.
  //
  // The <Object_Not_Persistent> exception is raised when <server> is
  // not a Persistent Object Reference.

//  void reregister_server (in string server,
//                          in Process_Options options)
//    raises (Already_Registered);
  // Restart server process when client is looking for <server>.
  //
  // The <Already_Registered> exception is raised when <server> has
  // already been registered with the Implementation Repository.
  //
  // The <Object_Not_Persistent> exception is raised when <server> is
  // not a Persistent Object Reference.


//  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.

//  Profile server_is_running (in string server,
  string server_is_running (in string server,
//                          in INET_Addr addr,
                          in Object ior,
                          in Object ping);

  // Used to notify the Implementation Repository that <server> is alive and
  // well at <addr>.

//  void server_is_shutting_down (in string server);
  // Used to tell the Implementation Repository that <server> is shutting
  // down.
};