SL3_PolicyFactory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  * @file SL3_PolicyFactory.h
00006  *
00007  * SL3_PolicyFactory.h,v 1.5 2005/11/16 07:53:25 ossama Exp
00008  *
00009  * PolicyFactory implementation for the SecurityLevel3 policies.
00010  *
00011  * @author Ossama Othman <ossama@dre.vanderbilt.edu>
00012  */
00013 //=============================================================================
00014 
00015 #ifndef TAO_SL3_POLICY_FACTORY_H
00016 #define TAO_SL3_POLICY_FACTORY_H
00017 
00018 #include "ace/config-all.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "tao/PI/PI.h"
00025 #include "tao/LocalObject.h"
00026 
00027 #if defined(_MSC_VER)
00028 #pragma warning(push)
00029 #pragma warning(disable:4250)
00030 #endif /* _MSC_VER */
00031 
00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00033 
00034 namespace TAO
00035 {
00036   namespace SL3
00037     {
00038 
00039       /**
00040        * @class olicyFactory
00041        *
00042        * @brief SecurityLevel3 PolicyFactory
00043        *
00044        * PolicyFactory for all SecurityLevel3 policies.
00045        */
00046       class PolicyFactory
00047         : public virtual PortableInterceptor::PolicyFactory,
00048           public virtual TAO_Local_RefCounted_Object
00049       {
00050       public:
00051 
00052         /**
00053          * @name Methods Required by the PolicyFactory Interface
00054          *
00055          * These are methods that must be implemented since they are
00056          * pure virtual in the abstract base class.  They are the
00057          * canonical methods required for all PolicyFactory
00058          * sub-classes.
00059          */
00060         //@{
00061 
00062         /// Construct a Test::Policy object as a test.
00063         virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
00064                                                  const CORBA::Any & value
00065                                                  ACE_ENV_ARG_DECL)
00066           ACE_THROW_SPEC ((CORBA::SystemException,
00067                            CORBA::PolicyError));
00068 
00069         //@}
00070 
00071       };
00072 
00073   }  // End SL3 namespace.
00074 }  // End TAO namespace.
00075 
00076 TAO_END_VERSIONED_NAMESPACE_DECL
00077 
00078 #if defined(_MSC_VER)
00079 #pragma warning(pop)
00080 #endif /* _MSC_VER */
00081 
00082 #endif  /* TAO_SL3_POLICY_FACTORY_H */

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