IIOP_SSL_Connector.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    IIOP_SSL_Connector.h
00006  *
00007  *  IIOP_SSL_Connector.h,v 1.20 2006/03/14 06:14:35 jtc Exp
00008  *
00009  *  IIOP specific connector processing -- SSL aware version
00010  *
00011  *  @author Ossama Othman <ossama@uci.edu>
00012  */
00013 //=============================================================================
00014 
00015 
00016 #ifndef TAO_IIOP_SSL_CONNECTOR_H
00017 #define TAO_IIOP_SSL_CONNECTOR_H
00018 
00019 #include /**/ "ace/pre.h"
00020 
00021 #include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h"
00022 
00023 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00024 # pragma once
00025 #endif /* ACE_LACKS_PRAGMA_ONCE */
00026 
00027 #include "tao/IIOP_Connector.h"
00028 
00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00030 
00031 namespace TAO
00032 {
00033   /**
00034    * @class IIOP_SSL_Connector
00035    *
00036    * @brief IIOP-specific Connector (SSL aware) bridge for pluggable
00037    *        protocols.
00038    *
00039    * Concrete instance of the TAO_Connector class.  Responsible
00040    * for establishing a connection with a server and is called from the
00041    * Connector_Registry.
00042    */
00043   class IIOP_SSL_Connector : public TAO_IIOP_Connector
00044   {
00045   public:
00046 
00047     /// Constructor.
00048     IIOP_SSL_Connector (CORBA::Boolean flag = 0);
00049 
00050     /// Destructor.
00051     ~IIOP_SSL_Connector (void);
00052 
00053     int open (TAO_ORB_Core *orb_core);
00054     int close (void);
00055 
00056   public:
00057 
00058     typedef TAO_Connect_Concurrency_Strategy<IIOP_SSL_Connection_Handler>
00059             CONNECT_CONCURRENCY_STRATEGY;
00060 
00061     typedef TAO_Connect_Creation_Strategy<IIOP_SSL_Connection_Handler>
00062             CONNECT_CREATION_STRATEGY;
00063 
00064     typedef ACE_Connect_Strategy<IIOP_SSL_Connection_Handler,
00065                                  ACE_SOCK_CONNECTOR>
00066             CONNECT_STRATEGY ;
00067 
00068     typedef ACE_Strategy_Connector<IIOP_SSL_Connection_Handler,
00069                                    ACE_SOCK_CONNECTOR>
00070             BASE_CONNECTOR;
00071 
00072   protected:
00073 
00074     /**
00075      * @name The TAO_Connector Methods
00076      *
00077      * Check the documentation in tao/Transport_Connector.h for details.
00078      */
00079     //@{
00080     int set_validate_endpoint (TAO_Endpoint *ep);
00081 
00082     TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r,
00083                                     TAO_Transport_Descriptor_Interface &desc,
00084                                     ACE_Time_Value *timeout = 0);
00085 
00086   virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler);
00087     //@}
00088 
00089   private:
00090 
00091     /// Our connect strategy
00092     CONNECT_STRATEGY connect_strategy_;
00093 
00094     /// The connector initiating connection requests for IIOP_SSL.
00095     BASE_CONNECTOR base_connector_;
00096   };
00097 
00098 } // End TAO namespace.
00099 
00100 TAO_END_VERSIONED_NAMESPACE_DECL
00101 
00102 #include /**/ "ace/post.h"
00103 
00104 #endif  /* TAO_IIOP_SSL_CONNECTOR_H */

Generated on Thu Nov 9 13:54:13 2006 for TAO_SSLIOP by doxygen 1.3.6