#include <Find_Worker_T.h>
Inheritance diagram for TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >:
Public Member Functions | |
TAO_Notify_Find_Worker_T (void) | |
Constructor. | |
TYPE * | find (const TAO_Notify_Object::ID id, CONTAINER &container) |
Find the Type. | |
INTERFACE_PTR | resolve (const TAO_Notify_Object::ID id, CONTAINER &container) |
Find and resolve to the Interface. | |
Protected Member Functions | |
void | work (TYPE *object) |
= TAO_ESF_Worker method | |
Protected Attributes | |
TAO_Notify_Object::ID | id_ |
The id we're looking for. | |
TYPE * | result_ |
The result. | |
Private Types | |
typedef TAO_Notify_Container_T< TYPE > | CONTAINER |
typedef TAO_ESF_Proxy_Collection< TYPE > | COLLECTION |
Definition at line 36 of file Find_Worker_T.h.
typedef TAO_ESF_Proxy_Collection<TYPE> TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::COLLECTION [private] |
Definition at line 39 of file Find_Worker_T.h.
typedef TAO_Notify_Container_T<TYPE> TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::CONTAINER [private] |
Definition at line 38 of file Find_Worker_T.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::TAO_Notify_Find_Worker_T | ( | void | ) |
TYPE * TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::find | ( | const TAO_Notify_Object::ID | id, | |
CONTAINER & | container | |||
) |
Find the Type.
Definition at line 21 of file Find_Worker_T.cpp.
References TAO_Notify_Container_T< TYPE >::collection(), TAO_ESF_Proxy_Collection< PROXY >::for_each(), TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::id_, and TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::result_.
Referenced by TAO_Notify_EventChannelFactory::find_proxy_consumer(), TAO_Notify_EventChannel::find_proxy_consumer(), TAO_Notify_EventChannelFactory::find_proxy_supplier(), and TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::resolve().
00022 { 00023 this->id_ = id; 00024 00025 container.collection ()->for_each (this); 00026 00027 return this->result_; 00028 }
INTERFACE_PTR TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::resolve | ( | const TAO_Notify_Object::ID | id, | |
CONTAINER & | container | |||
) |
Find and resolve to the Interface.
Definition at line 31 of file Find_Worker_T.cpp.
References TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::find(), TAO_Pseudo_Var_T< T >::in(), and TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::result_.
Referenced by TAO_Notify_EventChannelFactory::get_event_channel(), and TAO_Notify_EventChannel::get_supplieradmin().
00032 { 00033 this->find (id, container); 00034 00035 if (this->result_ == 0) 00036 throw EXCEPTION (); 00037 00038 CORBA::Object_var object = this->result_->ref (); 00039 00040 return INTERFACE::_narrow (object.in ()); 00041 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::work | ( | TYPE * | object | ) | [protected, virtual] |
= TAO_ESF_Worker method
Implements TAO_ESF_Worker< TYPE >.
Definition at line 8 of file Find_Worker_T.inl.
References TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::id_.
00009 { 00010 if (type->id () == this->id_) 00011 this->result_ = type; 00012 }
TAO_Notify_Object::ID TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::id_ [protected] |
The id we're looking for.
Definition at line 56 of file Find_Worker_T.h.
Referenced by TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::find(), and TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::work().
TYPE* TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::result_ [protected] |
The result.
Definition at line 59 of file Find_Worker_T.h.
Referenced by TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::find(), and TAO_Notify_Find_Worker_T< TYPE, INTERFACE, INTERFACE_PTR, EXCEPTION >::resolve().