summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h130
1 files changed, 0 insertions, 130 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h
deleted file mode 100644
index 0517dd28344..00000000000
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-//
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS Real-time Event Channel
-//
-// = FILENAME
-// EC_ProxySupplier
-//
-// = AUTHOR
-// Carlos O'Ryan (coryan@cs.wustl.edu)
-//
-// = DESCRIPTION
-// Implement the RtecEventChannelAdmin::ProxyPushSupplier interface,
-// remember that this class is used to communicate with a
-// PushConsumer, so, in effect, this is the ambassador for a
-// consumer inside the event channel.
-//
-// = CREDITS
-// Based on previous work by Tim Harrison (harrison@cs.wustl.edu)
-// and other members of the DOC group.
-// More details can be found in:
-// http://www.cs.wustl.edu/~schmidt/oopsla.ps.gz
-// http://www.cs.wustl.edu/~schmidt/JSAC-98.ps.gz
-//
-//
-// ============================================================================
-
-#ifndef TAO_EC_PROXYSUPPLIER_H
-#define TAO_EC_PROXYSUPPLIER_H
-
-#include "orbsvcs/Event/EC_Filter.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-class TAO_EC_Dispatching;
-class TAO_EC_Filter_Builder;
-
-class TAO_EC_ProxyPushSupplier : public TAO_EC_Filter
-{
- // = TITLE
- // ProxyPushSupplier
- //
- // = DESCRIPTION
- // Implements the ProxyPushSupplier interface, i.e. the object
- // used to communicate with a particular consumer.
- //
- // = MEMORY MANAGMENT
- // This object is reference counted.
- // It does not assume ownership of the TAO_EC_Dispatching object.
- // It makes a copy of the ConsumerQOS and the consumer object
- // reference.
- //
- // = LOCKING
- // No provisions for locking, access must be serialized
- // externally.
- //
- // = TODO
- // We don't need to provide a trivial filter, the object itself
- // could short-circuit the filter() ---> push() cycle when the EC
- // is properly configured, we need to explore this...
- //
-public:
- TAO_EC_ProxyPushSupplier (TAO_EC_ConsumerAdmin* consumer_admin,
- TAO_EC_Dispatching* dispatching,
- TAO_EC_Filter_Builder* builder);
- // constructor...
-
- virtual ~TAO_EC_ProxyPushSupplier (void);
- // destructor...
-
- CORBA::Boolean is_connected (void) const;
- // Return 0 if no consumer is connected...
-
- CORBA::Boolean is_suspended (void) const;
- // Return 1 if it is suspended.
-
- RtecEventComm::PushConsumer_ptr consumer (void) const;
- // Return the consumer object reference. It returns nil() if it has
- // not connected yet.
-
- const RtecEventChannelAdmin::ConsumerQOS& subscriptions (void) const;
- // The QoS (subscription) used to connect to the EC.
-
- // = The RtecEventChannelAdmin::ProxyPushSupplier methods...
- virtual void connect_push_consumer (
- RtecEventComm::PushConsumer_ptr push_consumer,
- const RtecEventChannelAdmin::ConsumerQOS& qos,
- CORBA::Environment &);
- virtual void disconnect_push_supplier (CORBA::Environment &);
- virtual void suspend_connection (CORBA::Environment &);
- virtual void resume_connection (CORBA::Environment &);
-
- // = The TAO_EC_Filter methods, only push() is implemented...
- virtual int filter (const RtecEventComm::EventSet& event,
- const TAO_EC_QOS_Info& qos_info,
- CORBA::Environment& env);
- virtual void push (const RtecEventComm::EventSet& event,
- const TAO_EC_QOS_Info& qos_info,
- CORBA::Environment& env);
- virtual void clear (void);
- virtual CORBA::ULong max_event_size (void) const;
- virtual void event_ids (RtecEventComm::EventHeaderSet& headerset);
-
-private:
- TAO_EC_ConsumerAdmin* consumer_admin_;
- // The consumer admin, used for activation and memory managment.
-
- TAO_EC_Dispatching *dispatching_;
- // We delegate on this object to handle
-
- RtecEventComm::PushConsumer_var consumer_;
- // The consumer....
-
- CORBA::Boolean suspended_;
- // Is this consumer suspended?
-
- RtecEventChannelAdmin::ConsumerQOS qos_;
- // The subscription and QoS information...
-};
-
-#if defined (__ACE_INLINE__)
-#include "EC_ProxySupplier.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* TAO_EC_PROXYSUPPLIER_H */