00001 #include "tao/IIOP_Factory.h"
00002
00003 #if defined (TAO_HAS_IIOP) && (TAO_HAS_IIOP != 0)
00004
00005 #include "tao/IIOP_Acceptor.h"
00006 #include "tao/IIOP_Connector.h"
00007 #include "tao/IOP_IORC.h"
00008 #include "ace/OS_NS_strings.h"
00009
00010 ACE_RCSID (tao,
00011 IIOP_Factory,
00012 "IIOP_Factory.cpp,v 1.20 2006/04/19 11:37:03 jwillemsen Exp")
00013
00014
00015 static const char the_prefix[] = "iiop";
00016
00017 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00018
00019 TAO_IIOP_Protocol_Factory::TAO_IIOP_Protocol_Factory (void)
00020 : TAO_Protocol_Factory (IOP::TAG_INTERNET_IOP),
00021 major_ (TAO_DEF_GIOP_MAJOR),
00022 minor_ (TAO_DEF_GIOP_MINOR)
00023 {
00024 }
00025
00026 TAO_IIOP_Protocol_Factory::~TAO_IIOP_Protocol_Factory (void)
00027 {
00028 }
00029
00030 int
00031 TAO_IIOP_Protocol_Factory::match_prefix (const ACE_CString &prefix)
00032 {
00033
00034 return (ACE_OS::strcasecmp (prefix.c_str (), ::the_prefix) == 0);
00035 }
00036
00037 const char *
00038 TAO_IIOP_Protocol_Factory::prefix (void) const
00039 {
00040 return ::the_prefix;
00041 }
00042
00043 char
00044 TAO_IIOP_Protocol_Factory::options_delimiter (void) const
00045 {
00046 return '/';
00047 }
00048
00049 TAO_Acceptor *
00050 TAO_IIOP_Protocol_Factory::make_acceptor (void)
00051 {
00052 TAO_Acceptor *acceptor = 0;
00053
00054 ACE_NEW_RETURN (acceptor,
00055 TAO_IIOP_Acceptor,
00056 0);
00057
00058 return acceptor;
00059 }
00060
00061 int
00062 TAO_IIOP_Protocol_Factory::init (int ,
00063 ACE_TCHAR* [])
00064 {
00065 return 0;
00066 }
00067
00068 TAO_Connector *
00069 TAO_IIOP_Protocol_Factory::make_connector (void)
00070 {
00071 TAO_Connector *connector = 0;
00072
00073 ACE_NEW_RETURN (connector,
00074 TAO_IIOP_Connector,
00075 0);
00076 return connector;
00077 }
00078
00079 int
00080 TAO_IIOP_Protocol_Factory::requires_explicit_endpoint (void) const
00081 {
00082 return 0;
00083 }
00084
00085 TAO_END_VERSIONED_NAMESPACE_DECL
00086
00087 ACE_STATIC_SVC_DEFINE (TAO_IIOP_Protocol_Factory,
00088 ACE_TEXT ("IIOP_Factory"),
00089 ACE_SVC_OBJ_T,
00090 &ACE_SVC_NAME (TAO_IIOP_Protocol_Factory),
00091 ACE_Service_Type::DELETE_THIS |
00092 ACE_Service_Type::DELETE_OBJ,
00093 0)
00094
00095 ACE_FACTORY_DEFINE (TAO, TAO_IIOP_Protocol_Factory)
00096
00097 #endif