TAO_AV_Default_Resource_Factory Class Reference

TAO AV Streams default resource factory The AV Streams resource factory loads the pluggable transport and flow protocol factories in the corresponding factory sets. More...

#include <default_resource.h>

Inheritance diagram for TAO_AV_Default_Resource_Factory:

Inheritance graph
[legend]
Collaboration diagram for TAO_AV_Default_Resource_Factory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_AV_Default_Resource_Factory (void)
 Constructor.

virtual ~TAO_AV_Default_Resource_Factory (void)
 Destructor.

Service Configurator Hooks
virtual int init (int argc, char *argv[])
 Dynamic linking hook.


Detailed Description

TAO AV Streams default resource factory The AV Streams resource factory loads the pluggable transport and flow protocol factories in the corresponding factory sets.

Definition at line 40 of file default_resource.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_AV_Default_Resource_Factory::TAO_AV_Default_Resource_Factory void   ) 
 

Constructor.

Definition at line 11 of file default_resource.cpp.

References ACE_DEBUG, LM_DEBUG, and TAO_debug_level.

00012 {
00013   if (TAO_debug_level > 0)
00014     ACE_DEBUG ((LM_DEBUG,
00015                 "TAO_AV_Default_Resource_Factory::TAO_AV_Default_Resource_Factory %d\n"));
00016 }

TAO_AV_Default_Resource_Factory::~TAO_AV_Default_Resource_Factory void   )  [virtual]
 

Destructor.

Definition at line 18 of file default_resource.cpp.

References ACE_DEBUG, ACE_Singleton< TYPE, ACE_LOCK >::instance(), LM_DEBUG, TAO_AV_Flow_ProtocolFactorySetItor, TAO_AV_TransportFactorySetItor, and TAO_debug_level.

00019 {
00020   TAO_AV_TransportFactorySetItor t_end = TAO_AV_CORE::instance ()->transport_factories ()->end (); 
00021   for (TAO_AV_TransportFactorySetItor tfiterator =
00022          TAO_AV_CORE::instance ()->transport_factories ()->begin ();
00023        tfiterator != t_end;
00024        ++tfiterator)
00025     delete *tfiterator;
00026   
00027   TAO_AV_CORE::instance ()->transport_factories ()->reset ();
00028 
00029   TAO_AV_Flow_ProtocolFactorySetItor fp_end = TAO_AV_CORE::instance ()->flow_protocol_factories ()->end (); 
00030   for (TAO_AV_Flow_ProtocolFactorySetItor pfiterator =
00031          TAO_AV_CORE::instance ()->flow_protocol_factories ()->begin ();
00032        pfiterator != fp_end;
00033        ++pfiterator)
00034     delete *pfiterator;
00035   
00036   TAO_AV_CORE::instance ()->flow_protocol_factories ()->reset ();
00037 
00038   if (TAO_debug_level > 0)
00039   ACE_DEBUG ((LM_DEBUG,
00040               "TAO_AV_Default_Resource_Factory::~TAO_AV_Default_Resource_Factory\n"));
00041 }


Member Function Documentation

int TAO_AV_Default_Resource_Factory::init int  argc,
char *  argv[]
[virtual]
 

Dynamic linking hook.

Implements TAO_AV_Resource_Factory.

Definition at line 44 of file default_resource.cpp.

References ACE_DEBUG, ACE_ERROR, ACE_NEW_RETURN, ACE_TEXT(), ACE_Unbounded_Set< T >::insert(), ACE_Singleton< TYPE, ACE_LOCK >::instance(), LM_DEBUG, LM_ERROR, ACE_OS::strcasecmp(), TAO_AV_Flow_ProtocolFactorySet, TAO_AV_TransportFactorySet, and TAO_debug_level.

00045 {
00046   if (TAO_debug_level > 0)
00047   ACE_DEBUG ((LM_DEBUG,
00048               "TAO_AV_Default_Resource_Factory::init\n"));
00049   
00050   int curarg = 0;
00051   
00052   for (curarg = 0; curarg < argc; ++curarg)
00053     {
00054       if (ACE_OS::strcasecmp (argv[curarg],
00055                               "-AVTransportFactory") == 0)
00056         {
00057           TAO_AV_TransportFactorySet *tset = TAO_AV_CORE::instance ()->transport_factories ();
00058           curarg++;
00059           if (curarg < argc)
00060             {
00061               TAO_AV_Transport_Item *item = 0;
00062               ACE_NEW_RETURN (item,
00063                               TAO_AV_Transport_Item (argv[curarg]),
00064                               -1);
00065               if (tset->insert (item) == -1)
00066                 ACE_ERROR ((LM_ERROR,
00067                             ACE_TEXT ("(%P|%t) Unable to add transport factories for %s: %p\n"),
00068                             argv[curarg]));
00069             }
00070         }
00071       else if (ACE_OS::strcasecmp (argv[curarg],
00072                                    "-AVFlowProtocolFactory") == 0)
00073         {
00074           TAO_AV_Flow_ProtocolFactorySet *fpset = TAO_AV_CORE::instance ()->flow_protocol_factories ();
00075           curarg++;
00076           if (curarg < argc)
00077             {
00078               TAO_AV_Flow_Protocol_Item *item = 0;
00079               ACE_NEW_RETURN (item,
00080                               TAO_AV_Flow_Protocol_Item (argv[curarg]),
00081                               -1);
00082               if (fpset->insert (item) == -1)
00083                 ACE_ERROR ((LM_ERROR,
00084                             ACE_TEXT ("(%P|%t) Unable to add flow protocol factories for %s: %p\n"),
00085                             argv[curarg]));
00086             }
00087         }
00088       
00089     }
00090   return 0;
00091 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:46:59 2006 for TAO_AV by doxygen 1.3.6