summaryrefslogtreecommitdiff
path: root/TAO/tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp')
-rw-r--r--TAO/tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/TAO/tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp b/TAO/tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp
new file mode 100644
index 00000000000..8de0a3ed17d
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp
@@ -0,0 +1,61 @@
+// $Id$
+
+#include "Smart_Proxy_Impl.h"
+
+#include "ace/OS_NS_string.h"
+#include "ace/Log_Msg.h"
+
+Smart_Diamond_Top_Factory::Smart_Diamond_Top_Factory (void)
+{
+ ACE_DEBUG ((LM_DEBUG, "Smart_Diamond_Top_Factory\n"));
+}
+
+Diamond::Top_ptr
+Smart_Diamond_Top_Factory::create_proxy (Diamond::Top_ptr proxy
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ {
+ ACE_DEBUG ((LM_DEBUG, "create_smart_proxy\n"));
+ if (CORBA::is_nil (proxy) == 0)
+ ACE_NEW_RETURN (proxy,
+ Smart_Diamond_Top_Proxy (proxy),
+ 0);
+ return proxy;
+
+ }
+
+Smart_Diamond_Top_Proxy::Smart_Diamond_Top_Proxy (Diamond::Top_ptr proxy)
+ : TAO_Smart_Proxy_Base (proxy)
+{
+}
+
+char *
+Smart_Diamond_Top_Proxy::shape ( ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ ACE_DEBUG ((LM_DEBUG, "Smart_proxy: This is "));
+
+ char *ans= 0;
+ ACE_TRY
+ {
+ ans =
+ ACE_OS::strdup (
+ Diamond::TAO_Diamond_Top_Smart_Proxy_Base::shape (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ )
+ );
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "%s\n", ans));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Uncaught Exception");
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return ans;
+}