#include <MulticastLoader.h>
Public Member Functions | |
virtual int | init (int argc, ACE_TCHAR *argv[]) |
Definition at line 23 of file MulticastLoader.h.
int OpenDDS::DCPS::MulticastLoader::init | ( | int | argc, | |
ACE_TCHAR * | argv[] | |||
) | [virtual] |
Reimplemented from ACE_Shared_Object.
Definition at line 34 of file MulticastLoader.cpp.
References ACE_TEXT(), OpenDDS::DCPS::TransportRegistry::create_inst(), OpenDDS::DCPS::TransportRegistry::DEFAULT_CONFIG_NAME, OpenDDS::DCPS::TransportRegistry::DEFAULT_INST_PREFIX, OpenDDS::DCPS::TransportRegistry::get_config(), OpenDDS::DCPS::RcHandle< T >::in(), LM_ERROR, OpenDDS::DCPS::TransportRegistry::register_type(), and TheTransportRegistry.
00035 { 00036 static bool initialized(false); 00037 00038 if (initialized) return 0; // already initialized 00039 00040 TransportRegistry* registry = TheTransportRegistry; 00041 registry->register_type(make_rch<MulticastType>()); 00042 TransportConfig_rch cfg = 00043 registry->get_config(TransportRegistry::DEFAULT_CONFIG_NAME); 00044 00045 TransportInst_rch default_unrel = 00046 registry->create_inst(TransportRegistry::DEFAULT_INST_PREFIX 00047 + std::string("0410_MCAST_UNRELIABLE"), 00048 MULTICAST_NAME); 00049 MulticastInst* mi = dynamic_cast<MulticastInst*>(default_unrel.in()); 00050 if (!mi) { 00051 ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("(%P|%t) MulticastLoader::init:") 00052 ACE_TEXT(" failed to obtain MulticastInst.\n")), -1); 00053 } 00054 mi->reliable_ = false; 00055 cfg->sorted_insert(default_unrel); 00056 00057 TransportInst_rch default_rel = 00058 registry->create_inst(TransportRegistry::DEFAULT_INST_PREFIX 00059 + std::string("0420_MCAST_RELIABLE"), MULTICAST_NAME); 00060 cfg->sorted_insert(default_rel); 00061 00062 initialized = true; 00063 00064 return 0; 00065 }