DIOP_Connector.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    DIOP_Connector.h
00006  *
00007  *  $Id: DIOP_Connector.h 78931 2007-07-18 09:59:36Z johnnyw $
00008  *
00009  *  DIOP specific connector processing
00010  *
00011  *  @author  Michael Kircher
00012  */
00013 //=============================================================================
00014 
00015 #ifndef TAO_DIOP_CONNECTOR_H
00016 #define TAO_DIOP_CONNECTOR_H
00017 
00018 #include /**/ "ace/pre.h"
00019 
00020 #include "tao/orbconf.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 #if defined (TAO_HAS_DIOP) && (TAO_HAS_DIOP != 0)
00027 
00028 #include "tao/Strategies/DIOP_Connection_Handler.h"
00029 #include "tao/Transport_Connector.h"
00030 
00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00032 
00033 class TAO_Endpoint;
00034 class TAO_DIOP_Endpoint;
00035 
00036 // ****************************************************************
00037 
00038 /**
00039  * @class TAO_DIOP_Connector
00040  *
00041  * @brief DIOP-specific Connector bridge for pluggable protocols.
00042  *
00043  * Concrete instance of the TAO_Connector class.  Responsible
00044  * for establishing a connection with a server and is called from the
00045  * Connector_Registory.
00046  */
00047 class TAO_Strategies_Export TAO_DIOP_Connector : public TAO_Connector
00048 {
00049 public:
00050   // = Initialization and termination methods.
00051   /// Constructor.
00052   TAO_DIOP_Connector (void);
00053 
00054   /// Destructor.
00055   ~TAO_DIOP_Connector (void);
00056 
00057   /**
00058    * @name The TAO_Connector Methods
00059    *
00060    * Please check the documentation in Transport_Connector.h for details.
00061    */
00062   //@{
00063   int open (TAO_ORB_Core *orb_core);
00064   int close (void);
00065 
00066   TAO_Profile *create_profile (TAO_InputCDR& cdr);
00067 
00068   virtual int check_prefix (const char *endpoint);
00069 
00070   virtual char object_key_delimiter (void) const;
00071   //@}
00072 
00073 protected:
00074 
00075   /**
00076    * @name More TAO_Connector Methods
00077    *
00078    * Please check the documentation in Transport_Connector.h for details.
00079    */
00080   //@{
00081   int set_validate_endpoint (TAO_Endpoint *ep);
00082 
00083   TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r,
00084                                   TAO_Transport_Descriptor_Interface &desc,
00085                                   ACE_Time_Value *timeout = 0);
00086 
00087   virtual TAO_Profile * make_profile (void);
00088   //@}
00089 
00090   /// Cancel the passed cvs handler from the connector
00091   int cancel_svc_handler (TAO_Connection_Handler * svc_handler);
00092 
00093 private:
00094 
00095   /// Return the remote endpoint, a helper function
00096   TAO_DIOP_Endpoint *remote_endpoint (TAO_Endpoint *ep);
00097 };
00098 
00099 TAO_END_VERSIONED_NAMESPACE_DECL
00100 
00101 #endif /* TAO_HAS_DIOP && TAO_HAS_DIOP != 0 */
00102 
00103 #include /**/ "ace/post.h"
00104 
00105 #endif  /* TAO_DIOP_CONNECTOR_H */

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