diff options
Diffstat (limited to 'TAO/orbsvcs/examples/RtEC/Kokyu/Supplier.h')
-rw-r--r-- | TAO/orbsvcs/examples/RtEC/Kokyu/Supplier.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/TAO/orbsvcs/examples/RtEC/Kokyu/Supplier.h b/TAO/orbsvcs/examples/RtEC/Kokyu/Supplier.h new file mode 100644 index 00000000000..8222337af57 --- /dev/null +++ b/TAO/orbsvcs/examples/RtEC/Kokyu/Supplier.h @@ -0,0 +1,83 @@ +/* -*- C++ -*- */ +// $Id$ +// +// ============================================================================ +// +// = LIBRARY +// ORBSVCS Real-time Event Channel examples +// +// = FILENAME +// Supplier +// +// = AUTHOR +// Carlos O'Ryan (coryan@cs.wustl.edu) +// +// ============================================================================ + +#ifndef SUPPLIER_H +#define SUPPLIER_H + +#include "orbsvcs/RtecEventCommS.h" +#include "orbsvcs/Event/EC_Event_Channel.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +class Supplier : public POA_RtecEventComm::PushSupplier +{ + // = TITLE + // Simple supplier object + // + // = DESCRIPTION + // This class is a supplier of events. + // It simply register for two event typesone event type + // The class is just a helper to simplify common tasks in EC + // tests, such as subscribing for a range of events, disconnecting + // from the EC, informing the driver of shutdown messages, etc. + // + // There are several ways to connect and disconnect this class, + // and it is up to the driver program to use the right one. + // +public: + Supplier (RtecEventComm::EventSourceID id, + const RtecEventChannelAdmin::ProxyPushConsumer_ptr consumer_proxy); + // Constructor + + // = The RtecEventComm::PushSupplier methods + + virtual void disconnect_push_supplier (void); + // The skeleton methods. + + void timeout_occured (void); + +private: + RtecEventComm::EventSourceID id_; + const RtecEventChannelAdmin::ProxyPushConsumer_ptr consumer_proxy_; +}; + +class Timeout_Consumer : public POA_RtecEventComm::PushConsumer +{ + // = TITLE + // Timer consumer object + // + // = DESCRIPTION + // This class is a consumer of timeout events from EC. + // It registers for timeout event with EC and calls + // the + // +public: + Timeout_Consumer (Supplier * supplier_impl); + // Constructor + + // = The RtecEventComm::PushConsumer methods + + virtual void push (const RtecEventComm::EventSet& events); + virtual void disconnect_push_consumer (void); + // The skeleton methods. + +private: + Supplier *supplier_impl_; +}; + +#endif /* SUPPLIER_H */ |