summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormbrudka <mbrudka@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-14 23:12:09 +0000
committermbrudka <mbrudka@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-14 23:12:09 +0000
commit6c301446e3da9b5f358d9cfff8813061a0c332f5 (patch)
tree202fdd31687f4a1dfd43b7b08f1f43a20ae26ca0
parenta790ba8eef65bdfdd3894ca00c63eb066dce2571 (diff)
downloadATCD-6c301446e3da9b5f358d9cfff8813061a0c332f5.tar.gz
ChangeLogTag: Sat Jan 15 00:08:12 2005 Marek Brudka <mbrudka@aster.pl>
-rw-r--r--TAO/ChangeLog18
-rw-r--r--TAO/examples/AMI/FL_Callback/README2
-rw-r--r--TAO/examples/AMI/FL_Callback/progress.cpp2
-rw-r--r--TAO/examples/AMI/FL_Callback/svc.conf3
-rw-r--r--TAO/examples/AMI/FL_Callback/svc.conf.xml9
-rw-r--r--TAO/tao/fl_resource.cpp15
-rw-r--r--TAO/tao/fl_resource.h10
-rw-r--r--TAO/tao/fl_resource_loader.cpp14
-rw-r--r--TAO/tao/fl_resource_loader.h43
-rw-r--r--TAO/tao/qt_resource.h5
-rw-r--r--TAO/tao/qt_resource_loader.cpp2
-rw-r--r--TAO/tao/tao_flreactor.mpc2
-rw-r--r--TAO/tao/tao_tkreactor.mpc2
-rw-r--r--TAO/tao/tk_resource.cpp15
-rw-r--r--TAO/tao/tk_resource.h11
-rw-r--r--TAO/tao/xt_resource.cpp12
-rw-r--r--TAO/tao/xt_resource.h8
-rw-r--r--TAO/tao/xt_resource_loader.cpp4
-rw-r--r--TAO/tests/FL_Cube/client.cpp4
-rw-r--r--TAO/tests/FL_Cube/server.cpp6
-rw-r--r--TAO/tests/FL_Cube/svc.conf3
-rw-r--r--TAO/tests/FL_Cube/svc.conf.xml10
22 files changed, 136 insertions, 64 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index acb5f8236e8..6f03d8c1be8 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,5 +1,16 @@
-Fri Jan 14 22:37:44 2005 Marek Brudka <mbrudka@aster.pl>
+Sat Jan 15 00:08:12 2005 Marek Brudka <mbrudka@aster.pl>
+ * tao/tk_resource.h (Module):
+ * tao/tk_resource.cpp (Module):
+ * examples/AMI/FL_Callback/svc.conf.xml (Module):
+ * examples/AMI/FL_Callback/svc.conf (Module):
+ * tests/FL_Cube/server.cpp (Module):
+ * tests/FL_Cube/client.cpp (Module):
+ * tao/tao_flreactor.mpc (Module):
+ * tao/fl_resource.h (Module):
+ * tao/fl_resource.cpp (Module):
+ * examples/AMI/FL_Callback/progress.cpp (Module):
+ * examples/AMI/FL_Callback/README (Module):
* tests/Xt_Stopwatch/svc.conf (Module):
* tests/Xt_Stopwatch/svc.conf.xml (Module):
* tests/Xt_Stopwatch/server.cpp (Module):
@@ -9,10 +20,11 @@ Fri Jan 14 22:37:44 2005 Marek Brudka <mbrudka@aster.pl>
* tao/xt_resource_loader.cpp (Module):
* tao/xt_resource.i (Module):
* tao/xt_resource_loader.cpp (Module):
+ * tao/xt_resource.h (Module):
* tao/xt_resource.cpp (Module):
* tao/tao_xtreactor.mpc (Module):
- Created TAO_XtResource_Loader, changed XT_Resource_Factory name to XtResource_Factory,
- updated doc and adapted tests to new way xt resources are loaded.
+ Created TAO_*Resource_Loader, changed some names,
+ updated doc and adapted tests to new way gui resources are loaded.
* tests/QtTests/server.cpp (Module):
* tests/QtTests/client.cpp (Module):
diff --git a/TAO/examples/AMI/FL_Callback/README b/TAO/examples/AMI/FL_Callback/README
index 134cce782e1..59c3cd0ba9a 100644
--- a/TAO/examples/AMI/FL_Callback/README
+++ b/TAO/examples/AMI/FL_Callback/README
@@ -5,7 +5,7 @@ GUI components.
Run as:
-$ ./progress -p 4 -i 10000 -ORBSvcConf svc.conf
+$ ./progress -p 4 -i 10000
$ ./peer -n 1 -t 10000 -ORBSvcConf peer.conf
$ ./peer -n 2 -t 10000 -ORBSvcConf peer.conf
$ ./peer -n 4 -t 10000 -ORBSvcConf peer.conf
diff --git a/TAO/examples/AMI/FL_Callback/progress.cpp b/TAO/examples/AMI/FL_Callback/progress.cpp
index a78523723e7..5f7cfdf003e 100644
--- a/TAO/examples/AMI/FL_Callback/progress.cpp
+++ b/TAO/examples/AMI/FL_Callback/progress.cpp
@@ -3,6 +3,7 @@
#include "Progress_i.h"
#include "ace/Get_Opt.h"
#include "ace/OS_NS_stdio.h"
+#include "tao/fl_resource_loader.h"
ACE_RCSID (FL_Callback,
progress,
@@ -54,6 +55,7 @@ parse_args (int argc, char *argv[])
int
main (int argc, char *argv[])
{
+ TAO_FlResource_Loader fl_loader;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
diff --git a/TAO/examples/AMI/FL_Callback/svc.conf b/TAO/examples/AMI/FL_Callback/svc.conf
deleted file mode 100644
index 7c5cce55563..00000000000
--- a/TAO/examples/AMI/FL_Callback/svc.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-#
-dynamic Resource_Factory Service_Object * TAO_FlReactor:_make_TAO_FlResource_Factory() ""
diff --git a/TAO/examples/AMI/FL_Callback/svc.conf.xml b/TAO/examples/AMI/FL_Callback/svc.conf.xml
deleted file mode 100644
index ff6e5ea55fe..00000000000
--- a/TAO/examples/AMI/FL_Callback/svc.conf.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from ./examples/AMI/FL_Callback/svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- $Id$ -->
- <!-- -->
- <dynamic id="Resource_Factory" type="Service_Object">
- <initializer path="TAO_FlReactor" init="_make_TAO_FlResource_Factory"/>
- </dynamic>
-</ACE_Svc_Conf>
diff --git a/TAO/tao/fl_resource.cpp b/TAO/tao/fl_resource.cpp
index c171a821aad..4ca0a9ef512 100644
--- a/TAO/tao/fl_resource.cpp
+++ b/TAO/tao/fl_resource.cpp
@@ -6,15 +6,20 @@
#endif /* ! __ACE_INLINE__ */
#include "ace/FlReactor.h"
+ACE_FlReactor *TAO_FlResource_Factory::impl_ = 0;
+
ACE_Reactor_Impl *
TAO_FlResource_Factory::allocate_reactor_impl (void) const
{
- ACE_Reactor_Impl *impl = 0;
+ if ( !impl_ )
+ {
+ ACE_NEW_RETURN(impl_,
+ ACE_FlReactor (),
+ 0);
+ ACE_DEBUG ((LM_DEBUG, "ACE_FlReactor created.\n"));
+ }
- ACE_NEW_RETURN(impl,
- ACE_FlReactor (),
- 0);
- return impl;
+ return impl_;
}
ACE_STATIC_SVC_DEFINE (TAO_FlResource_Factory,
diff --git a/TAO/tao/fl_resource.h b/TAO/tao/fl_resource.h
index 3b2aee070bb..ab168fdffa3 100644
--- a/TAO/tao/fl_resource.h
+++ b/TAO/tao/fl_resource.h
@@ -20,16 +20,15 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+//forward
+class ACE_FlReactor;
/**
* @class TAO_FlResource_Factory
*
* @brief TAO's default resource factory for FlReactor
*
- * Using a <{resource source specifier}> as a discriminator, the
- * factory can return resource instances which are, e.g., global,
- * stored in thread-specific storage, stored in shared memory,
- * etc.
+ * This factory is intended for creating FlReactor for ORB.
*/
class TAO_FlReactor_Export TAO_FlResource_Factory : public TAO_Default_Resource_Factory
{
@@ -40,6 +39,9 @@ public:
protected:
/// Obtain the reactor implementation
virtual ACE_Reactor_Impl *allocate_reactor_impl (void) const;
+
+private:
+ static ACE_FlReactor *impl_; /// FlReactor created by factory
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/tao/fl_resource_loader.cpp b/TAO/tao/fl_resource_loader.cpp
new file mode 100644
index 00000000000..98c1c82f0f8
--- /dev/null
+++ b/TAO/tao/fl_resource_loader.cpp
@@ -0,0 +1,14 @@
+//$Id$
+#include "ORB_Core.h"
+#include "tao/fl_resource_loader.h"
+#include "tao/fl_resource.h"
+
+TAO_FlResource_Loader::TAO_FlResource_Loader ()
+{
+ TAO_ORB_Core::set_reactor_factory ("FlResource_Factory");
+ ACE_Service_Config::process_directive (ace_svc_desc_TAO_FlResource_Factory);
+}
+
+TAO_FlResource_Loader::~TAO_FlResource_Loader ()
+{
+}
diff --git a/TAO/tao/fl_resource_loader.h b/TAO/tao/fl_resource_loader.h
new file mode 100644
index 00000000000..8bd5ad67517
--- /dev/null
+++ b/TAO/tao/fl_resource_loader.h
@@ -0,0 +1,43 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file fl_resource_loader.h
+ *
+ * $Id$
+ *
+ * @author Marek Brudka <mbrudka@aster.pl>
+
+*/
+//=============================================================================
+
+#ifndef _TAO_FLRESOURCE_LOADER_H
+#define _TAO_FLRESOURCE_LOADER_H
+#include /**/ "ace/pre.h"
+
+#include "tao/TAO_FlReactor_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+ * @class TAO_FlResource_Loader
+ *
+ * @brief Loads TAO resources related with Fl.
+ *
+ * This class changes the default reactor implementation into ACE_FlReactor
+ *
+ */
+class TAO_FlReactor_Export TAO_FlResource_Loader
+{
+
+public:
+
+ TAO_FlResource_Loader ( );
+ virtual ~TAO_FlResource_Loader ();
+
+};
+
+#include /**/ "ace/post.h"
+#endif /* FLRESOURCELOADER_H */
diff --git a/TAO/tao/qt_resource.h b/TAO/tao/qt_resource.h
index 41c9e661cb0..3ed0524eebd 100644
--- a/TAO/tao/qt_resource.h
+++ b/TAO/tao/qt_resource.h
@@ -29,10 +29,7 @@
*
* @brief TAO's default resource factory
*
- * Using a <{resource source specifier}> as a discriminator, the
- * factory can return resource instances which are, e.g., global,
- * stored in thread-specific storage, stored in shared memory,
- * etc.
+ * This factory is intended for creating QtReactor for ORB.
*/
class TAO_QtReactor_Export TAO_QtResource_Factory : public TAO_Default_Resource_Factory
{
diff --git a/TAO/tao/qt_resource_loader.cpp b/TAO/tao/qt_resource_loader.cpp
index 471f4fec34e..dc5db624ade 100644
--- a/TAO/tao/qt_resource_loader.cpp
+++ b/TAO/tao/qt_resource_loader.cpp
@@ -9,9 +9,9 @@
// Must be called with lock held
TAO_QtResource_Loader::TAO_QtResource_Loader (QApplication *qapp)
{
+ TAO_QtResource_Factory::set_context (qapp);
TAO_ORB_Core::set_reactor_factory ("QtResource_Factory");
ACE_Service_Config::process_directive (ace_svc_desc_TAO_QtResource_Factory);
- TAO_QtResource_Factory::set_context (qapp);
}
TAO_QtResource_Loader::~TAO_QtResource_Loader ()
diff --git a/TAO/tao/tao_flreactor.mpc b/TAO/tao/tao_flreactor.mpc
index 8ec0950f780..734517436f3 100644
--- a/TAO/tao/tao_flreactor.mpc
+++ b/TAO/tao/tao_flreactor.mpc
@@ -3,6 +3,7 @@ project(TAO_FlReactor) : acelib, taolib, taoversion, core, tao_output, taodefaul
dynamicflags += TAO_FLREACTOR_BUILD_DLL
Header_Files {
fl_resource.h
+ fl_resource_loader.h
TAO_FlReactor_export.h
}
Inline_Files {
@@ -10,6 +11,7 @@ project(TAO_FlReactor) : acelib, taolib, taoversion, core, tao_output, taodefaul
}
Source_Files(TAO_COMPONENTS) {
Default_Resources {
+ fl_resource_loader.cpp
fl_resource.cpp
}
}
diff --git a/TAO/tao/tao_tkreactor.mpc b/TAO/tao/tao_tkreactor.mpc
index 3234e2fbc12..b91855d0c55 100644
--- a/TAO/tao/tao_tkreactor.mpc
+++ b/TAO/tao/tao_tkreactor.mpc
@@ -3,6 +3,7 @@ project(TAO_TkReactor) : acelib, taolib, taoversion, core, tao_output, taodefaul
dynamicflags += TAO_TKREACTOR_BUILD_DLL
Header_Files {
tk_resource.h
+ tk_resource_loader.h
TAO_TkReactor_export.h
}
Inline_Files {
@@ -11,6 +12,7 @@ project(TAO_TkReactor) : acelib, taolib, taoversion, core, tao_output, taodefaul
Source_Files(TAO_COMPONENTS) {
Default_Resources {
tk_resource.cpp
+ tk_resource_loader.cpp
}
}
}
diff --git a/TAO/tao/tk_resource.cpp b/TAO/tao/tk_resource.cpp
index c9e46bb2b6b..11c7a68fb45 100644
--- a/TAO/tao/tk_resource.cpp
+++ b/TAO/tao/tk_resource.cpp
@@ -5,16 +5,21 @@
# include "tk_resource.i"
#endif /* ! __ACE_INLINE__ */
#include "ace/TkReactor.h"
+ACE_TkReactor *
+TAO_TkResource_Factory::impl_ = 0 ;
ACE_Reactor_Impl *
TAO_TkResource_Factory::allocate_reactor_impl (void) const
{
- ACE_Reactor_Impl *impl = 0;
+ if ( !impl_ )
+ {
+ ACE_NEW_RETURN(impl_,
+ ACE_TkReactor (),
+ 0);
+ ACE_DEBUG ((LM_DEBUG, "ACE_TkReactor created.\n"));
+ }
- ACE_NEW_RETURN(impl,
- ACE_TkReactor (),
- 0);
- return impl;
+ return impl_;
}
ACE_STATIC_SVC_DEFINE (TAO_TkResource_Factory,
diff --git a/TAO/tao/tk_resource.h b/TAO/tao/tk_resource.h
index 630155e047c..76a7cf3bc05 100644
--- a/TAO/tao/tk_resource.h
+++ b/TAO/tao/tk_resource.h
@@ -20,16 +20,15 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+// forwards
+class ACE_TkReactor;
/**
* @class TAO_TkResource_Factory
*
* @brief TAO's default resource factory for TkReactor
*
- * Using a <{resource source specifier}> as a discriminator, the
- * factory can return resource instances which are, e.g., global,
- * stored in thread-specific storage, stored in shared memory,
- * etc.
+ * This factory is intended for creating TkReactor for ORB.
*/
class TAO_TkReactor_Export TAO_TkResource_Factory : public TAO_Default_Resource_Factory
@@ -41,6 +40,10 @@ public:
protected:
/// Obtain the reactor implementation
virtual ACE_Reactor_Impl *allocate_reactor_impl (void) const;
+
+private:
+ static ACE_TkReactor *impl_;
+
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/tao/xt_resource.cpp b/TAO/tao/xt_resource.cpp
index f824948e3fd..a9804b87a14 100644
--- a/TAO/tao/xt_resource.cpp
+++ b/TAO/tao/xt_resource.cpp
@@ -8,6 +8,9 @@
ACE_RCSID(tao, xt_resource, "$Id$")
+ACE_XtReactor *
+TAO_XtResource_Factory::impl_ = 0;
+
XtAppContext
TAO_XtResource_Factory::context_ = 0;
@@ -17,10 +20,13 @@ TAO_XtResource_Factory::allocate_reactor_impl (void) const
if (TAO_XtResource_Factory::context_ == 0)
return 0;
- ACE_Reactor_Impl *impl = 0;
+ if ( !impl_ )
+ {
+ ACE_NEW_RETURN (impl_, ACE_XtReactor (TAO_XtResource_Factory::context_), 0);
+ ACE_DEBUG ((LM_DEBUG, "ACE_FlReactor created.\n"));
+ }
- ACE_NEW_RETURN (impl, ACE_XtReactor (TAO_XtResource_Factory::context_), 0);
- return impl;
+ return impl_;
}
void
diff --git a/TAO/tao/xt_resource.h b/TAO/tao/xt_resource.h
index 8fc96001cce..187b369c7cc 100644
--- a/TAO/tao/xt_resource.h
+++ b/TAO/tao/xt_resource.h
@@ -23,6 +23,8 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/XtReactor.h"
+//forwards
+class ACE_XtReactor;
// ****************************************************************
@@ -31,10 +33,7 @@
*
* @brief TAO's default resource factory
*
- * Using a <{resource source specifier}> as a discriminator, the
- * factory can return resource instances which are, e.g., global,
- * stored in thread-specific storage, stored in shared memory,
- * etc.
+ * This factory is intended for creating XtReactor for ORB.
*/
class TAO_XtReactor_Export TAO_XtResource_Factory : public TAO_Default_Resource_Factory
{
@@ -52,6 +51,7 @@ protected:
private:
static XtAppContext context_;
+ static ACE_XtReactor *impl_;
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/tao/xt_resource_loader.cpp b/TAO/tao/xt_resource_loader.cpp
index 7250868ae92..8e65dcdb9fb 100644
--- a/TAO/tao/xt_resource_loader.cpp
+++ b/TAO/tao/xt_resource_loader.cpp
@@ -1,17 +1,15 @@
//$Id$
#include "ORB_Core.h"
#include "tao/xt_resource_loader.h"
-
-#include "ace/Dynamic_Service.h"
#include "tao/xt_resource.h"
// Must be called with lock held
TAO_XtResource_Loader::TAO_XtResource_Loader (XtAppContext context)
{
+ TAO_XtResource_Factory::set_context (context);
TAO_ORB_Core::set_reactor_factory ("XtResource_Factory");
ACE_Service_Config::process_directive (ace_svc_desc_TAO_XtResource_Factory);
- TAO_XtResource_Factory::set_context (context);
}
TAO_XtResource_Loader::~TAO_XtResource_Loader ()
diff --git a/TAO/tests/FL_Cube/client.cpp b/TAO/tests/FL_Cube/client.cpp
index 0f08a866f01..bdfe051c21f 100644
--- a/TAO/tests/FL_Cube/client.cpp
+++ b/TAO/tests/FL_Cube/client.cpp
@@ -1,5 +1,5 @@
// $Id$
-
+#include "tao/fl_resource_loader.h"
#include "testC.h"
#include "ace/Get_Opt.h"
@@ -53,6 +53,8 @@ private:
int main (int argc, char* argv[])
{
+ TAO_FlResource_Loader fl_loader;
+
ACE_TRY_NEW_ENV
{
CORBA::ORB_var orb =
diff --git a/TAO/tests/FL_Cube/server.cpp b/TAO/tests/FL_Cube/server.cpp
index 725893ee163..1f6dda6a5f2 100644
--- a/TAO/tests/FL_Cube/server.cpp
+++ b/TAO/tests/FL_Cube/server.cpp
@@ -2,6 +2,7 @@
#include "test_i.h"
#include "ace/Get_Opt.h"
+#include "tao/fl_resource_loader.h"
ACE_RCSID(FL_Cube, server, "$Id$")
@@ -39,7 +40,10 @@ int
main (int argc, char *argv[])
{
Fl_Window window(300, 300);
-
+ ACE_DEBUG ((LM_DEBUG, "before TAO_FlResource_Loader::TAO_FlResource_Loader ()\n"));
+
+ TAO_FlResource_Loader fl_loader;
+ ACE_DEBUG ((LM_DEBUG, "after TAO_FlResource_Loader::TAO_FlResource_Loader ()\n"));
Simple_Window sw (10, 10,
window.w () - 20, window.h () - 20);
window.resizable (&sw);
diff --git a/TAO/tests/FL_Cube/svc.conf b/TAO/tests/FL_Cube/svc.conf
deleted file mode 100644
index 7c5cce55563..00000000000
--- a/TAO/tests/FL_Cube/svc.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-#
-dynamic Resource_Factory Service_Object * TAO_FlReactor:_make_TAO_FlResource_Factory() ""
diff --git a/TAO/tests/FL_Cube/svc.conf.xml b/TAO/tests/FL_Cube/svc.conf.xml
deleted file mode 100644
index 3dcb86c5b4c..00000000000
--- a/TAO/tests/FL_Cube/svc.conf.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from ./tests/FL_Cube/svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- -->
- <!-- $Id$ -->
- <!-- -->
- <dynamic id="Resource_Factory" type="Service_Object">
- <initializer path="TAO_FlReactor" init="_make_TAO_FlResource_Factory"/>
- </dynamic>
-</ACE_Svc_Conf>