summaryrefslogtreecommitdiff
path: root/TAO/tests/OBV/Forward/TreeController.idl
blob: cdeffe9830b5230c18f3e6e4d0cdb668ff1d4f4a (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
// $Id$

valuetype BaseNode;

// This TreeController is probably a silly idea.
// All I want from it is a valutype forward declared
// in one file and fully defined in another.

valuetype TreeController
{
  public BaseNode root;
};

interface Test
{
  // Returnes the reflected copy of its argument.
  TreeController reflect (in TreeController tc);

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

// HOWEVER it is illegal to not include the full definition of the
// forward declared BaseNode by the end of the compilation unit.
// (The code generation of the _copy_value() function for TreeController
// requires to know how to downcast the "root" member to it's corresponding
// "BaseNode" type; this requires full knowledge of the enclosed type.)
#include <TreeBase.idl>