UIOP_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   UIOP_Factory.h
00006  *
00007  *  $Id: UIOP_Factory.h 77028 2007-02-12 14:49:05Z johnnyw $
00008  *
00009  *  @author Fred Kuhns <fredk@cs.wustl.edu>Ossama Othman <othman@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_UIOP_FACTORY_H
00015 #define TAO_UIOP_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 TAO_HAS_UIOP == 1
00026 
00027 #include "tao/Protocol_Factory.h"
00028 #include "tao/Strategies/strategies_export.h"
00029 #include "ace/Service_Config.h"
00030 
00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00032 
00033 class TAO_Acceptor;
00034 class TAO_Connector;
00035 
00036 class TAO_Strategies_Export TAO_UIOP_Protocol_Factory : public TAO_Protocol_Factory
00037 {
00038 public:
00039   /// Constructor.
00040   TAO_UIOP_Protocol_Factory (void);
00041 
00042   /// Destructor.
00043   virtual ~TAO_UIOP_Protocol_Factory (void);
00044 
00045   // = Service Configurator hooks.
00046   /// Dynamic linking hook
00047   virtual int init (int argc, ACE_TCHAR* argv[]);
00048 
00049   /// Verify prefix is a match
00050   virtual int match_prefix (const ACE_CString &prefix);
00051 
00052   /// Returns the prefix used by the protocol.
00053   virtual const char *prefix (void) const;
00054 
00055   /// Return the character used to mark where an endpoint ends and
00056   /// where its options begin.
00057   virtual char options_delimiter (void) const;
00058 
00059   /**
00060    * @name Protocol factory methods
00061    *
00062    * Check Protocol_Factory.h for a description of these methods.
00063    */
00064   //@{
00065   virtual TAO_Acceptor  *make_acceptor (void);
00066   virtual TAO_Connector *make_connector  (void);
00067   virtual int requires_explicit_endpoint (void) const;
00068   //@}
00069 };
00070 
00071 TAO_END_VERSIONED_NAMESPACE_DECL
00072 
00073 ACE_STATIC_SVC_DECLARE (TAO_UIOP_Protocol_Factory)
00074 ACE_FACTORY_DECLARE (TAO_Strategies, TAO_UIOP_Protocol_Factory)
00075 
00076 # endif  /* TAO_HAS_UIOP == 1 */
00077 
00078 #include /**/ "ace/post.h"
00079 
00080 #endif /* TAO_UIOP_FACTORY_H */

Generated on Tue Feb 2 17:47:18 2010 for TAO_Strategies by  doxygen 1.4.7