00001 // $Id: EC_Trivial_Supplier_Filter.cpp 76589 2007-01-25 18:04:11Z elliott_c $ 00002 00003 #include "orbsvcs/Event/EC_Trivial_Supplier_Filter.h" 00004 #include "orbsvcs/Event/EC_Event_Channel_Base.h" 00005 #include "orbsvcs/Event/EC_ConsumerAdmin.h" 00006 #include "orbsvcs/Event/EC_ProxySupplier.h" 00007 #include "orbsvcs/Event/EC_QOS_Info.h" 00008 #include "orbsvcs/Event/EC_Scheduling_Strategy.h" 00009 #include "orbsvcs/Event/EC_ProxyConsumer.h" // @@ MSVC 6 bug 00010 00011 ACE_RCSID(Event, EC_Trivial_Supplier_Filter, "$Id: EC_Trivial_Supplier_Filter.cpp 76589 2007-01-25 18:04:11Z elliott_c $") 00012 00013 // **************************************************************** 00014 00015 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 TAO_EC_Trivial_Supplier_Filter:: 00018 TAO_EC_Trivial_Supplier_Filter (TAO_EC_Event_Channel_Base* ec) 00019 : event_channel_ (ec) 00020 { 00021 } 00022 00023 void 00024 TAO_EC_Trivial_Supplier_Filter::bind (TAO_EC_ProxyPushConsumer*) 00025 { 00026 } 00027 00028 void 00029 TAO_EC_Trivial_Supplier_Filter::unbind (TAO_EC_ProxyPushConsumer*) 00030 { 00031 } 00032 00033 void 00034 TAO_EC_Trivial_Supplier_Filter::connected (TAO_EC_ProxyPushSupplier*) 00035 { 00036 } 00037 00038 void 00039 TAO_EC_Trivial_Supplier_Filter::reconnected (TAO_EC_ProxyPushSupplier*) 00040 { 00041 } 00042 00043 void 00044 TAO_EC_Trivial_Supplier_Filter::disconnected (TAO_EC_ProxyPushSupplier*) 00045 { 00046 } 00047 00048 void 00049 TAO_EC_Trivial_Supplier_Filter::shutdown (void) 00050 { 00051 } 00052 00053 void 00054 TAO_EC_Trivial_Supplier_Filter::push (const RtecEventComm::EventSet& event, 00055 TAO_EC_ProxyPushConsumer *consumer) 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 } 00063 00064 void 00065 TAO_EC_Trivial_Supplier_Filter::push_scheduled_event (RtecEventComm::EventSet &event, 00066 const TAO_EC_QOS_Info &event_info) 00067 { 00068 TAO_EC_Filter_Worker worker (event, event_info); 00069 this->event_channel_->for_each_consumer (&worker); 00070 } 00071 00072 CORBA::ULong 00073 TAO_EC_Trivial_Supplier_Filter::_incr_refcnt (void) 00074 { 00075 return 1; 00076 } 00077 00078 CORBA::ULong 00079 TAO_EC_Trivial_Supplier_Filter::_decr_refcnt (void) 00080 { 00081 return 1; 00082 } 00083 00084 // **************************************************************** 00085 00086 TAO_EC_Trivial_Supplier_Filter_Builder:: 00087 TAO_EC_Trivial_Supplier_Filter_Builder (TAO_EC_Event_Channel_Base *ec) 00088 : filter_ (ec) 00089 { 00090 } 00091 00092 TAO_EC_Supplier_Filter* 00093 TAO_EC_Trivial_Supplier_Filter_Builder::create ( 00094 RtecEventChannelAdmin::SupplierQOS&) 00095 { 00096 return &this->filter_; 00097 } 00098 00099 void 00100 TAO_EC_Trivial_Supplier_Filter_Builder::destroy ( 00101 TAO_EC_Supplier_Filter*) 00102 { 00103 } 00104 00105 TAO_END_VERSIONED_NAMESPACE_DECL