IIOP_SSL_Acceptor.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    IIOP_SSL_Acceptor.h
00006  *
00007  *  IIOP_SSL_Acceptor.h,v 1.12 2006/03/14 06:14:35 jtc Exp
00008  *
00009  *  SSL-aware IIOP specific acceptor processing
00010  *
00011  *  @author Ossama Othman <ossama@dre.vanderbilt.edu>
00012  */
00013 //=============================================================================
00014 
00015 
00016 #ifndef TAO_IIOP_SSL_ACCEPTOR_H
00017 #define TAO_IIOP_SSL_ACCEPTOR_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_Acceptor.h"
00028 
00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00030 
00031 namespace TAO
00032 {
00033 
00034   /**
00035    * @class IIOP_SSL_Acceptor
00036    *
00037    * @brief An SSL aware IIOP acceptor.
00038    *
00039    * The class differs from the non-SSL aware TAO_IIOP_Acceptor class
00040    * since it uses a different a set of Acceptor strategies.  In
00041    * particular, it overrides the open_i() method to use the Acceptor
00042    * strategies tailored to use the SSL aware server connection handler.
00043    * See the TAO_IIOP_SSL_Connection_Handler notes for details.
00044    */
00045   class IIOP_SSL_Acceptor : public TAO_IIOP_Acceptor
00046   {
00047   public:
00048 
00049     typedef ACE_Strategy_Acceptor<IIOP_SSL_Connection_Handler, ACE_SOCK_ACCEPTOR> TAO_IIOP_SSL_BASE_ACCEPTOR;
00050     typedef TAO_Creation_Strategy<IIOP_SSL_Connection_Handler> TAO_IIOP_SSL_CREATION_STRATEGY;
00051     typedef TAO_Concurrency_Strategy<IIOP_SSL_Connection_Handler> TAO_IIOP_SSL_CONCURRENCY_STRATEGY;
00052     typedef TAO_Accept_Strategy<IIOP_SSL_Connection_Handler, ACE_SOCK_ACCEPTOR> TAO_IIOP_SSL_ACCEPT_STRATEGY;
00053 
00054     /// Constructor.
00055     IIOP_SSL_Acceptor (CORBA::Boolean flag = 0);
00056 
00057     /// Destructor.
00058     ~IIOP_SSL_Acceptor (void);
00059 
00060     virtual int close (void);
00061 
00062   private:
00063 
00064     /// The concrete acceptor, as a pointer to it's base class.
00065     TAO_IIOP_SSL_BASE_ACCEPTOR base_acceptor_;
00066 
00067     /**
00068      * @name Acceptor Strategies
00069      *
00070      * Server side creation, concurrency and accept strategies.
00071      */
00072     //@{
00073     TAO_IIOP_SSL_CREATION_STRATEGY *creation_strategy_;
00074     TAO_IIOP_SSL_CONCURRENCY_STRATEGY *concurrency_strategy_;
00075     TAO_IIOP_SSL_ACCEPT_STRATEGY *accept_strategy_;
00076     //@}
00077 
00078   };
00079 
00080 } // End TAO namespace.
00081 
00082 TAO_END_VERSIONED_NAMESPACE_DECL
00083 
00084 #include /**/ "ace/post.h"
00085 
00086 #endif  /* TAO_IIOP_SSL_ACCEPTOR_H */

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