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
|
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">
<erlref>
<header>
<copyright>
<year>1997</year>
<year>2011</year>
<holder>Ericsson AB, All Rights Reserved</holder>
</copyright>
<legalnotice>
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
The Initial Developer of the Original Code is Ericsson AB.
</legalnotice>
<title>CosEventChannelAdmin_­ProxyPullSupplier</title>
<shorttitle>..._ProxyPullSupplier</shorttitle>
<prepared></prepared>
<responsible></responsible>
<docno></docno>
<approved>Lars Thors</approved>
<checked></checked>
<date>1997-11-13</date>
<rev>PA1</rev>
<file>CosEventChannelAdmin_ProxyPullSupplier.xml</file>
</header>
<module>CosEventChannelAdmin_ProxyPullSupplier</module>
<modulesummary>This module implements a ProxyPullSupplier interface which acts as a middleman between pull consumer and the event channel.</modulesummary>
<description>
<p>The ProxyPullSupplier interface defines the second step for connecting pull consumers to the event channel. A proxy supplier is similar to a normal supplier,
but includes an additional method for connecting a consumer to the proxy
supplier.</p>
<p>To get access to all definitions, e.g., exceptions,
include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p>
<p>Any object that possesses an object reference that supports the ProxyPullSupplier
interface can perform the following operations:</p>
</description>
<funcs>
<func>
<name>connect_pull_consumer(Object, PullConsumer) -> Return</name>
<fsummary>Connect the pull consumer to the proxy pull supplier</fsummary>
<type>
<v>Object = #objref</v>
<v>PullConsumer = #objref of PullConsumer type</v>
<v>Return = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}</v>
</type>
<desc>
<p>This operation connects PullConsumer object to the ProxyPullSupplier object.
A nil object reference can be passed to this operation. If so a channel
cannot invoke the disconnect_pull_consumer operation on the consumer;
the consumer may be disconnected from the channel without being
informed. If the ProxyPullSupplier is already connected to a
PullConsumer, then the <c><![CDATA[CosEventChannelAdmin_AlreadyConnected]]></c>
exception is raised.</p>
</desc>
</func>
<func>
<name>disconnect_pull_supplier(Object) -> Return</name>
<fsummary>Disconnect the ProxyPullSupplier object from the event channel.</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = ok</v>
</type>
<desc>
<p>This operation disconnects proxy pull supplier from the event channel.
It sends a notification about the loss of the connection to the pull consumer
attached to it, unless nil object reference was passed at the connection
time.</p>
</desc>
</func>
<func>
<name>pull(Object) -> Return</name>
<fsummary>Transmit data from suppliers to consumers.</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = any</v>
</type>
<desc>
<p>This operation blocks until the event data is available or the
<c><![CDATA[CosEventComm_Disconnected]]></c> exception is raised.
It returns the event data to the consumer.</p>
</desc>
</func>
<func>
<name>try_pull(Object) -> Return</name>
<fsummary>Transmit data from suppliers to consumers.</fsummary>
<type>
<v>Object = #objref</v>
<v>Return = {any, bool()}</v>
</type>
<desc>
<p>This operation does not block: if the event data is available, it returns
the event data and sets the data availability flag to true; otherwise
it returns a long with an undefined value and sets the data availability to
false. If the event communication has already been disconnected, the
<c><![CDATA[CosEventComm_Disconnected]]></c> exception is raised.</p>
</desc>
</func>
</funcs>
</erlref>
|