Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / docs / tutorials / Quoter / RTCORBA / Distributor.idl
blob322d20b3d466e274f5ca4fd56d0f5ff4d2e8c874
1 /**
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
15 #include "Common.idl"
16 #include "tao/RTCORBA/RTCORBA_include.pidl"
18 module Stock
20 exception Invalid_Subscription
24 /**
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 ();
54 /**
55 * @class StockDistributorHome
56 * @brief Interface that aids in managing StockDistributor lifecycles.
58 interface StockDistributorHome
60 /// Create a StockDistributor object.
61 StockDistributor create ();
65 #endif