summaryrefslogtreecommitdiff
path: root/TAO/tests/Portable_Interceptors/Dynamic/test.idl
blob: e46baae147326214d12f076a9ea91c338092c7d4 (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
// -*- IDL -*-
// $Id$

// ===================================================================
/**
 *  @file   test.idl
 *
 *  $Id$
 *
 *  Simple IDL file to test portable interceptor support.
 *
 *  @author Nanbor Wang <nanbor@cs.wustl.edu>
 *  @author Ossama Othman <ossama@dre.vanderbilt.edu>
 */
// ===================================================================

module Test_Interceptors
{
  exception Silly {};

  /**
   * @class Visual
   *
   * @brief Test interface for checking interceptor visually.
   *
   * Test interface for checking interceptor visually.
   */
  interface Visual
  {
    /**
     * @class VarLenStruct
     *
     * @brief Variable length structure
     *
     * This structure is designed to exercise memory management in the
     * @c PortableInterceptor::RequestInfo::result() method.
     */
    struct VarLenStruct
    {
      octet  flag;
      string message;
    };

    /// Normal operation.
    void normal (in long arg, out string msg);

    /// Normal operation with a return val.
    long calculate (in long one, in long two);
    
    readonly attribute VarLenStruct the_structure;

    /// Throws a user exception.
    void user () raises (Silly);

    /// Throws a system exception.
    void system ();

    /// Shutdown the ORB.
    oneway void shutdown ();
  };
};