00001 // -*- C++ -*- 00002 // 00003 // EC_ObserverStrategy.i,v 1.9 2005/11/10 06:47:23 ossama Exp 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE 00008 TAO_EC_Null_ObserverStrategy::TAO_EC_Null_ObserverStrategy (void) 00009 { 00010 } 00011 00012 // **************************************************************** 00013 00014 ACE_INLINE 00015 TAO_EC_Basic_ObserverStrategy::Observer_Entry::Observer_Entry (void) 00016 : handle (0) 00017 { 00018 } 00019 00020 ACE_INLINE 00021 TAO_EC_Basic_ObserverStrategy::Observer_Entry:: 00022 Observer_Entry (RtecEventChannelAdmin::Observer_Handle h, 00023 RtecEventChannelAdmin::Observer_ptr o) 00024 : handle (h), 00025 observer (o) 00026 { 00027 } 00028 00029 // **************************************************************** 00030 00031 ACE_INLINE int 00032 TAO_EC_Basic_ObserverStrategy::Header_Compare:: 00033 operator () (const RtecEventComm::EventHeader& lhs, 00034 const RtecEventComm::EventHeader& rhs) const 00035 { 00036 if (lhs.source == rhs.source) 00037 return lhs.type < rhs.type; 00038 return lhs.source < rhs.source; 00039 } 00040 00041 // **************************************************************** 00042 00043 ACE_INLINE 00044 TAO_EC_Basic_ObserverStrategy:: 00045 TAO_EC_Basic_ObserverStrategy (TAO_EC_Event_Channel_Base* ec, 00046 ACE_Lock* lock) 00047 : event_channel_ (ec), 00048 lock_ (lock), 00049 handle_generator_ (1) 00050 { 00051 } 00052 00053 // **************************************************************** 00054 00055 ACE_INLINE 00056 TAO_EC_Reactive_ObserverStrategy:: 00057 TAO_EC_Reactive_ObserverStrategy (TAO_EC_Event_Channel_Base* ec, 00058 ACE_Lock* lock) 00059 : TAO_EC_Basic_ObserverStrategy (ec, lock) 00060 { 00061 } 00062 00063 // **************************************************************** 00064 00065 ACE_INLINE 00066 TAO_EC_Accumulate_Supplier_Headers:: 00067 TAO_EC_Accumulate_Supplier_Headers (TAO_EC_Basic_ObserverStrategy::Headers &h) 00068 : headers_ (h) 00069 { 00070 } 00071 00072 // **************************************************************** 00073 00074 ACE_INLINE 00075 TAO_EC_Accumulate_Consumer_Headers:: 00076 TAO_EC_Accumulate_Consumer_Headers (TAO_EC_Basic_ObserverStrategy::Headers &h) 00077 : headers_ (h) 00078 { 00079 } 00080 00081 TAO_END_VERSIONED_NAMESPACE_DECL