00001
00002
00003
00004
00005
00006
00007
00008
00009
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
00024
00025 #include "tao/PI/PI.h"
00026 #include "tao/LocalObject.h"
00027
00028
00029
00030 #if defined(_MSC_VER)
00031 #pragma warning(push)
00032 #pragma warning(disable:4250)
00033 #endif
00034
00035 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00036
00037 namespace TAO
00038 {
00039 namespace Security
00040 {
00041
00042
00043
00044
00045
00046
00047
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 }
00063 }
00064
00065 TAO_END_VERSIONED_NAMESPACE_DECL
00066
00067 #if defined(_MSC_VER)
00068 #pragma warning(pop)
00069 #endif
00070
00071 #include "ace/post.h"
00072
00073 #endif