summaryrefslogtreecommitdiff
path: root/TAO/tests/Client_Leaks/Test.idl
blob: c7c4ee2abf28c5e17755a5db0f1c744be43f3dd3 (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
//
// $Id$
//

module Test
{
  /// Forward declare the Process interface
  interface Process;

  /// The process factory cannot create a new process
  exception Spawn_Failed {};

  /// A factory for processes
  /**
   *  The client creates multiple processes using this interface, then
   * it tries to crash the process and verify that it can work
   * correctly in that scenario.
   */
  interface Process_Factory
  {
    /// Create a new process and return its object reference
    Process create_new_process () raises (Spawn_Failed);

    /// Empty method, used to validate the connection
    void noop ();

    /// Shutdown the process factory
    oneway void shutdown ();
  };

  /// An interface to communicate and shutdown a process
  interface Process
  {
    /// Return the process id
    long get_process_id ();

    /// Shutdown the process
    oneway void shutdown ();
  };

  /// Used by the Process Factory to receive the IOR of newly created
  /// processes
  interface Startup_Callback
  {
    void started (in Process the_process);
  };
};