00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file IIOP_Lite_Factory.h 00006 * 00007 * IIOP_Lite_Factory.h,v 1.12 2006/04/19 11:37:03 jwillemsen Exp 00008 * 00009 * @author Fred Kuhns <fredk@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef TAO_IIOP_LITE_FACTORY_H 00015 #define TAO_IIOP_LITE_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_Lite_Protocol_Factory : 00036 public TAO_Protocol_Factory 00037 { 00038 public: 00039 TAO_IIOP_Lite_Protocol_Factory (void); 00040 00041 virtual ~TAO_IIOP_Lite_Protocol_Factory (void); 00042 00043 // = Service Configurator hooks. 00044 /// Dynamic linking hook 00045 virtual int init (int argc, ACE_TCHAR* argv[]); 00046 00047 /// Verify prefix is a match 00048 virtual int match_prefix (const ACE_CString &prefix); 00049 00050 /// Returns the prefix used by the protocol. 00051 virtual const char *prefix (void) const; 00052 00053 /// Return the character used to mark where an endpoint ends and 00054 /// where its options begin. 00055 virtual char options_delimiter (void) const; 00056 00057 // = Check Protocol_Factory.h for a description of these methods. 00058 virtual TAO_Acceptor *make_acceptor (void); 00059 virtual TAO_Connector *make_connector (void); 00060 virtual int requires_explicit_endpoint (void) const; 00061 00062 private: 00063 /// Changing the version number can be used to provide backwards 00064 /// compatibility with old clients. 00065 int const major_; 00066 int const minor_; 00067 }; 00068 00069 TAO_END_VERSIONED_NAMESPACE_DECL 00070 00071 ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_IIOP_Lite_Protocol_Factory) 00072 ACE_FACTORY_DECLARE (TAO, TAO_IIOP_Lite_Protocol_Factory) 00073 00074 #endif /* TAO_HAS_IIOP && TAO_HAS_IIOP != 0 */ 00075 00076 #include /**/ "ace/post.h" 00077 #endif /* TAO_IIOP_Lite_factory_H */