UIOP_Lite_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // UIOP_Lite_Factory.h,v 1.9 2006/04/19 11:38:50 jwillemsen Exp
00004 // ============================================================================
00005 //
00006 // = LIBRARY
00007 //   TAO
00008 //
00009 // = FILENAME
00010 //   UIOP_Factory.h
00011 //
00012 // = AUTHOR
00013 //   Fred Kuhns <fredk@cs.wustl.edu>
00014 //   Ossama Othman <othman@cs.wustl.edu>
00015 //
00016 // ============================================================================
00017 
00018 #ifndef TAO_UIOP_LITE_FACTORY_H
00019 #define TAO_UIOP_LITE_FACTORY_H
00020 
00021 #include /**/ "ace/pre.h"
00022 
00023 #include "tao/orbconf.h"
00024 
00025 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00026 # pragma once
00027 #endif /* ACE_LACKS_PRAGMA_ONCE */
00028 
00029 # if TAO_HAS_UIOP == 1
00030 
00031 #include "ace/Service_Config.h"
00032 #include "tao/Strategies/strategies_export.h"
00033 #include "tao/Protocol_Factory.h"
00034 
00035 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00036 
00037 class TAO_Acceptor;
00038 class TAO_Connector;
00039 
00040 class TAO_Strategies_Export TAO_UIOP_Lite_Protocol_Factory :
00041   public TAO_Protocol_Factory
00042 {
00043 public:
00044   /// Constructor.
00045   TAO_UIOP_Lite_Protocol_Factory (void);
00046 
00047   /// Destructor.
00048   virtual ~TAO_UIOP_Lite_Protocol_Factory (void);
00049 
00050   // = Service Configurator hooks.
00051   /// Dynamic linking hook
00052   virtual int init (int argc, ACE_TCHAR* argv[]);
00053 
00054   /// Verify prefix is a match
00055   virtual int match_prefix (const ACE_CString &prefix);
00056 
00057   /// Returns the prefix used by the protocol.
00058   virtual const char *prefix (void) const;
00059 
00060   /// Return the character used to mark where an endpoint ends and
00061   /// where its options begin.
00062   virtual char options_delimiter (void) const;
00063 
00064   /**
00065    * @name Protocol factory methods Methods
00066    *
00067    * Please check the documentation in Protocol_Factory.h for details.
00068    */
00069   //@{
00070   virtual TAO_Acceptor  *make_acceptor (void);
00071   virtual TAO_Connector *make_connector  (void);
00072   virtual int requires_explicit_endpoint (void) const;
00073   //@}
00074 
00075 private:
00076   int major_;
00077   int minor_;
00078   // Changing the version number can be used to provide backwards
00079   // compatibility with old clients.
00080 
00081 };
00082 
00083 TAO_END_VERSIONED_NAMESPACE_DECL
00084 
00085 ACE_STATIC_SVC_DECLARE (TAO_UIOP_Lite_Protocol_Factory)
00086 ACE_FACTORY_DECLARE (TAO_Strategies, TAO_UIOP_Lite_Protocol_Factory)
00087 
00088 # endif  /* TAO_HAS_UIOP == 1 */
00089 
00090 #include /**/ "ace/post.h"
00091 
00092 #endif /* TAO_UIOP_LITE_FACTORY_H */

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