00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file IIOP_Factory.h 00006 * 00007 * $Id: IIOP_Factory.h 74199 2006-08-23 12:50:53Z johnnyw $ 00008 * 00009 * @author Fred Kuhns <fredk@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef TAO_IIOP_FACTORY_H 00015 #define TAO_IIOP_FACTORY_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "tao/orbconf.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #if defined (TAO_HAS_IIOP) && (TAO_HAS_IIOP != 0) 00026 00027 #include "tao/Protocol_Factory.h" 00028 #include "ace/Service_Config.h" 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 class TAO_Acceptor; 00033 class TAO_Connector; 00034 00035 class TAO_Export TAO_IIOP_Protocol_Factory : public TAO_Protocol_Factory 00036 { 00037 public: 00038 TAO_IIOP_Protocol_Factory (void); 00039 virtual ~TAO_IIOP_Protocol_Factory (void); 00040 00041 // = Service Configurator hooks. 00042 /// Dynamic linking hook 00043 virtual int init (int argc, ACE_TCHAR* argv[]); 00044 00045 /// Verify prefix is a match 00046 virtual int match_prefix (const ACE_CString &prefix); 00047 00048 /// Returns the prefix used by the protocol. 00049 virtual const char *prefix (void) const; 00050 00051 /// Return the character used to mark where an endpoint ends and 00052 /// where its options begin. 00053 virtual char options_delimiter (void) const; 00054 00055 // = Check Protocol_Factory.h for a description of these methods. 00056 virtual TAO_Acceptor *make_acceptor (void); 00057 virtual TAO_Connector *make_connector (void); 00058 virtual int requires_explicit_endpoint (void) const; 00059 }; 00060 00061 TAO_END_VERSIONED_NAMESPACE_DECL 00062 00063 ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_IIOP_Protocol_Factory) 00064 ACE_FACTORY_DECLARE (TAO, TAO_IIOP_Protocol_Factory) 00065 00066 #endif /* TAO_HAS_IIOP && TAO_HAS_IIOP != 0 */ 00067 00068 #include /**/ "ace/post.h" 00069 #endif /* TAO_IIOP_FACTORY_H */