TAO_Notify_ProxyConsumer_T< SERVANT_TYPE > Class Template Reference

#include <ProxyConsumer_T.h>

Inheritance diagram for TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >:

Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Notify_ProxyConsumer_T (void)
 Constuctor.

 ~TAO_Notify_ProxyConsumer_T ()
 Destructor.

virtual void admin_types_changed (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed)
 Notification of subscriptions set at the admin.

virtual CosNotifyChannelAdmin::SupplierAdmin_ptr MyAdmin () throw ( CORBA::SystemException )
virtual CosNotification::EventTypeSeqobtain_subscription_types (CosNotifyChannelAdmin::ObtainInfoMode mode) throw ( CORBA::SystemException )
virtual void offer_change (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed) throw ( CORBA::SystemException, CosNotifyComm::InvalidEventType )

template<class SERVANT_TYPE>
class TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >


Constructor & Destructor Documentation

template<class SERVANT_TYPE>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::TAO_Notify_ProxyConsumer_T void   ) 
 

Constuctor.

Definition at line 14 of file ProxyConsumer_T.cpp.

00015 {
00016 }

template<class SERVANT_TYPE>
TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::~TAO_Notify_ProxyConsumer_T  ) 
 

Destructor.

Definition at line 19 of file ProxyConsumer_T.cpp.

00020 {
00021 }


Member Function Documentation

template<class SERVANT_TYPE>
void TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::admin_types_changed const CosNotification::EventTypeSeq added,
const CosNotification::EventTypeSeq removed
[virtual]
 

Notification of subscriptions set at the admin.

Implements TAO_Notify_Proxy.

Definition at line 24 of file ProxyConsumer_T.cpp.

References ACE_ENV_ARG_PARAMETER, CosNotification::EventTypeSeq, and TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::offer_change().

00027 {
00028   this->offer_change (added, removed ACE_ENV_ARG_PARAMETER);
00029 }

template<class SERVANT_TYPE>
CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::MyAdmin  )  throw ( CORBA::SystemException ) [virtual]
 

Definition at line 32 of file ProxyConsumer_T.cpp.

References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, and ACE_ENV_SINGLE_ARG_PARAMETER.

00036 {
00037   CosNotifyChannelAdmin::SupplierAdmin_var ret;
00038 
00039   CORBA::Object_var object = this->supplier_admin().ref (ACE_ENV_SINGLE_ARG_PARAMETER);
00040   ACE_CHECK_RETURN (ret._retn ());
00041 
00042   ret = CosNotifyChannelAdmin::SupplierAdmin::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
00043 
00044   return ret._retn ();
00045 }

template<class SERVANT_TYPE>
CosNotification::EventTypeSeq * TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::obtain_subscription_types CosNotifyChannelAdmin::ObtainInfoMode  mode  )  throw ( CORBA::SystemException ) [virtual]
 

Definition at line 72 of file ProxyConsumer_T.cpp.

References ACE_ENV_ARG_PARAMETER.

00076 {
00077   return
00078     this->obtain_types (mode, this->event_manager().subscription_types ()
00079                         ACE_ENV_ARG_PARAMETER);
00080 }

template<class SERVANT_TYPE>
void TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::offer_change const CosNotification::EventTypeSeq added,
const CosNotification::EventTypeSeq removed
throw ( CORBA::SystemException, CosNotifyComm::InvalidEventType ) [virtual]
 

Definition at line 48 of file ProxyConsumer_T.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, ACE_GUARD_THROW_EX, CosNotification::EventTypeSeq, and TAO_SYNCH_MUTEX.

Referenced by TAO_Notify_ProxyConsumer_T< SERVANT_TYPE >::admin_types_changed().

00053 {
00054   TAO_Notify_EventTypeSeq seq_added (added);
00055   TAO_Notify_EventTypeSeq seq_removed (removed);
00056 
00057   {
00058     ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
00059                         CORBA::INTERNAL ());
00060     ACE_CHECK;
00061 
00062     this->subscribed_types_.add_and_remove (seq_added, seq_removed);
00063   }
00064 
00065   this->event_manager().offer_change (this,
00066                                       seq_added,
00067                                       seq_removed
00068                                       ACE_ENV_ARG_PARAMETER);
00069 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:32:45 2006 for TAO_CosNotification by doxygen 1.3.6