00001 // $Id: EC_Event_Channel.cpp 71526 2006-03-14 06:14:35Z jtc $ 00002 00003 #include "orbsvcs/Event/EC_Event_Channel.h" 00004 #include "orbsvcs/Event/EC_Default_Factory.h" 00005 #include "ace/Dynamic_Service.h" 00006 00007 ACE_RCSID(Event, EC_Event_Channel, "$Id: EC_Event_Channel.cpp 71526 2006-03-14 06:14:35Z jtc $") 00008 00009 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00010 00011 TAO_EC_Event_Channel:: 00012 TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes& attr, 00013 TAO_EC_Factory* factory, 00014 int own_factory) 00015 : TAO_EC_Event_Channel_Base (attr, factory, own_factory) 00016 { 00017 if (this->factory () == 0) 00018 { 00019 this->factory ( 00020 ACE_Dynamic_Service<TAO_EC_Factory>::instance ("EC_Factory"), 00021 0); 00022 00023 if (this->factory () == 0) 00024 { 00025 TAO_EC_Factory *f = 0; 00026 ACE_NEW (f, 00027 TAO_EC_Default_Factory); 00028 this->factory (f, 1); 00029 } 00030 } 00031 this->scheduler_ = 00032 CORBA::Object::_duplicate (attr.scheduler); 00033 00034 this->create_strategies (); 00035 } 00036 00037 TAO_END_VERSIONED_NAMESPACE_DECL