summaryrefslogtreecommitdiff
path: root/ACE/TAO/tao/TypeCodeFactory/Recursive_TypeCode.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/tao/TypeCodeFactory/Recursive_TypeCode.inl')
-rw-r--r--ACE/TAO/tao/TypeCodeFactory/Recursive_TypeCode.inl27
1 files changed, 27 insertions, 0 deletions
diff --git a/ACE/TAO/tao/TypeCodeFactory/Recursive_TypeCode.inl b/ACE/TAO/tao/TypeCodeFactory/Recursive_TypeCode.inl
new file mode 100644
index 00000000000..5355e8923d6
--- /dev/null
+++ b/ACE/TAO/tao/TypeCodeFactory/Recursive_TypeCode.inl
@@ -0,0 +1,27 @@
+// -*- C++ -*-
+//
+// $Id$
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE
+TAO::TypeCodeFactory::Recursive_TypeCode::Recursive_TypeCode (char const * id)
+ : ::CORBA::TypeCode (CORBA::TAO_TC_KIND_COUNT)
+ , ::TAO::True_RefCount_Policy ()
+ , id_ (id)
+ , the_typecode_ ()
+{
+}
+
+ACE_INLINE void
+TAO::TypeCodeFactory::Recursive_TypeCode::the_typecode (CORBA::TypeCode_ptr tc)
+{
+ this->the_typecode_ = CORBA::TypeCode::_duplicate (tc);
+
+ // @@ Lazy, I know. :(
+ CORBA::TCKind & mutable_kind = const_cast<CORBA::TCKind &> (this->kind_);
+
+ mutable_kind = tc->kind ();
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL