summaryrefslogtreecommitdiff
path: root/TAO/tao/QtResource/QtResource_Factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/QtResource/QtResource_Factory.cpp')
-rw-r--r--TAO/tao/QtResource/QtResource_Factory.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/TAO/tao/QtResource/QtResource_Factory.cpp b/TAO/tao/QtResource/QtResource_Factory.cpp
new file mode 100644
index 00000000000..d8ba19c57d0
--- /dev/null
+++ b/TAO/tao/QtResource/QtResource_Factory.cpp
@@ -0,0 +1,47 @@
+//$Id$
+
+#include "tao/QtResource/QtResource_Factory.h"
+#include "tao/debug.h"
+#include "ace/QtReactor/QtReactor.h"
+
+ACE_RCSID (TAO_QtResource,
+ QtResource_Factory,
+ "$Id$");
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ QtResource_Factory::QtResource_Factory (QApplication *qapp)
+ : reactor_impl_ (0)
+ , qapp_ (qapp)
+ {
+ }
+
+ ACE_Reactor_Impl *
+ QtResource_Factory::reactor_impl (void)
+ { // synchronized by external locks
+ if (this->qapp_ == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "TAO (%P|%t) - QApplication is undefined.",
+ " Cannot create ACE_QtReactor \n"));
+ return 0;
+ }
+
+ if (!this->reactor_impl_)
+ {
+ ACE_NEW_RETURN (this->reactor_impl_,
+ ACE_QtReactor (qapp_),
+ 0);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO (%P|%t) - ACE_QtReactor created\n"));
+ }
+
+ return this->reactor_impl_;
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL