Proxy_T.cpp

Go to the documentation of this file.
00001 // $Id: Proxy_T.cpp 77001 2007-02-12 07:54:49Z johnnyw $
00002 
00003 #include "orbsvcs/Notify/Proxy_T.h"
00004 
00005 #ifndef TAO_Notify_PROXY_T_CPP
00006 #define TAO_Notify_PROXY_T_CPP
00007 
00008 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00009 
00010 template <class SERVANT_TYPE>
00011 TAO_Notify_Proxy_T<SERVANT_TYPE>::TAO_Notify_Proxy_T (void)
00012 {
00013   // Any object that is used by the POA gets a reference count of 1 at construction
00014   this->_incr_refcnt();
00015 }
00016 
00017 template <class SERVANT_TYPE>
00018 TAO_Notify_Proxy_T<SERVANT_TYPE>::~TAO_Notify_Proxy_T ()
00019 {
00020 }
00021 
00022 template <class SERVANT_TYPE> PortableServer::Servant
00023 TAO_Notify_Proxy_T<SERVANT_TYPE>::servant (void)
00024 {
00025   return this;
00026 }
00027 
00028 template <class SERVANT_TYPE> void
00029 TAO_Notify_Proxy_T<SERVANT_TYPE>::_add_ref (void)
00030 {
00031   this->_incr_refcnt ();
00032 }
00033 
00034 template <class SERVANT_TYPE> void
00035 TAO_Notify_Proxy_T<SERVANT_TYPE>::_remove_ref (void)
00036 {
00037   this->_decr_refcnt ();
00038 }
00039 
00040 template <class SERVANT_TYPE> void
00041 TAO_Notify_Proxy_T<SERVANT_TYPE>::validate_event_qos (const CosNotification::QoSProperties & /*required_qos*/, CosNotification::NamedPropertyRangeSeq_out /*available_qos*/)
00042 {
00043   throw CORBA::NO_IMPLEMENT ();
00044 }
00045 
00046 template <class SERVANT_TYPE> CosNotification::QoSProperties*
00047 TAO_Notify_Proxy_T<SERVANT_TYPE>::get_qos (void)
00048 {
00049   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00050                       CORBA::INTERNAL ());
00051 
00052   return this->TAO_Notify_Object::get_qos ();
00053 }
00054 
00055 template <class SERVANT_TYPE> void
00056 TAO_Notify_Proxy_T<SERVANT_TYPE>::set_qos (const CosNotification::QoSProperties & qos)
00057 {
00058   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00059                       CORBA::INTERNAL ());
00060 
00061   this->TAO_Notify_Object::set_qos (qos);
00062 }
00063 
00064 template <class SERVANT_TYPE> void
00065 TAO_Notify_Proxy_T<SERVANT_TYPE>::validate_qos (
00066                                             const CosNotification::QoSProperties & /*required_qos*/,
00067                                             CosNotification::NamedPropertyRangeSeq_out /*available_qos*/
00068     )
00069 {
00070   throw CORBA::NO_IMPLEMENT ();
00071 }
00072 
00073 template <class SERVANT_TYPE> CosNotifyFilter::FilterID
00074 TAO_Notify_Proxy_T<SERVANT_TYPE>::add_filter (CosNotifyFilter::Filter_ptr new_filter)
00075 {
00076   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00077                       CORBA::INTERNAL ());
00078 
00079   CosNotifyFilter::FilterID fid =
00080     this->filter_admin_.add_filter (new_filter);
00081   this->self_change ();
00082   return fid;
00083 }
00084 
00085 template <class SERVANT_TYPE> void
00086 TAO_Notify_Proxy_T<SERVANT_TYPE>::remove_filter (
00087     CosNotifyFilter::FilterID filter
00088   )
00089 {
00090   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00091                       CORBA::INTERNAL ());
00092 
00093   this->filter_admin_.remove_filter (filter);
00094 }
00095 
00096 template <class SERVANT_TYPE> CosNotifyFilter::Filter_ptr
00097 TAO_Notify_Proxy_T<SERVANT_TYPE>::get_filter (CosNotifyFilter::FilterID filter)
00098 {
00099   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00100                       CORBA::INTERNAL ());
00101 
00102   return this->filter_admin_.get_filter (filter);
00103 }
00104 
00105 template <class SERVANT_TYPE> CosNotifyFilter::FilterIDSeq*
00106 TAO_Notify_Proxy_T<SERVANT_TYPE>::get_all_filters (void)
00107 {
00108   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00109                       CORBA::INTERNAL ());
00110 
00111   return this->filter_admin_.get_all_filters ();
00112 }
00113 
00114 template <class SERVANT_TYPE> void
00115 TAO_Notify_Proxy_T<SERVANT_TYPE>::remove_all_filters (void)
00116 {
00117   ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00118                       CORBA::INTERNAL ());
00119 
00120   this->filter_admin_.remove_all_filters ();
00121 }
00122 
00123 TAO_END_VERSIONED_NAMESPACE_DECL
00124 
00125 #endif /* TAO_Notify_PROXY_T_CPP */

Generated on Tue Feb 2 17:45:29 2010 for TAO_CosNotification by  doxygen 1.4.7