summaryrefslogtreecommitdiff
path: root/TAO/tao/Policy_Manager.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Policy_Manager.inl')
-rw-r--r--TAO/tao/Policy_Manager.inl34
1 files changed, 34 insertions, 0 deletions
diff --git a/TAO/tao/Policy_Manager.inl b/TAO/tao/Policy_Manager.inl
new file mode 100644
index 00000000000..04149822c24
--- /dev/null
+++ b/TAO/tao/Policy_Manager.inl
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+//
+// $Id$
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE
+TAO_Policy_Manager::TAO_Policy_Manager (void)
+ : impl_ (TAO_POLICY_ORB_SCOPE)
+{
+}
+
+ACE_INLINE CORBA::Policy_ptr
+TAO_Policy_Manager::get_policy (CORBA::PolicyType policy)
+{
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
+ return this->impl_.get_policy (policy);
+}
+
+ACE_INLINE CORBA::Policy_ptr
+TAO_Policy_Manager::get_cached_policy (TAO_Cached_Policy_Type type)
+{
+
+ // @@ Previous code used a "double-checked locking hack" to check
+ // if the policy was set before grabbing the lock to actually get
+ // it, so that could save a lock operation. This was removed, as
+ // it is not as easy to do this anymore.
+
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
+
+ return this->impl_.get_cached_policy (type);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL