SSLIOP_ORBInitializer.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    SSLIOP_ORBInitializer.h
00006  *
00007  *  $Id: SSLIOP_ORBInitializer.h 77001 2007-02-12 07:54:49Z johnnyw $
00008  *
00009  *  @author  Ossama Othman <ossama@uci.edu>
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_SSLIOP_ORB_INITIALIZER_H
00015 #define TAO_SSLIOP_ORB_INITIALIZER_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "orbsvcs/SSLIOP/SSLIOP_Export.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "orbsvcs/CSIIOPC.h"
00026 #include "orbsvcs/SecurityC.h"
00027 
00028 #include "tao/PI/PI.h"
00029 #include "tao/LocalObject.h"
00030 
00031 // This is to remove "inherits via dominance" warnings from MSVC.
00032 // MSVC is being a little too paranoid.
00033 #if defined(_MSC_VER)
00034 #pragma warning(push)
00035 #pragma warning(disable:4250)
00036 #endif /* _MSC_VER */
00037 
00038 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00039 
00040 namespace TAO
00041 {
00042   namespace SSLIOP
00043   {
00044 
00045     /**
00046      * @name ORBInitializer
00047      *
00048      * @brief
00049      * ORB initializer that registers all SSLIOP-specific interceptors and
00050      * object references.
00051      */
00052     class ORBInitializer
00053       : public virtual PortableInterceptor::ORBInitializer,
00054         public virtual TAO_Local_RefCounted_Object
00055     {
00056     public:
00057 
00058       /// Constructor.
00059       ORBInitializer (::Security::QOP qop,
00060                       CSIIOP::AssociationOptions csiv2_target_supports,
00061                       CSIIOP::AssociationOptions csiv2_target_requires);
00062 
00063       virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info);
00064 
00065       virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info);
00066 
00067     private:
00068 
00069       // Obtain the TSS slot ID assigned to the "SSLIOPCurrent" object.
00070       size_t get_tss_slot_id (PortableInterceptor::ORBInitInfo_ptr info);
00071 
00072     private:
00073 
00074       /// The default quality-of-protection settings in use.
00075       ::Security::QOP qop_;
00076 
00077       /// Default support CSIv2 association options.
00078       CSIIOP::AssociationOptions csiv2_target_supports_;
00079 
00080       /// Default required CSIv2 association options.
00081       CSIIOP::AssociationOptions csiv2_target_requires_;
00082     };
00083 
00084   }  // End SSLIOP namespace.
00085 }  // End TAO namespace.
00086 
00087 TAO_END_VERSIONED_NAMESPACE_DECL
00088 
00089 #if defined(_MSC_VER)
00090 #pragma warning(pop)
00091 #endif /* _MSC_VER */
00092 
00093 #include /**/ "ace/post.h"
00094 
00095 #endif /* TAO_SSLIOP_ORB_INITIALIZER_H */

Generated on Sun Jan 27 16:12:24 2008 for TAO_SSLIOP by doxygen 1.3.6