00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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
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
00031
00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00033
00034 namespace TAO
00035 {
00036 namespace SL3
00037 {
00038
00039
00040
00041
00042
00043
00044
00045
00046 class PolicyFactory
00047 : public virtual PortableInterceptor::PolicyFactory,
00048 public virtual TAO_Local_RefCounted_Object
00049 {
00050 public:
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
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 }
00074 }
00075
00076 TAO_END_VERSIONED_NAMESPACE_DECL
00077
00078 #if defined(_MSC_VER)
00079 #pragma warning(pop)
00080 #endif
00081
00082 #endif