#include <ETCL_FilterFactory.h>
Inheritance diagram for TAO_Notify_ETCL_FilterFactory:
Public Member Functions | |
TAO_Notify_ETCL_FilterFactory (void) | |
Constructor. | |
virtual | ~TAO_Notify_ETCL_FilterFactory () |
Destructor. | |
virtual CosNotifyFilter::FilterFactory_ptr | create (PortableServer::POA_ptr filter_poa) |
= TAO_Notify_FilterFactory methods. | |
virtual CosNotifyFilter::Filter_ptr | create_filter (const char *constraint_grammar) |
= CosNotifyFilter::FilterFactory methods | |
virtual CosNotifyFilter::MappingFilter_ptr | create_mapping_filter (const char *constraint_grammar, const CORBA::Any &default_value) |
Protected Attributes | |
PortableServer::POA_var | filter_poa_ |
The POA in which to activate the Filters. |
Definition at line 40 of file ETCL_FilterFactory.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Notify_ETCL_FilterFactory::TAO_Notify_ETCL_FilterFactory | ( | void | ) |
Constructor.
Definition at line 11 of file ETCL_FilterFactory.cpp.
00011 : 00012 filter_poa_ (PortableServer::POA::_nil ()) 00013 { 00014 }
TAO_Notify_ETCL_FilterFactory::~TAO_Notify_ETCL_FilterFactory | ( | ) | [virtual] |
CosNotifyFilter::FilterFactory_ptr TAO_Notify_ETCL_FilterFactory::create | ( | PortableServer::POA_ptr | filter_poa | ) | [virtual] |
= TAO_Notify_FilterFactory methods.
Implements TAO_Notify_FilterFactory.
Definition at line 21 of file ETCL_FilterFactory.cpp.
References filter_poa_, and TAO_Pseudo_Var_T< T >::in().
00022 { 00023 this->filter_poa_ = PortableServer::POA::_duplicate(filter_poa); // save the filter poa. 00024 00025 PortableServer::ServantBase_var servant_var (this); 00026 00027 PortableServer::ObjectId_var id = filter_poa->activate_object (this); 00028 00029 CORBA::Object_var object = filter_poa->id_to_reference (id.in ()); 00030 00031 CosNotifyFilter::FilterFactory_var filter = CosNotifyFilter::FilterFactory::_narrow (object.in ()); 00032 00033 return filter._retn(); 00034 }
CosNotifyFilter::Filter_ptr TAO_Notify_ETCL_FilterFactory::create_filter | ( | const char * | constraint_grammar | ) | [virtual] |
= CosNotifyFilter::FilterFactory methods
Definition at line 37 of file ETCL_FilterFactory.cpp.
References ACE_NEW_THROW_EX, filter_poa_, TAO_Pseudo_Var_T< T >::in(), and ACE_OS::strcmp().
00038 { 00039 // @@: change to "ExTCL" later. 00040 if (ACE_OS::strcmp (constraint_grammar, "TCL") != 0 && 00041 ACE_OS::strcmp (constraint_grammar, "ETCL") != 0 && 00042 ACE_OS::strcmp (constraint_grammar, "EXTENDED_TCL") != 0) 00043 throw CosNotifyFilter::InvalidGrammar (); 00044 00045 // Create the RefCounted servant. 00046 TAO_Notify_ETCL_Filter* filter = 0; 00047 00048 ACE_NEW_THROW_EX (filter, 00049 TAO_Notify_ETCL_Filter (this->filter_poa_.in ()), 00050 CORBA::NO_MEMORY ()); 00051 00052 PortableServer::ServantBase_var filter_var (filter); 00053 00054 PortableServer::ObjectId_var oid = 00055 this->filter_poa_->activate_object (filter); 00056 00057 CORBA::Object_var obj = 00058 this->filter_poa_->id_to_reference (oid.in ()); 00059 00060 return CosNotifyFilter::Filter::_narrow (obj.in ()); 00061 }
CosNotifyFilter::MappingFilter_ptr TAO_Notify_ETCL_FilterFactory::create_mapping_filter | ( | const char * | constraint_grammar, | |
const CORBA::Any & | default_value | |||
) | [virtual] |
The POA in which to activate the Filters.
Definition at line 67 of file ETCL_FilterFactory.h.
Referenced by create(), and create_filter().