00001 // -*- C++ -*- 00002 // 00003 // EC_Kokyu_Dispatching.i,v 1.5 2005/11/10 06:47:23 ossama Exp 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 // **************************************************************** 00008 00009 ACE_INLINE 00010 TAO_EC_Kokyu_Shutdown_Command:: 00011 TAO_EC_Kokyu_Shutdown_Command (ACE_Allocator*) 00012 : Kokyu::Dispatch_Command () 00013 { 00014 } 00015 00016 // **************************************************************** 00017 00018 ACE_INLINE 00019 TAO_EC_Kokyu_Push_Command::TAO_EC_Kokyu_Push_Command ( 00020 TAO_EC_ProxyPushSupplier* proxy, 00021 RtecEventComm::PushConsumer_ptr consumer, 00022 RtecEventComm::EventSet& event, 00023 ACE_Allocator* allocator) 00024 : Kokyu::Dispatch_Command (0,allocator), 00025 proxy_ (proxy), 00026 consumer_ (RtecEventComm::PushConsumer::_duplicate (consumer)) 00027 { 00028 // 00029 // Efficient copy, steal the buffer from <event> 00030 // We cannot do this on the initialization because get_buffer() 00031 // could get called first, effectively setting maximum() and 00032 // length() to 0! 00033 // 00034 CORBA::ULong maximum = event.maximum (); 00035 CORBA::ULong length = event.length (); 00036 RtecEventComm::Event* buffer = event.get_buffer (1); 00037 event_.replace (maximum, length, buffer, 1); 00038 00039 this->proxy_->_incr_refcnt (); 00040 } 00041 00042 TAO_END_VERSIONED_NAMESPACE_DECL