blob: ffb804c309101f0dfb7786d4da4df6cb8916dceb (
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
// $Id$
// ==========================================================================
//
// = LIBRARY
// orbsvcs
//
// = FILENAME
// CosNotifyComm.idl
//
// = DESCRIPTION
// Part of the Notification Service
//
// = AUTHOR
// Pradeep Gore <pradeep@cs.wustl.edu>
//
// ==========================================================================
#ifndef _COS_NOTIFY_COMM_IDL_
#define _COS_NOTIFY_COMM_IDL_
#pragma prefix "omg.org"
#include "CosNotification.idl"
#include "CosEventComm.idl"
module CosNotifyComm {
exception InvalidEventType { CosNotification::EventType type; };
interface NotifyPublish {
void offer_change (
in CosNotification::EventTypeSeq added,
in CosNotification::EventTypeSeq removed )
raises ( InvalidEventType );
}; // NotifyPublish
interface NotifySubscribe {
void subscription_change(
in CosNotification::EventTypeSeq added,
in CosNotification::EventTypeSeq removed )
raises ( InvalidEventType );
}; // NotifySubscribe
interface PushConsumer :
NotifyPublish,
CosEventComm::PushConsumer {
}; // PushConsumer
interface PullConsumer :
NotifyPublish,
CosEventComm::PullConsumer {
}; // PullConsumer
interface PullSupplier :
NotifySubscribe,
CosEventComm::PullSupplier {
}; // PullSupplier
interface PushSupplier :
NotifySubscribe,
CosEventComm::PushSupplier {
};
interface StructuredPushConsumer : NotifyPublish {
void push_structured_event(
in CosNotification::StructuredEvent notification)
raises(CosEventComm::Disconnected);
void disconnect_structured_push_consumer();
}; // StructuredPushConsumer
interface StructuredPullConsumer : NotifyPublish {
void disconnect_structured_pull_consumer();
}; // StructuredPullConsumer
interface StructuredPullSupplier : NotifySubscribe {
CosNotification::StructuredEvent pull_structured_event()
raises(CosEventComm::Disconnected);
CosNotification::StructuredEvent try_pull_structured_event(
out boolean has_event)
raises(CosEventComm::Disconnected);
void disconnect_structured_pull_supplier();
}; // StructuredPullSupplier
interface StructuredPushSupplier : NotifySubscribe {
void disconnect_structured_push_supplier();
}; // StructuredPushSupplier
interface SequencePushConsumer : NotifyPublish {
void push_structured_events(
in CosNotification::EventBatch notifications)
raises(CosEventComm::Disconnected);
void disconnect_sequence_push_consumer();
}; // SequencePushConsumer
interface SequencePullConsumer : NotifyPublish {
void disconnect_sequence_pull_consumer();
}; // SequencePullConsumer
interface SequencePullSupplier : NotifySubscribe {
CosNotification::EventBatch pull_structured_events(
in long max_number )
raises(CosEventComm::Disconnected);
CosNotification::EventBatch try_pull_structured_events(
in long max_number,
out boolean has_event)
raises(CosEventComm::Disconnected);
void disconnect_sequence_pull_supplier();
}; // SequencePullSupplier
interface SequencePushSupplier : NotifySubscribe {
void disconnect_sequence_push_supplier();
}; // SequencePushSupplier
}; // CosNotifyComm
#endif /* _COS_NOTIFY_COMM_IDL_ */
|