2 //=============================================================================
6 * @author Carlos O'Ryan (coryan@cs.wustl.edu)
8 //=============================================================================
14 #include "orbsvcs/CosEventCommS.h"
15 #include "orbsvcs/CosEventChannelAdminS.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #pragma warning(disable:4250)
29 /// Simple consumer object
31 : public POA_CosEventComm::PushConsumer
35 RND_Consumer (RND_Driver
*driver
);
37 void push (const CORBA::Any
&event
);
38 void disconnect_push_consumer ();
40 void connect (CosEventChannelAdmin::ConsumerAdmin_ptr admin
);
48 CosEventChannelAdmin::ProxyPushSupplier_var proxy_
;
51 TAO_SYNCH_MUTEX lock_
;
55 RND_Consumer::RND_Consumer (RND_Driver
*driver
)
60 // ****************************************************************
62 // ****************************************************************
64 /// Simple supplier object
66 : public POA_CosEventComm::PushSupplier
67 , public ACE_Task_Base
73 void connect (CosEventChannelAdmin::SupplierAdmin_ptr admin
);
76 /// Push a single event...
77 void push_new_event ();
78 void push (CORBA::Any
&event
);
80 virtual void disconnect_push_supplier ();
87 CosEventChannelAdmin::ProxyPushConsumer_var proxy_
;
90 TAO_SYNCH_MUTEX lock_
;
94 RND_Supplier::RND_Supplier ()
98 // ****************************************************************
106 int run (int argc
, ACE_TCHAR
*argv
[]);
108 /// The main timer has expired
109 void timer (const CORBA::Any
&e
);
111 /// One of the consumers has received an event
112 void event (const CORBA::Any
&e
);
115 RND_Driver (const RND_Driver
&);
116 RND_Driver
& operator= (const RND_Driver
&);
120 RND_Supplier supplier_
;
122 /// Number of suppliers
126 RND_Supplier
**suppliers_
;
128 /// Number of consumers
132 RND_Consumer
**consumers_
;
134 /// Maximum recursion
137 CosEventChannelAdmin::ConsumerAdmin_var consumer_admin_
;
138 CosEventChannelAdmin::SupplierAdmin_var supplier_admin_
;
141 #if defined(_MSC_VER)
143 #endif /* _MSC_VER */
145 #endif /* EC_RANDOM_H */