default_resource.cpp

Go to the documentation of this file.
00001 // default_resource.cpp,v 1.6 2005/11/10 06:47:22 ossama Exp
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 Thu Nov 9 13:44:41 2006 for TAO_AV by doxygen 1.3.6