File: CosNotifyComm.idl

package info (click to toggle)
omniorb-dfsg 4.3.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,172 kB
  • sloc: cpp: 115,843; python: 24,962; ansic: 13,414; sh: 2,665; makefile: 40
file content (123 lines) | stat: -rw-r--r-- 3,001 bytes parent folder | download | duplicates (11)
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
//File: CosNotifyComm.idl
//Part of the Notification Service

#ifndef _COS_NOTIFY_COMM_IDL_
#define _COS_NOTIFY_COMM_IDL_

// omniORB specific pragmas to insert extra includes into the stub header.
#pragma hh #include "COS_sysdep.h"

#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_ */