summaryrefslogtreecommitdiff
path: root/TAO/tao/Policy_Current.cpp
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
commit0e49389337be86641451a5c36c24bf742fe97523 (patch)
tree197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/Policy_Current.cpp
parent8008dd09ccf88d4edef237a184a698cac42f2952 (diff)
downloadATCD-0e49389337be86641451a5c36c24bf742fe97523.tar.gz
Repo restructuring
Diffstat (limited to 'TAO/tao/Policy_Current.cpp')
-rw-r--r--TAO/tao/Policy_Current.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/TAO/tao/Policy_Current.cpp b/TAO/tao/Policy_Current.cpp
new file mode 100644
index 00000000000..14cb7c89456
--- /dev/null
+++ b/TAO/tao/Policy_Current.cpp
@@ -0,0 +1,83 @@
+// $Id$
+
+#include "tao/Policy_Current.h"
+
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+
+#include "tao/TSS_Resources.h"
+
+#if !defined (__ACE_INLINE__)
+# include "tao/Policy_Current.inl"
+#endif /* ! __ACE_INLINE__ */
+
+ACE_RCSID (tao,
+ Policy_Current,
+ "$Id$")
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_Policy_Current_Impl &
+TAO_Policy_Current::implementation (TAO_Policy_Current_Impl &current)
+{
+ TAO_TSS_Resources * const tss =
+ TAO_TSS_Resources::instance ();
+
+ TAO_Policy_Current_Impl *old = tss->policy_current_;
+ tss->policy_current_ = &current;
+ return *old;
+}
+
+TAO_Policy_Current_Impl &
+TAO_Policy_Current::implementation (void) const
+{
+ return *TAO_TSS_Resources::instance ()->policy_current_;
+}
+
+CORBA::Policy_ptr
+TAO_Policy_Current::get_policy (
+ CORBA::PolicyType policy
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ return impl.get_policy (policy ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::PolicyList *
+TAO_Policy_Current::get_policy_overrides (
+ const CORBA::PolicyTypeSeq & ts
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ return impl.get_policy_overrides (ts ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_Policy_Current::set_policy_overrides (const CORBA::PolicyList & policies,
+ CORBA::SetOverrideType set_add
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::InvalidPolicies))
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ impl.set_policy_overrides (policies, set_add ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Policy_ptr
+TAO_Policy_Current::get_cached_policy (TAO_Cached_Policy_Type type
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Policy_Current_Impl &impl = this->implementation ();
+
+ return impl.get_cached_policy (type
+ ACE_ENV_ARG_PARAMETER);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_HAS_CORBA_MESSAGING == 1 */