TAO_EC_Trivial_Supplier_Filter Class Reference

A null filtering strategy. More...

#include <EC_Trivial_Supplier_Filter.h>

Inheritance diagram for TAO_EC_Trivial_Supplier_Filter:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Trivial_Supplier_Filter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Trivial_Supplier_Filter (TAO_EC_Event_Channel_Base *ec)
 Constructor.
virtual void bind (TAO_EC_ProxyPushConsumer *consumer)
virtual void unbind (TAO_EC_ProxyPushConsumer *consumer)
virtual void connected (TAO_EC_ProxyPushSupplier *supplier)
virtual void reconnected (TAO_EC_ProxyPushSupplier *supplier)
virtual void disconnected (TAO_EC_ProxyPushSupplier *supplier)
virtual void shutdown (void)
 The event channel is shutting down.
virtual void push (const RtecEventComm::EventSet &event, TAO_EC_ProxyPushConsumer *consumer)
virtual void push_scheduled_event (RtecEventComm::EventSet &event, const TAO_EC_QOS_Info &event_info)
virtual CORBA::ULong _decr_refcnt (void)
virtual CORBA::ULong _incr_refcnt (void)

Private Attributes

TAO_EC_Event_Channel_Baseevent_channel_
 The event channel, used to locate the set of consumers.

Detailed Description

A null filtering strategy.

This strategy does no filtering, it is useful for backends of the CosEventChannel, testing and broadcasters; it uses the ConsumerAdmin to find all the consumers and pushes the event to all of them.

Definition at line 47 of file EC_Trivial_Supplier_Filter.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Trivial_Supplier_Filter::TAO_EC_Trivial_Supplier_Filter ( TAO_EC_Event_Channel_Base ec  ) 

Constructor.

Definition at line 18 of file EC_Trivial_Supplier_Filter.cpp.

00019   :  event_channel_ (ec)
00020 {
00021 }


Member Function Documentation

CORBA::ULong TAO_EC_Trivial_Supplier_Filter::_decr_refcnt ( void   )  [virtual]

Implements TAO_EC_Supplier_Filter.

Definition at line 79 of file EC_Trivial_Supplier_Filter.cpp.

00080 {
00081   return 1;
00082 }

CORBA::ULong TAO_EC_Trivial_Supplier_Filter::_incr_refcnt ( void   )  [virtual]

Increment and decrement the reference count, locking must be provided by the user.

Implements TAO_EC_Supplier_Filter.

Definition at line 73 of file EC_Trivial_Supplier_Filter.cpp.

00074 {
00075   return 1;
00076 }

void TAO_EC_Trivial_Supplier_Filter::bind ( TAO_EC_ProxyPushConsumer consumer  )  [virtual]

Whenever a ProxyPushConsumer is initialized it calls this method to inform the Supplier_Filter of its identity. Strategies that do not keep ProxyPushConsumer specific information, or that are shared between multiple ProxyPushConsumers can ignore this message.

Implements TAO_EC_Supplier_Filter.

Definition at line 24 of file EC_Trivial_Supplier_Filter.cpp.

00025 {
00026 }

void TAO_EC_Trivial_Supplier_Filter::connected ( TAO_EC_ProxyPushSupplier supplier  )  [virtual]

Concrete implementations can use this methods to keep track of the consumers interested in this events.

Implements TAO_EC_Supplier_Filter.

Definition at line 34 of file EC_Trivial_Supplier_Filter.cpp.

00035 {
00036 }

void TAO_EC_Trivial_Supplier_Filter::disconnected ( TAO_EC_ProxyPushSupplier supplier  )  [virtual]

Implements TAO_EC_Supplier_Filter.

Definition at line 44 of file EC_Trivial_Supplier_Filter.cpp.

00045 {
00046 }

void TAO_EC_Trivial_Supplier_Filter::push ( const RtecEventComm::EventSet event,
TAO_EC_ProxyPushConsumer consumer 
) [virtual]

The ProxyPushConsumer delegates on this class to actually send the event.

Implements TAO_EC_Supplier_Filter.

Definition at line 54 of file EC_Trivial_Supplier_Filter.cpp.

References event_channel_, TAO_EC_Scheduling_Strategy::schedule_event(), and TAO_EC_Event_Channel_Base::scheduling_strategy().

00056 {
00057   TAO_EC_Scheduling_Strategy* scheduling_strategy =
00058     this->event_channel_->scheduling_strategy ();
00059   scheduling_strategy->schedule_event (event,
00060                                        consumer,
00061                                        this);
00062 }

void TAO_EC_Trivial_Supplier_Filter::push_scheduled_event ( RtecEventComm::EventSet event,
const TAO_EC_QOS_Info event_info 
) [virtual]

Events are first scheduled by the TAO_EC_Scheduling_Strategy, and then pushed through this class again.

Implements TAO_EC_Supplier_Filter.

Definition at line 65 of file EC_Trivial_Supplier_Filter.cpp.

References event_channel_, and TAO_EC_Event_Channel_Base::for_each_consumer().

00067 {
00068   TAO_EC_Filter_Worker worker (event, event_info);
00069   this->event_channel_->for_each_consumer (&worker);
00070 }

void TAO_EC_Trivial_Supplier_Filter::reconnected ( TAO_EC_ProxyPushSupplier supplier  )  [virtual]

Implements TAO_EC_Supplier_Filter.

Definition at line 39 of file EC_Trivial_Supplier_Filter.cpp.

00040 {
00041 }

void TAO_EC_Trivial_Supplier_Filter::shutdown ( void   )  [virtual]

The event channel is shutting down.

Implements TAO_EC_Supplier_Filter.

Definition at line 49 of file EC_Trivial_Supplier_Filter.cpp.

00050 {
00051 }

void TAO_EC_Trivial_Supplier_Filter::unbind ( TAO_EC_ProxyPushConsumer consumer  )  [virtual]

Wheneve a ProxyPushConsumer is about to be destroyed it calls this method to inform the Supplier_Filter that it should release any resources related to it. Supplier_Filter strategies that are bound to a particular ProxyConsumer can use this opportunity to destroy themselves; filter strategies that do not keep ProxyPushConsumer specific information can simply ignore the message.

Implements TAO_EC_Supplier_Filter.

Definition at line 29 of file EC_Trivial_Supplier_Filter.cpp.

00030 {
00031 }


Member Data Documentation

TAO_EC_Event_Channel_Base* TAO_EC_Trivial_Supplier_Filter::event_channel_ [private]

The event channel, used to locate the set of consumers.

Definition at line 69 of file EC_Trivial_Supplier_Filter.h.

Referenced by push(), and push_scheduled_event().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:44:37 2010 for TAO_RTEvent by  doxygen 1.4.7