00001
00002
00003
00004
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 ACE_INLINE void
00008 TAO_EC_ProxyPushSupplier::suspend_connection_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
00009 ACE_THROW_SPEC ((CORBA::SystemException))
00010 {
00011 this->suspended_ = 1;
00012 }
00013
00014 ACE_INLINE void
00015 TAO_EC_ProxyPushSupplier::suspend_connection_locked (ACE_ENV_SINGLE_ARG_DECL)
00016 ACE_THROW_SPEC ((CORBA::SystemException))
00017 {
00018 ACE_GUARD_THROW_EX (
00019 ACE_Lock, ace_mon, *this->lock_,
00020 CORBA::INTERNAL ());
00021
00022 ACE_CHECK;
00023
00024 this->suspend_connection_i (ACE_ENV_SINGLE_ARG_PARAMETER);
00025 }
00026
00027 ACE_INLINE void
00028 TAO_EC_ProxyPushSupplier::resume_connection_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
00029 ACE_THROW_SPEC ((CORBA::SystemException))
00030 {
00031 this->suspended_ = 0;
00032 }
00033
00034 ACE_INLINE void
00035 TAO_EC_ProxyPushSupplier::resume_connection_locked (ACE_ENV_SINGLE_ARG_DECL)
00036 ACE_THROW_SPEC ((CORBA::SystemException))
00037 {
00038 ACE_GUARD_THROW_EX (
00039 ACE_Lock, ace_mon, *this->lock_,
00040 CORBA::INTERNAL ());
00041
00042 ACE_CHECK;
00043
00044 this->resume_connection_i (ACE_ENV_SINGLE_ARG_PARAMETER);
00045 }
00046
00047 ACE_INLINE CORBA::Boolean
00048 TAO_EC_ProxyPushSupplier::is_connected_i (void) const
00049 {
00050 return !CORBA::is_nil (this->consumer_.in ());
00051 }
00052
00053 ACE_INLINE CORBA::Boolean
00054 TAO_EC_ProxyPushSupplier::is_connected (void) const
00055 {
00056 ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
00057
00058 return this->is_connected_i ();
00059 }
00060
00061 ACE_INLINE CORBA::Boolean
00062 TAO_EC_ProxyPushSupplier::is_suspended (void) const
00063 {
00064 ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
00065
00066 return this->suspended_;
00067 }
00068
00069 ACE_INLINE RtecEventComm::PushConsumer_ptr
00070 TAO_EC_ProxyPushSupplier::consumer (void) const
00071 {
00072 ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
00073 return RtecEventComm::PushConsumer::_duplicate (this->consumer_.in ());
00074 }
00075
00076 ACE_INLINE void
00077 TAO_EC_ProxyPushSupplier::consumer_i (RtecEventComm::PushConsumer_ptr consumer)
00078 {
00079 this->consumer_ = consumer;
00080 }
00081
00082 ACE_INLINE void
00083 TAO_EC_ProxyPushSupplier::consumer (RtecEventComm::PushConsumer_ptr consumer)
00084 {
00085 ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
00086
00087 this->consumer_i (consumer);
00088 }
00089
00090 ACE_INLINE const RtecEventChannelAdmin::ConsumerQOS&
00091 TAO_EC_ProxyPushSupplier::subscriptions (void) const
00092 {
00093
00094 ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, this->qos_);
00095
00096 return this->qos_;
00097 }
00098
00099 TAO_END_VERSIONED_NAMESPACE_DECL