summaryrefslogtreecommitdiff
path: root/TAO/tao/TypeCode.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/TypeCode.h')
-rw-r--r--TAO/tao/TypeCode.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/TAO/tao/TypeCode.h b/TAO/tao/TypeCode.h
index 2f1a9007368..b13b7c3b625 100644
--- a/TAO/tao/TypeCode.h
+++ b/TAO/tao/TypeCode.h
@@ -28,10 +28,14 @@
#include "tao/UserException.h"
#include "tao/Basic_Types.h"
#include "tao/OBV_Constants.h"
-
+#include "tao/CORBA_methods.h"
+#include "tao/Pseudo_VarOut_T.h"
namespace CORBA
{
+ typedef TAO_Pseudo_Var_T<TypeCode> TypeCode_var;
+ typedef TAO_Pseudo_Out_T<TypeCode, TypeCode_var> TypeCode_out;
+
/**
* @enum TCKind
@@ -93,7 +97,7 @@ namespace CORBA
// dispatch based on TCKind values, and lets many important ones
// just be table lookups. It must always be the last enum value!!
- TC_KIND_COUNT
+ TAO_TC_KIND_COUNT
};
typedef TCKind & TCKind_out;
@@ -463,6 +467,9 @@ namespace CORBA
/// Decrease the reference count on this object.
virtual void tao_release (void) = 0;
+ /// Destruction callback for Anys.
+ static void CORBA::TypeCode::_tao_any_destructor (void * x);
+
protected:
/// Constructor.
@@ -531,10 +538,23 @@ namespace TAO
{
extern TAO_Export bool operator<< (TAO_OutputCDR & cdr,
CORBA::TypeCode const * x);
+ extern TAO_Export bool operator>> (TAO_InputCDR& cdr,
+ CORBA::TypeCode *&x);
+
+ /// Return the unaliased content @c TypeCode of the given
+ /// @c TypeCode.
+ CORBA::TypeCode_ptr unaliased_typecode (CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL);
/// Return the unaliased @c TCKind of the given @c TypeCode.
+ /**
+ * @note This is a convenience function that simply calls @c kind()
+ * on the unaliased @c TypeCode returned from
+ * @c unaliased_typecode().
+ */
CORBA::TCKind unaliased_kind (CORBA::TypeCode_ptr tc
ACE_ENV_ARG_DECL);
+
}