SSLIOP_ORBInitializer.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    SSLIOP_ORBInitializer.h
00006  *
00007  *  SSLIOP_ORBInitializer.h,v 1.13 2006/03/14 06:14:35 jtc Exp
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                          ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00065         ACE_THROW_SPEC ((CORBA::SystemException));
00066 
00067       virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
00068                               ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00069         ACE_THROW_SPEC ((CORBA::SystemException));
00070 
00071     private:
00072 
00073       // Obtain the TSS slot ID assigned to the "SSLIOPCurrent" object.
00074       size_t get_tss_slot_id (PortableInterceptor::ORBInitInfo_ptr info
00075                               ACE_ENV_ARG_DECL);
00076 
00077     private:
00078 
00079       /// The default quality-of-protection settings in use.
00080       ::Security::QOP qop_;
00081 
00082       /// Default support CSIv2 association options.
00083       CSIIOP::AssociationOptions csiv2_target_supports_;
00084 
00085       /// Default required CSIv2 association options.
00086       CSIIOP::AssociationOptions csiv2_target_requires_;
00087     };
00088 
00089   }  // End SSLIOP namespace.
00090 }  // End TAO namespace.
00091 
00092 TAO_END_VERSIONED_NAMESPACE_DECL
00093 
00094 #if defined(_MSC_VER)
00095 #pragma warning(pop)
00096 #endif /* _MSC_VER */
00097 
00098 #include /**/ "ace/post.h"
00099 
00100 #endif /* TAO_SSLIOP_ORB_INITIALIZER_H */

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