SCIOP_Lite_Factory.cpp

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

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