summaryrefslogtreecommitdiff
path: root/TAO/tao/Pollable.pidl
blob: eaaf015a9a67c277025c376245ad1614271ee2ba (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
// -*- IDL -*-

//=============================================================================
/**
 *  @file   Pollable.pidl
 *
 *  $Id$
 *
 * 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:
 *
 *   tao_idl
 *     -o orig -St -Gp -Gd -Ge 1 -GT
 *     -Wb,export_macro=TAO_Export
 *     -Wb,export_include="tao/corbafwd.h"
 *     -Wb,pre_include="ace/pre.h"
 *     -Wb,post_include="ace/post.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.
 *
 *
 */
//=============================================================================

#ifndef TAO_POLLABLE_PIDL
#define TAO_POLLABLE_PIDL

#pragma prefix "omg.org"

module CORBA
{
  local interface PollableSet;

  local interface Pollable 
  {
    boolean is_ready (in unsigned long timeout);
    PollableSet create_pollable_set ();
  };

  local interface DIIPollable : Pollable
  {
  };

  local interface PollableSet 
  {
    exception NoPossiblePollable {};
    exception UnknownPollable {};

    DIIPollable create_dii_pollable ();

    void add_pollable (in Pollable potential);

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

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

    unsigned short number_left ();
  };
};

#endif /* TAO_POLLABLE_PIDL */