Security_PolicyFactory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  * @file Security_PolicyFactory.h
00006  *
00007  * Security_PolicyFactory.h,v 1.9 2006/05/30 19:20:56 mesnier_p Exp
00008  *
00009  * @author Ossama Othman <ossama@uci.edu>
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_SECURITY_POLICY_FACTORY_H
00015 #define TAO_SECURITY_POLICY_FACTORY_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "orbsvcs/Security/security_export.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "tao/PI/PI.h"
00026 #include "tao/LocalObject.h"
00027 
00028 // This is to remove "inherits via dominance" warnings from MSVC.
00029 // MSVC is being a little too paranoid.
00030 #if defined(_MSC_VER)
00031 #pragma warning(push)
00032 #pragma warning(disable:4250)
00033 #endif /* _MSC_VER */
00034 
00035 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00036 
00037 namespace TAO
00038 {
00039   namespace Security
00040   {
00041 
00042     /**
00043      * @class PolicyFactory
00044      *
00045      * @brief Policy factory for all security related policies.
00046      *
00047      * Policy factory for all security related policies.
00048      */
00049     class PolicyFactory
00050       : public PortableInterceptor::PolicyFactory,
00051         public TAO_Local_RefCounted_Object
00052     {
00053     public:
00054 
00055       virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
00056                                                const CORBA::Any & value
00057                                            ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00058         ACE_THROW_SPEC ((CORBA::SystemException,
00059                          CORBA::PolicyError));
00060     };
00061 
00062   } // End Security namespace
00063 }  // End TAO namespace
00064 
00065 TAO_END_VERSIONED_NAMESPACE_DECL
00066 
00067 #if defined(_MSC_VER)
00068 #pragma warning(pop)
00069 #endif /* _MSC_VER */
00070 
00071 #include /**/ "ace/post.h"
00072 
00073 #endif /* TAO_SECURITY_POLICY_FACTORY_H */

Generated on Thu Nov 9 13:50:47 2006 for TAO_Security by doxygen 1.3.6