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

//=============================================================================
/**
 *  @file   Pollable.pidl
 *
 *  $Id$
 *
 * This file is used to generate the code in Pollable{C,S}.{h,cpp}
 */
//=============================================================================

#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 get_ready_pollable (in unsigned long timeout)
      raises (NoPossiblePollable);

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

    unsigned short number_left ();
  };
};

#endif /* TAO_POLLABLE_PIDL */