blob: 9b60a941d7aaacf7c519597b3fe50f89e34f1a41 (
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
|
// $Id$
///////////////////////////////////////////////////////////////////////////////
/**
* \file Supports_Test.idl
*
* \author George Edwards <g.edwards@vanderbilt.edu>
*
* This file contain definitions of the valuetypes and interfaces of
* Supports_Test, a test of TAO's OBV capabilities. Specifically, Supports_Test
* checks proper operation of the following features:
*
* -Valuetypes that support concrete interfaces:
* Using the same valuetype implementation, Supports_Test creates both
* valuetypes and object references, passes them as parameters, and
* invokes both local and remote calls.
* -ORB::register_value_factory () return values:
* Supports_Test checks the return values of register_value_factory () to
* ensure compliance with the spec.
*/
///////////////////////////////////////////////////////////////////////////////
module Supports_Test
{
valuetype Node;
typedef sequence<Node> Node_List;
/**
*
* This valuetype is the basic building block of the vt_graph valuetype,
* defined below. Some of these operations and state members are not
* currently used in the test.
*/
valuetype Node
{
void print ();
public string name_;
private long weight_;
private short degree_;
private Node_List neighbors_;
void change_weight (in long new_weight);
void add_edge (in Node neighbor);
void remove_edge (in Node neighbor);
factory create ();
};
/**
* \interface graph
*
* This interface contains the operations we will invoke on vt_graph
* valuetypes as well as graph object references. The implementations of
* these operations will be defined in vt_graph. All graph object refs will
* be vt_graphs under the hood.
*/
interface graph
{
long size ();
void add_node (in string name);
void print ();
};
valuetype vt_graph supports graph
{
private Node_List nodes_;
factory create ();
};
/**
* \interface test
*
* This interface contains the operations that will perform the tests.
*/
interface test
{
void pass_vt_graph_in (in vt_graph vt_graph_param);
void pass_obj_graph_in (in graph graph_param);
void pass_vt_graph_out (out vt_graph vt_graph_param);
void pass_obj_graph_out (out graph graph_param);
void pass_vt_graph_inout (inout vt_graph vt_graph_param);
void pass_obj_graph_inout (inout graph graph_param);
void start ();
oneway void finish ();
};
};
|