int TAO_AV_Default_Resource_Factory::init (int argc, ACE_TCHAR *argv[]) { if (TAO_debug_level > 0) ORBSVCS_DEBUG ((LM_DEBUG, "TAO_AV_Default_Resource_Factory::init\n")); int curarg = 0; for (curarg = 0; curarg < argc; ++curarg) { if (ACE_OS::strcasecmp (argv[curarg], ACE_TEXT("-AVTransportFactory")) == 0) { TAO_AV_TransportFactorySet *tset = TAO_AV_CORE::instance ()->transport_factories (); curarg++; if (curarg < argc) { TAO_AV_Transport_Item *item = 0; ACE_NEW_RETURN (item, TAO_AV_Transport_Item (ACE_TEXT_ALWAYS_CHAR(argv[curarg])), -1); if (tset->insert (item) == -1) ORBSVCS_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) Unable to add transport factories for %s: %p\n"), argv[curarg])); } } else if (ACE_OS::strcasecmp (argv[curarg], ACE_TEXT("-AVFlowProtocolFactory")) == 0) { TAO_AV_Flow_ProtocolFactorySet *fpset = TAO_AV_CORE::instance ()->flow_protocol_factories (); curarg++; if (curarg < argc) { TAO_AV_Flow_Protocol_Item *item = 0; ACE_NEW_RETURN (item, TAO_AV_Flow_Protocol_Item (ACE_TEXT_ALWAYS_CHAR(argv[curarg])), -1); if (fpset->insert (item) == -1) ORBSVCS_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) Unable to add flow protocol factories for %s: %p\n"), argv[curarg])); } } } return 0; }
int TAO_AV_Core::load_default_transport_factories (void) { const char *udp_factory_str = "UDP_Factory"; const char *tcp_factory_str = "TCP_Factory"; TAO_AV_Transport_Factory *udp_factory = 0; TAO_AV_Transport_Item *udp_item = 0; udp_factory = ACE_Dynamic_Service<TAO_AV_Transport_Factory>::instance (udp_factory_str); if (udp_factory == 0) { if (TAO_debug_level) ORBSVCS_ERROR ((LM_WARNING, "(%P|%t) WARNING - No %s found in Service Repository." " Using default instance.\n", "UDP Factory")); ACE_NEW_RETURN (udp_factory, TAO_AV_UDP_Factory, -1); } else udp_factory->ref_count = 1; ACE_NEW_RETURN (udp_item, TAO_AV_Transport_Item ("UDP_Factory"), -1); udp_item->factory (udp_factory); this->transport_factories_.insert (udp_item); TAO_AV_Transport_Factory *tcp_factory = 0; TAO_AV_Transport_Item *tcp_item = 0; tcp_factory = ACE_Dynamic_Service<TAO_AV_Transport_Factory>::instance (tcp_factory_str); if (tcp_factory == 0) { if (TAO_debug_level) ORBSVCS_ERROR ((LM_WARNING, "(%P|%t) WARNING - No %s found in Service Repository." " Using default instance.\n", "TCP Factory")); ACE_NEW_RETURN (tcp_factory, TAO_AV_TCP_Factory, -1); } else tcp_factory->ref_count = 1; ACE_NEW_RETURN (tcp_item, TAO_AV_Transport_Item ("TCP_Factory"), -1); tcp_item->factory (tcp_factory); this->transport_factories_.insert (tcp_item); #if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) const char *udp_qos_factory_str = "UDP_QoS_Factory"; TAO_AV_Transport_Factory *udp_qos_factory = 0; TAO_AV_Transport_Item *udp_qos_item = 0; udp_qos_factory = ACE_Dynamic_Service<TAO_AV_Transport_Factory>::instance (udp_qos_factory_str); if (udp_qos_factory == 0) { if (TAO_debug_level) ORBSVCS_ERROR ((LM_WARNING, "(%P|%t) WARNING - No %s found in Service Repository." " Using default instance.\n", "UDP QoS Factory")); ACE_NEW_RETURN (udp_qos_factory, TAO_AV_UDP_QoS_Factory, -1); } else udp_qos_factory->ref_count = 1; ACE_NEW_RETURN (udp_qos_item, TAO_AV_Transport_Item ("UDP_QoS_Factory"), -1); udp_qos_item->factory (udp_qos_factory); this->transport_factories_.insert (udp_qos_item); #endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ #if defined ACE_HAS_SCTP const char *sctp_seq_factory_str = "SCTP_SEQ_Factory"; TAO_AV_Transport_Factory *sctp_seq_factory = 0; TAO_AV_Transport_Item *sctp_seq_item = 0; sctp_seq_factory = ACE_Dynamic_Service<TAO_AV_Transport_Factory>::instance (sctp_seq_factory_str); if (sctp_seq_factory == 0) { if (TAO_debug_level) ORBSVCS_ERROR ((LM_WARNING, "(%P|%t) WARNING - No %s found in Service Repository." " Using default instance.\n", "SCTP SEQ Factory")); ACE_NEW_RETURN (sctp_seq_factory, TAO_AV_SCTP_SEQ_Factory, -1); } else sctp_seq_factory->ref_count = 1; ACE_NEW_RETURN (sctp_seq_item, TAO_AV_Transport_Item ("SCTP_SEQ_Factory"), -1); sctp_seq_item->factory (sctp_seq_factory); this->transport_factories_.insert (sctp_seq_item); #endif /* ACE_HAS_SCTP */ return 0; }