Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tests / OBV / Supports / Supports_Test.idl
blobd1b5fe9a49498be6780d0f3a9f024b44bc9d57a9
1 ///////////////////////////////////////////////////////////////////////////////
2 /**
3 * \file Supports_Test.idl
5 * \author George Edwards <g.edwards@vanderbilt.edu>
7 * This file contain definitions of the valuetypes and interfaces of
8 * Supports_Test, a test of TAO's OBV capabilities. Specifically, Supports_Test
9 * checks proper operation of the following features:
11 * -Valuetypes that support concrete interfaces:
12 * Using the same valuetype implementation, Supports_Test creates both
13 * valuetypes and object references, passes them as parameters, and
14 * invokes both local and remote calls.
15 * -ORB::register_value_factory () return values:
16 * Supports_Test checks the return values of register_value_factory () to
17 * ensure compliance with the spec.
19 ///////////////////////////////////////////////////////////////////////////////
21 module Supports_Test
24 valuetype Node;
26 typedef sequence<Node> Node_List;
28 /**
30 * This valuetype is the basic building block of the vt_graph valuetype,
31 * defined below. Some of these operations and state members are not
32 * currently used in the test.
34 valuetype Node
37 void print ();
39 public string name_;
40 private long weight_;
41 private short degree_;
42 private Node_List neighbors_;
44 void change_weight (in long new_weight);
45 void add_edge (in Node neighbor);
46 void remove_edge (in Node neighbor);
48 factory create ();
52 /**
53 * \interface graph
55 * This interface contains the operations we will invoke on vt_graph
56 * valuetypes as well as graph object references. The implementations of
57 * these operations will be defined in vt_graph. All graph object refs will
58 * be vt_graphs under the hood.
60 interface graph
63 long size ();
64 void add_node (in string name);
65 void print ();
69 valuetype vt_graph supports graph
72 private Node_List nodes_;
73 factory create ();
77 /**
78 * \interface test
80 * This interface contains the operations that will perform the tests.
82 interface test
85 void pass_vt_graph_in (in vt_graph vt_graph_param);
86 void pass_obj_graph_in (in graph graph_param);
87 void pass_vt_graph_out (out vt_graph vt_graph_param);
88 void pass_obj_graph_out (out graph graph_param);
89 void pass_vt_graph_inout (inout vt_graph vt_graph_param);
90 void pass_obj_graph_inout (inout graph graph_param);
91 void start ();
92 oneway void finish ();