3 //=============================================================================
5 * @file IdAssignmentPolicy.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
11 #ifndef TAO_PORTABLESERVER_IDASSIGNMENTPOLICY_H
12 #define TAO_PORTABLESERVER_IDASSIGNMENTPOLICY_H
13 #include /**/ "ace/pre.h"
15 #include "tao/PortableServer/portableserver_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/PortableServer/IdAssignmentPolicyC.h"
22 #include "tao/LocalObject.h"
24 // This is to remove "inherits via dominance" warnings from MSVC.
25 // MSVC is being a little too paranoid.
28 #pragma warning(disable:4250)
31 #if !defined (CORBA_E_MICRO)
33 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
37 namespace Portable_Server
39 class TAO_PortableServer_Export IdAssignmentPolicy
40 : public virtual ::PortableServer::IdAssignmentPolicy
,
41 public virtual ::CORBA::LocalObject
44 IdAssignmentPolicy (::PortableServer::IdAssignmentPolicyValue value
);
46 CORBA::Policy_ptr
copy () override
;
48 void destroy () override
;
50 ::PortableServer::IdAssignmentPolicyValue
value () override
;
52 CORBA::PolicyType
policy_type () override
;
54 /// Return the cached policy type for this policy.
55 TAO_Cached_Policy_Type
_tao_cached_type () const override
;
57 /// Returns the scope at which this policy can be applied. See orbconf.h.
58 TAO_Policy_Scope
_tao_scope () const override
;
61 ::PortableServer::IdAssignmentPolicyValue value_
;
66 TAO_END_VERSIONED_NAMESPACE_DECL
74 #include /**/ "ace/post.h"
75 #endif /* TAO_PORTABLESERVER_IDASSIGNMENTPOLICY_H */