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, 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_Ex< T, C >::insert(), ACE_Singleton< TYPE, ACE_LOCK >::instance(), LM_DEBUG, LM_ERROR, ACE_OS::strcasecmp(), 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 Tue Feb 2 17:48:00 2010 for TAO_AV by  doxygen 1.4.7