SCIOP_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // SCIOP_Factory.h,v 1.8 2006/04/19 11:38:50 jwillemsen Exp
00004 //=============================================================================
00005 /**
00006  *  @file   SCIOP_Factory.h
00007  *
00008  *  @author  Jason Cohen, Lockheed Martin ATL  <jcohen@atl.lmco.com>
00009  *  @author  Keith O'Hara, Lockheed Martin ATL
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_SCIOP_FACTORY_H
00015 #define TAO_SCIOP_FACTORY_H
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/orbconf.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #if TAO_HAS_SCIOP == 1
00025 
00026 #include "tao/Strategies/strategies_export.h"
00027 #include "ace/Service_Config.h"
00028 #include "tao/Protocol_Factory.h"
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 class TAO_Acceptor;
00033 class TAO_Connector;
00034 
00035 class TAO_Strategies_Export TAO_SCIOP_Protocol_Factory
00036 : public TAO_Protocol_Factory
00037 {
00038 public:
00039   TAO_SCIOP_Protocol_Factory (void);
00040   virtual ~TAO_SCIOP_Protocol_Factory (void);
00041 
00042   // = Service Configurator hooks.
00043   /// Dynamic linking hook
00044   virtual int init (int argc, ACE_TCHAR* argv[]);
00045 
00046   /// Verify prefix is a match
00047   virtual int match_prefix (const ACE_CString &prefix);
00048 
00049   /// Returns the prefix used by the protocol.
00050   virtual const char *prefix (void) const;
00051 
00052   /// Return the character used to mark where an endpoint ends and
00053   /// where its options begin.
00054   virtual char options_delimiter (void) const;
00055 
00056   // = Check Protocol_Factory.h for a description of these methods.
00057   virtual TAO_Acceptor  *make_acceptor (void);
00058   virtual TAO_Connector *make_connector  (void);
00059   virtual int requires_explicit_endpoint (void) const;
00060 
00061 private:
00062   /// Changing the version number can be used to provide backwards
00063   /// compatibility with old clients.
00064   int major_;
00065   int minor_;
00066 };
00067 
00068 TAO_END_VERSIONED_NAMESPACE_DECL
00069 
00070 ACE_STATIC_SVC_DECLARE_EXPORT (TAO_Strategies, TAO_SCIOP_Protocol_Factory)
00071 ACE_FACTORY_DECLARE (TAO_Strategies, TAO_SCIOP_Protocol_Factory)
00072 
00073 
00074 #endif /* TAO_HAS_SCIOP == 1 */
00075 
00076 #include /**/ "ace/post.h"
00077 #endif /* TAO_SCIOP_FACTORY_H */

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