summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Notify/Ordering/common.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Notify/Ordering/common.cpp')
-rw-r--r--TAO/orbsvcs/tests/Notify/Ordering/common.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Notify/Ordering/common.cpp b/TAO/orbsvcs/tests/Notify/Ordering/common.cpp
new file mode 100644
index 00000000000..b842263a6f4
--- /dev/null
+++ b/TAO/orbsvcs/tests/Notify/Ordering/common.cpp
@@ -0,0 +1,63 @@
+// $Id$
+
+#include "common.h"
+
+#include "orbsvcs/CosNotifyCommC.h"
+#include "orbsvcs/CosNamingC.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_string.h"
+
+
+const char*
+Any_String (const CORBA::Any& any)
+{
+ static char out[256] = "";
+ CORBA::Short s;
+ CORBA::UShort us;
+ CORBA::Long l;
+ CORBA::ULong ul;
+ CORBA::ULongLong ull;
+ const char* str;
+
+ if (any >>= s)
+ {
+ ACE_OS::sprintf (out, "%d", s);
+ }
+ else if (any >>= us)
+ {
+ ACE_OS::sprintf (out, "%u", us);
+ }
+ else if (any >>= l)
+ {
+ ACE_OS::sprintf (out, "%d", l);
+ }
+ else if (any >>= ul)
+ {
+ ACE_OS::sprintf (out, "%u", ul);
+ }
+ else if (any >>= str)
+ {
+ ACE_OS::strcpy (out, str);
+ }
+ else if (any >>= ull)
+ {
+#if defined (ACE_LACKS_LONGLONG_T)
+ ACE_OS::strcpy (out, ull.as_string (out));
+#else
+ double temp =
+# if defined (ACE_CONFIG_WIN32_H)
+ static_cast<double> (static_cast<CORBA::LongLong> (ull));
+# else
+ ull;
+# endif /* ACE_CONFIG_WIN32_H */
+
+ ACE_OS::sprintf (out, "%.0f", temp);
+#endif /* ACE_LACKS_LONGLONG_T */
+ }
+ else
+ {
+ ACE_OS::strcpy (out, "Unsupported Any Type");
+ }
+
+ return out;
+}