EC_ProxySupplier.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // $Id: EC_ProxySupplier.inl 77001 2007-02-12 07:54:49Z johnnyw $
00004 
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 ACE_INLINE void
00008 TAO_EC_ProxyPushSupplier::suspend_connection_i (void)
00009 {
00010   this->suspended_ = 1;
00011 }
00012 
00013 ACE_INLINE void
00014 TAO_EC_ProxyPushSupplier::suspend_connection_locked (void)
00015 {
00016   ACE_GUARD_THROW_EX (
00017             ACE_Lock, ace_mon, *this->lock_,
00018             CORBA::INTERNAL ());
00019   // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ());
00020 
00021   this->suspend_connection_i ();
00022 }
00023 
00024 ACE_INLINE void
00025 TAO_EC_ProxyPushSupplier::resume_connection_i (void)
00026 {
00027   this->suspended_ = 0;
00028 }
00029 
00030 ACE_INLINE void
00031 TAO_EC_ProxyPushSupplier::resume_connection_locked (void)
00032 {
00033   ACE_GUARD_THROW_EX (
00034             ACE_Lock, ace_mon, *this->lock_,
00035             CORBA::INTERNAL ());
00036   // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ());
00037 
00038   this->resume_connection_i ();
00039 }
00040 
00041 ACE_INLINE CORBA::Boolean
00042 TAO_EC_ProxyPushSupplier::is_connected_i (void) const
00043 {
00044   return !CORBA::is_nil (this->consumer_.in ());
00045 }
00046 
00047 ACE_INLINE CORBA::Boolean
00048 TAO_EC_ProxyPushSupplier::is_connected (void) const
00049 {
00050   ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
00051 
00052   return this->is_connected_i ();
00053 }
00054 
00055 ACE_INLINE CORBA::Boolean
00056 TAO_EC_ProxyPushSupplier::is_suspended (void) const
00057 {
00058   ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
00059 
00060   return this->suspended_;
00061 }
00062 
00063 ACE_INLINE RtecEventComm::PushConsumer_ptr
00064 TAO_EC_ProxyPushSupplier::consumer (void) const
00065 {
00066   ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
00067   return RtecEventComm::PushConsumer::_duplicate (this->consumer_.in ());
00068 }
00069 
00070 ACE_INLINE void
00071 TAO_EC_ProxyPushSupplier::consumer_i (RtecEventComm::PushConsumer_ptr consumer)
00072 {
00073   this->consumer_ = consumer;
00074 }
00075 
00076 ACE_INLINE void
00077 TAO_EC_ProxyPushSupplier::consumer (RtecEventComm::PushConsumer_ptr consumer)
00078 {
00079   ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
00080 
00081   this->consumer_i (consumer);
00082 }
00083 
00084 ACE_INLINE const RtecEventChannelAdmin::ConsumerQOS&
00085 TAO_EC_ProxyPushSupplier::subscriptions (void) const
00086 {
00087   // @@ TODO There should be a better way to signal errors here.
00088   ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, this->qos_);
00089 
00090   return this->qos_;
00091 }
00092 
00093 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Tue Feb 2 17:44:05 2010 for TAO_RTEvent by  doxygen 1.4.7