2 * @file Distributor.idl
4 * @author Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
5 * @author William R. Otte <wotte@dre.vanderbilt.edu>
6 * @author Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
8 * Contains IDL definitions for the Distributor in the Publish/Subscribe Real-time CORBA
9 * Stock Quoter Service.
12 #ifndef QUOTER_DISTRIBUTOR_IDL
13 #define QUOTER_DISTRIBUTOR_IDL
16 #include
"tao/RTCORBA/RTCORBA_include.pidl"
20 exception Invalid_Subscription
25 * @class StockDistributor
26 * @brief Provides interfaces for stock distributor server.
28 interface StockDistributor
: Trigger
30 /// Event source operation to establish connectivity.
31 /// @param c An object reference to the consumer the distributor should notify
32 /// @returns A cookie used to identify the subscription.
33 Cookie subscribe_notifier
(in Stock
::StockNameConsumer c
,
34 in RTCORBA
::Priority priority
);
36 /// Opteration to discontinue connectivity.
37 /// @param ck The cookie that identifies the connection to be terminated.
38 Stock
::StockNameConsumer unsubscribe_notifier
(in Cookie ck
)
39 raises
(Invalid_Subscription
);
41 /// Factory operation to return StockQuoter object reference.
42 /// @param The cookie returned from the call to subscribe notifier.
43 /// This is used to control the priority that the Quoter runs at.
44 StockQuoter provide_quoter_info
(in Cookie ck
)
45 raises
(Invalid_Subscription
);
47 /// Controls rate of updates.
48 attribute
long notification_rate
;
50 /// Shutdown the object and terminate the application
51 oneway
void shutdown
();
55 * @class StockDistributorHome
56 * @brief Interface that aids in managing StockDistributor lifecycles.
58 interface StockDistributorHome
60 /// Create a StockDistributor object.
61 StockDistributor create
();