SCIOP_Factory.cpp

Go to the documentation of this file.
00001 #include "tao/Strategies/SCIOP_Factory.h"
00002 #include "tao/Strategies/SCIOP_Acceptor.h"
00003 #include "tao/Strategies/SCIOP_Connector.h"
00004 #include "ace/OS_NS_strings.h"
00005 
00006 #if TAO_HAS_SCIOP == 1
00007 
00008 #include "tao/IOPC.h"
00009 
00010 ACE_RCSID (tao,
00011            SCIOP_Factory,
00012            "SCIOP_Factory.cpp,v 1.6 2006/03/10 07:19:18 jtc Exp")
00013 
00014 static const char prefix_[] = "sciop";
00015 
00016 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00017 
00018 TAO_SCIOP_Protocol_Factory::TAO_SCIOP_Protocol_Factory (void)
00019   :  TAO_Protocol_Factory (TAO_TAG_SCIOP_PROFILE),
00020      major_ (TAO_DEF_SCIOP_MAJOR),
00021      minor_ (TAO_DEF_SCIOP_MINOR)
00022 {
00023 }
00024 
00025 TAO_SCIOP_Protocol_Factory::~TAO_SCIOP_Protocol_Factory (void)
00026 {
00027 }
00028 
00029 int
00030 TAO_SCIOP_Protocol_Factory::match_prefix (const ACE_CString &prefix)
00031 {
00032   // Check for the proper prefix for this protocol.
00033   return (ACE_OS::strcasecmp (prefix.c_str (), ::prefix_) == 0);
00034 }
00035 
00036 const char *
00037 TAO_SCIOP_Protocol_Factory::prefix (void) const
00038 {
00039   return ::prefix_;
00040 }
00041 
00042 char
00043 TAO_SCIOP_Protocol_Factory::options_delimiter (void) const
00044 {
00045   return '/';
00046 }
00047 
00048 TAO_Acceptor *
00049 TAO_SCIOP_Protocol_Factory::make_acceptor (void)
00050 {
00051   TAO_Acceptor *acceptor = 0;
00052 
00053   ACE_NEW_RETURN (acceptor,
00054                   TAO_SCIOP_Acceptor,
00055                   0);
00056 
00057   return acceptor;
00058 }
00059 
00060 int
00061 TAO_SCIOP_Protocol_Factory::init (int /* argc */,
00062                                  ACE_TCHAR* /* argv */ [])
00063 {
00064   return 0;
00065 }
00066 
00067 TAO_Connector *
00068 TAO_SCIOP_Protocol_Factory::make_connector (void)
00069 {
00070   TAO_Connector *connector = 0;
00071 
00072   ACE_NEW_RETURN (connector,
00073                   TAO_SCIOP_Connector,
00074                   0);
00075   return connector;
00076 }
00077 
00078 int
00079 TAO_SCIOP_Protocol_Factory::requires_explicit_endpoint (void) const
00080 {
00081   return 1;
00082 }
00083 
00084 TAO_END_VERSIONED_NAMESPACE_DECL
00085 
00086 ACE_STATIC_SVC_DEFINE (TAO_SCIOP_Protocol_Factory,
00087                        ACE_TEXT ("SCIOP_Factory"),
00088                        ACE_SVC_OBJ_T,
00089                        &ACE_SVC_NAME (TAO_SCIOP_Protocol_Factory),
00090                        ACE_Service_Type::DELETE_THIS |
00091                                   ACE_Service_Type::DELETE_OBJ,
00092                        0)
00093 
00094 ACE_FACTORY_DEFINE (TAO, TAO_SCIOP_Protocol_Factory)
00095 
00096 #endif /* TAO_HAS_SCIOP == 1 */

Generated on Thu Nov 9 13:39:29 2006 for TAO_Strategies by doxygen 1.3.6