default_resource.cpp

Go to the documentation of this file.
00001 // $Id: default_resource.cpp 69284 2005-11-10 06:47:24Z ossama $
00002 
00003 #include "orbsvcs/AV/default_resource.h"
00004 
00005 #include "tao/ORB_Core.h"
00006 #include "tao/debug.h"
00007 #include "ace/OS_NS_strings.h"
00008 
00009 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00010 
00011 TAO_AV_Default_Resource_Factory::TAO_AV_Default_Resource_Factory (void)
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 }
00017 
00018 TAO_AV_Default_Resource_Factory::~TAO_AV_Default_Resource_Factory (void)
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 }
00042 
00043 int
00044 TAO_AV_Default_Resource_Factory::init (int argc, char *argv[])
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 }
00092 
00093 TAO_END_VERSIONED_NAMESPACE_DECL
00094 
00095 
00096 // ****************************************************************
00097 
00098 ACE_STATIC_SVC_DEFINE (TAO_AV_Default_Resource_Factory,
00099                        ACE_TEXT ("AV_Default_Resource_Factory"),
00100                        ACE_SVC_OBJ_T,
00101                        &ACE_SVC_NAME (TAO_AV_Default_Resource_Factory),
00102                        ACE_Service_Type::DELETE_THIS
00103                        | ACE_Service_Type::DELETE_OBJ,
00104                        0)
00105 ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_Default_Resource_Factory)
00106 
00107 // ****************************************************************

Generated on Tue Feb 2 17:47:49 2010 for TAO_AV by  doxygen 1.4.7