summaryrefslogtreecommitdiff
path: root/TAO/tao/Pollable.pidl
blob: b70d3f561d74868e781d975872df4d56b30aacf7 (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
//
// $Id$
//
// ================================================================
//
// = LIBRARY
//   TAO
//
// = FILENAME
//   Policy.pidl
//
// = DESCRIPTION
//   This file was used to generate the code in Pollable{C,S,S_T}.{h,i,cpp}
//
//   The command used to generate code from this file is:
//
//   $ACE_ROOT/TAO/TAO_IDL/tao_idl -o tmp -Ge 1 -DNO_VALUE \
//      -Wb,export_macro=TAO_Export
//      -Wb,export_include="tao/corbafwd.h" \
//      Pollable.pidl
//
//   after the file is generated a patch must be applied.  The patch
//   fixes the interface repository IDs, disables the code under
//   certain configurations, and eliminates cycles in the include
//   dependencies.  Those changes are required because the generated
//   code is part of the TAO library, it hardly makes any sense to
//   change the IDL compiler to support changes that are very
//   occasional.
//
// ================================================================

#pragma prefix "omg.org"


// We should declare this stuff in the CORBA module, but then we
// cannot support platforms that lack namespaces.
// Instead we prefix all the names with CORBA_, then we add a number
// of typedefs in corbafwd.h so it looks like they are in the CORBA
// module.  Finally we modify the generated code to have all the right
// interface repository ids.
//
// @@ module CORBA
//    {

local interface CORBA_PollableSet;

local interface CORBA_Pollable {
  boolean is_ready(in unsigned long timeout);

  CORBA_PollableSet create_pollable_set( );
};

local interface CORBA_DIIPollable : CORBA_Pollable { };

local interface CORBA_PollableSet {

  exception NoPossiblePollable { };
  exception UnknownPollable { };

  CORBA_DIIPollable create_dii_pollable();

  void add_pollable(in CORBA_Pollable potential );

  CORBA_Pollable poll(in unsigned long timeout)
    raises( NoPossiblePollable );

  void remove(in CORBA_Pollable potential )
    raises( UnknownPollable );

  unsigned short number_left( );
};

#pragma prefix ""