EC_Default_ProxyConsumer.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file   EC_Default_ProxyConsumer.h
00005  *
00006  *  EC_Default_ProxyConsumer.h,v 1.10 2006/03/14 06:14:25 jtc Exp
00007  *
00008  *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
00009  *  @author Marina Spivak (marina@atdesk.com)
00010  *  @author Jason Smith (jason@atdesk.com)
00011  *
00012  */
00013 
00014 #ifndef TAO_EC_DEFAULT_PROXYCONSUMER_H
00015 #define TAO_EC_DEFAULT_PROXYCONSUMER_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "orbsvcs/RtecEventChannelAdminS.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "orbsvcs/Event/EC_ProxyConsumer.h"
00026 
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028 
00029 class TAO_EC_Event_Channel_Base;
00030 class TAO_EC_ProxyPushSupplier;
00031 class TAO_EC_Supplier_Filter;
00032 
00033 /**
00034  * @class TAO_EC_Default_ProxyPushConsumer
00035  *
00036  * @brief implements RtecEventChannelAdmin::ProxyPushConsumer interface.
00037  *
00038  */
00039 class TAO_RTEvent_Serv_Export TAO_EC_Default_ProxyPushConsumer :
00040   public POA_RtecEventChannelAdmin::ProxyPushConsumer,
00041   public TAO_EC_ProxyPushConsumer
00042 {
00043 public:
00044 
00045   /// Constructor...
00046   TAO_EC_Default_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel);
00047 
00048   /// Destructor...
00049   virtual ~TAO_EC_Default_ProxyPushConsumer (void);
00050 
00051  virtual void activate (
00052      RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy
00053      ACE_ENV_ARG_DECL)
00054     ACE_THROW_SPEC ((CORBA::SystemException));
00055 
00056   // = The RtecEventChannelAdmin::ProxyPushConsumer methods...
00057   virtual void connect_push_supplier (
00058                 RtecEventComm::PushSupplier_ptr push_supplier,
00059                 const RtecEventChannelAdmin::SupplierQOS& qos
00060                 ACE_ENV_ARG_DECL)
00061       ACE_THROW_SPEC ((CORBA::SystemException,
00062                       RtecEventChannelAdmin::AlreadyConnected));
00063   virtual void push (const RtecEventComm::EventSet& event
00064                      ACE_ENV_ARG_DECL)
00065       ACE_THROW_SPEC ((CORBA::SystemException));
00066   virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
00067       ACE_THROW_SPEC ((CORBA::SystemException));
00068 
00069   // = The Servant methods
00070   virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL);
00071   virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL);
00072   virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
00073 
00074 private:
00075 
00076   virtual PortableServer::ObjectId
00077          object_id (ACE_ENV_SINGLE_ARG_DECL)
00078     ACE_THROW_SPEC ((CORBA::SystemException));
00079 };
00080 
00081 TAO_END_VERSIONED_NAMESPACE_DECL
00082 
00083 #include /**/ "ace/post.h"
00084 
00085 #endif /* TAO_EC_DEFAULT_PROXYCONSUMER_H */

Generated on Thu Nov 9 13:11:06 2006 for TAO_RTEvent by doxygen 1.3.6