summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/RTCORBA_Factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/RTCORBA_Factory.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/RTCORBA_Factory.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/RTCORBA_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/RTCORBA_Factory.cpp
new file mode 100644
index 00000000000..57981b3be9a
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Notify/RTCORBA_Factory.cpp
@@ -0,0 +1,62 @@
+// $Id$
+
+#include "RTCORBA_Factory.h"
+#include "Structured/RTCORBA_StructuredProxyPushSupplier_Tie.h"
+#include "Structured/RTCORBA_StructuredProxyPushConsumer.h"
+#include "RTCORBA_EventChannel.h"
+#include "Admin.h"
+#include "Proxy.h"
+#include "RTCORBA_QoSAdmin.h"
+
+#if ! defined (__ACE_INLINE__)
+#include "RTCORBA_Factory.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(RT_Notify, TAO_NS_RTCORBA_Factory, "$Id$")
+
+TAO_NS_RTCORBA_Factory::TAO_NS_RTCORBA_Factory (void)
+{
+}
+
+TAO_NS_RTCORBA_Factory::~TAO_NS_RTCORBA_Factory ()
+{
+}
+
+void
+TAO_NS_RTCORBA_Factory::create (TAO_NS_QoSAdmin*& qos_admin ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_NEW_THROW_EX (qos_admin, TAO_NS_RTCORBA_QoSAdmin (), CORBA::NO_MEMORY ());
+}
+
+void
+TAO_NS_RTCORBA_Factory::create (TAO_NS_EventChannel*& channel ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_NEW_THROW_EX (channel,
+ TAO_NS_RTCORBA_EventChannel (),
+ CORBA::NO_MEMORY ());
+}
+
+void
+TAO_NS_RTCORBA_Factory::create (TAO_NS_StructuredProxyPushSupplier*& proxy ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_NS_RTCORBA_StructuredProxyPushSupplier_Tie* proxy_tie;
+
+ ACE_NEW_THROW_EX (proxy_tie,
+ TAO_NS_RTCORBA_StructuredProxyPushSupplier_Tie (),
+ CORBA::NO_MEMORY ());
+ proxy = proxy_tie->_tied_object ();
+
+ /// set correct callback.
+ proxy->destroy_callback (proxy_tie);
+
+}
+
+void
+TAO_NS_RTCORBA_Factory::create (TAO_NS_StructuredProxyPushConsumer*& proxy ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_NEW_THROW_EX (proxy,
+ TAO_NS_RTCORBA_StructuredProxyPushConsumer (),
+ CORBA::NO_MEMORY ());
+}
+
+