UIOP_Factory.cpp

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: UIOP_Factory.cpp 76687 2007-01-29 19:18:13Z johnnyw $
00003 
00004 #include "tao/Strategies/UIOP_Factory.h"
00005 
00006 #if TAO_HAS_UIOP == 1
00007 
00008 #include "tao/Strategies/UIOP_Acceptor.h"
00009 #include "tao/Strategies/UIOP_Connector.h"
00010 
00011 #include "tao/ORB_Constants.h"
00012 
00013 #include "ace/OS_NS_strings.h"
00014 
00015 
00016 ACE_RCSID (Strategies,
00017            UIOP_Factory,
00018            "$Id: UIOP_Factory.cpp 76687 2007-01-29 19:18:13Z johnnyw $")
00019 
00020 
00021 static const char prefix_[] = "uiop";
00022 
00023 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00024 
00025 TAO_UIOP_Protocol_Factory::TAO_UIOP_Protocol_Factory (void)
00026   :  TAO_Protocol_Factory (TAO_TAG_UIOP_PROFILE)
00027 {
00028 }
00029 
00030 TAO_UIOP_Protocol_Factory::~TAO_UIOP_Protocol_Factory (void)
00031 {
00032 }
00033 
00034 int
00035 TAO_UIOP_Protocol_Factory::match_prefix (const ACE_CString &prefix)
00036 {
00037   // Check for the proper prefix for this protocol.
00038   return (ACE_OS::strcasecmp (prefix.c_str (), ::prefix_) == 0);
00039 }
00040 
00041 const char *
00042 TAO_UIOP_Protocol_Factory::prefix (void) const
00043 {
00044   return ::prefix_;
00045 }
00046 
00047 char
00048 TAO_UIOP_Protocol_Factory::options_delimiter (void) const
00049 {
00050   return '|';
00051 }
00052 
00053 TAO_Acceptor *
00054 TAO_UIOP_Protocol_Factory::make_acceptor (void)
00055 {
00056   TAO_Acceptor *acceptor = 0;
00057 
00058   ACE_NEW_RETURN (acceptor,
00059                   TAO_UIOP_Acceptor,
00060                   0);
00061 
00062   return acceptor;
00063 }
00064 
00065 int
00066 TAO_UIOP_Protocol_Factory::init (int /* argc */, ACE_TCHAR* /* argv */ [])
00067 {
00068   return 0;
00069 }
00070 
00071 TAO_Connector *
00072 TAO_UIOP_Protocol_Factory::make_connector (void)
00073 {
00074   TAO_Connector *connector = 0;
00075 
00076   ACE_NEW_RETURN (connector,
00077                   TAO_UIOP_Connector,
00078                   0);
00079 
00080   return connector;
00081 }
00082 
00083 int
00084 TAO_UIOP_Protocol_Factory::requires_explicit_endpoint (void) const
00085 {
00086   return 1;
00087 }
00088 
00089 TAO_END_VERSIONED_NAMESPACE_DECL
00090 
00091 ACE_STATIC_SVC_DEFINE (TAO_UIOP_Protocol_Factory,
00092                        ACE_TEXT ("UIOP_Factory"),
00093                        ACE_SVC_OBJ_T,
00094                        &ACE_SVC_NAME (TAO_UIOP_Protocol_Factory),
00095                        ACE_Service_Type::DELETE_THIS |
00096                           ACE_Service_Type::DELETE_OBJ,
00097                        0)
00098 
00099 ACE_FACTORY_DEFINE (TAO_Strategies, TAO_UIOP_Protocol_Factory)
00100 
00101 
00102 #endif  /* TAO_HAS_UIOP == 1 */

Generated on Tue Feb 2 17:47:18 2010 for TAO_Strategies by  doxygen 1.4.7