summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormbrudka <mbrudka@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-23 01:30:32 +0000
committermbrudka <mbrudka@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-23 01:30:32 +0000
commit64a8b101a6c5d47987892a0129c148a38fca17be (patch)
treef1a11a2cbf2feca71b9ff15288a392aa4efae06e
parent2e0c262596bbc80570d7a9f4f2ec773d71958e2d (diff)
downloadATCD-64a8b101a6c5d47987892a0129c148a38fca17be.tar.gz
ChangeLogTag: Sun Jan 23 01:54:59 2005 Marek Brudka <mbrudka@aster.pl>
-rw-r--r--ACE-INSTALL.html145
-rw-r--r--ChangeLog70
-rw-r--r--TAO/.cvsignore1
-rw-r--r--TAO/CIAO/ChangeLog9
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc2
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README2
-rw-r--r--TAO/ChangeLog608
-rw-r--r--TAO/TAO_IDL/.cvsignore1
-rw-r--r--TAO/docs/Options.html4
-rw-r--r--TAO/examples/AMI/FL_Callback/.cvsignore2
-rw-r--r--TAO/examples/AMI/FL_Callback/FL_Callback.mpc4
-rw-r--r--TAO/examples/AMI/FL_Callback/Progress_i.cpp5
-rw-r--r--TAO/examples/AMI/FL_Callback/Progress_i.h4
-rw-r--r--TAO/examples/AMI/FL_Callback/README2
-rw-r--r--TAO/examples/AMI/FL_Callback/progress.cpp20
-rw-r--r--TAO/examples/AMI/FL_Callback/svc.conf3
-rw-r--r--TAO/examples/AMI/FL_Callback/svc.conf.xml7
-rw-r--r--TAO/orbsvcs/Concurrency_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/CosEvent_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/Dump_Schedule/.cvsignore1
-rw-r--r--TAO/orbsvcs/Event_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/FTRT_Event_Service/Event_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/FTRT_Event_Service/Factory_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/FTRT_Event_Service/Gateway_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/.cvsignore1
-rw-r--r--TAO/orbsvcs/Fault_Detector/.cvsignore1
-rw-r--r--TAO/orbsvcs/Fault_Notifier/.cvsignore3
-rw-r--r--TAO/orbsvcs/IFR_Service/.cvsignore2
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/.cvsignore3
-rw-r--r--TAO/orbsvcs/LifeCycle_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/LoadBalancer/.cvsignore2
-rw-r--r--TAO/orbsvcs/Logging_Service/Basic_Logging_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/Logging_Service/Event_Logging_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/Logging_Service/Notify_Logging_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/Logging_Service/RTEvent_Logging_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/Naming_Service/.cvsignore2
-rw-r--r--TAO/orbsvcs/Notify_Service/.cvsignore2
-rw-r--r--TAO/orbsvcs/Scheduling_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/TAO_Service/.cvsignore1
-rw-r--r--TAO/orbsvcs/Time_Service/.cvsignore2
-rw-r--r--TAO/orbsvcs/Trading_Service/.cvsignore1
-rw-r--r--TAO/tao/FlResource.mpc15
-rw-r--r--TAO/tao/FlResource_Factory.cpp36
-rw-r--r--TAO/tao/FlResource_Factory.h55
-rw-r--r--TAO/tao/FlResource_Loader.cpp26
-rw-r--r--TAO/tao/FlResource_Loader.h50
-rw-r--r--TAO/tao/GUIResource_Factory.cpp55
-rw-r--r--TAO/tao/GUIResource_Factory.h90
-rw-r--r--TAO/tao/Leader_Follower.cpp17
-rw-r--r--TAO/tao/ORB_Core.cpp24
-rw-r--r--TAO/tao/ORB_Core.h18
-rw-r--r--TAO/tao/QtResource.mpc19
-rw-r--r--TAO/tao/QtResource_Factory.cpp45
-rw-r--r--TAO/tao/QtResource_Factory.h65
-rw-r--r--TAO/tao/QtResource_Loader.cpp25
-rw-r--r--TAO/tao/QtResource_Loader.h52
-rw-r--r--TAO/tao/Strategies.mpc1
-rw-r--r--TAO/tao/Strategies/advanced_resource.cpp47
-rw-r--r--TAO/tao/Strategies/advanced_resource.h13
-rw-r--r--TAO/tao/TAO_FlResource_Export.h58
-rw-r--r--TAO/tao/TAO_QtResource_Export.h58
-rw-r--r--TAO/tao/TAO_TkResource_Export.h58
-rw-r--r--TAO/tao/TAO_XtResource_Export.h58
-rw-r--r--TAO/tao/TSS_Resources.cpp13
-rw-r--r--TAO/tao/TSS_Resources.h12
-rw-r--r--TAO/tao/TkResource.mpc15
-rw-r--r--TAO/tao/TkResource_Factory.cpp37
-rw-r--r--TAO/tao/TkResource_Factory.h59
-rw-r--r--TAO/tao/TkResource_Loader.cpp26
-rw-r--r--TAO/tao/TkResource_Loader.h49
-rw-r--r--TAO/tao/XtResource.mpc15
-rw-r--r--TAO/tao/XtResource_Factory.cpp45
-rw-r--r--TAO/tao/XtResource_Factory.h61
-rw-r--r--TAO/tao/XtResource_Loader.cpp26
-rw-r--r--TAO/tao/XtResource_Loader.h50
-rw-r--r--TAO/tao/qt_resource.cpp41
-rw-r--r--TAO/tao/qt_resource.h63
-rw-r--r--TAO/tao/qt_resource.i5
-rw-r--r--TAO/tao/tao.mpc346
-rw-r--r--TAO/tao/xt_resource.cpp42
-rw-r--r--TAO/tao/xt_resource.h68
-rw-r--r--TAO/tao/xt_resource.i6
-rw-r--r--TAO/tests/FL_Cube/.cvsignore2
-rw-r--r--TAO/tests/FL_Cube/FL_Cube.mpc4
-rw-r--r--TAO/tests/FL_Cube/client.cpp17
-rw-r--r--TAO/tests/FL_Cube/server.cpp15
-rw-r--r--TAO/tests/FL_Cube/svc.conf3
-rw-r--r--TAO/tests/FL_Cube/svc.conf.xml7
-rw-r--r--TAO/tests/FL_Cube/test_i.cpp3
-rw-r--r--TAO/tests/FL_Cube/test_i.h4
-rw-r--r--TAO/tests/QtTests/.cvsignore8
-rw-r--r--TAO/tests/QtTests/QtTests.mpc6
-rw-r--r--TAO/tests/QtTests/README5
-rwxr-xr-xTAO/tests/QtTests/client.cpp15
-rwxr-xr-xTAO/tests/QtTests/client.h5
-rwxr-xr-xTAO/tests/QtTests/server.cpp31
-rw-r--r--TAO/tests/QtTests/svc.conf4
-rw-r--r--TAO/tests/QtTests/svc.conf.xml10
-rwxr-xr-xTAO/tests/QtTests/test_i.cpp8
-rwxr-xr-xTAO/tests/QtTests/test_i.h7
-rw-r--r--TAO/tests/Xt_Stopwatch/.cvsignore4
-rw-r--r--TAO/tests/Xt_Stopwatch/Client.h4
-rw-r--r--TAO/tests/Xt_Stopwatch/Control.cpp2
-rw-r--r--TAO/tests/Xt_Stopwatch/Control.h2
-rw-r--r--TAO/tests/Xt_Stopwatch/README26
-rw-r--r--TAO/tests/Xt_Stopwatch/Stopwatch_display.cpp2
-rw-r--r--TAO/tests/Xt_Stopwatch/Stopwatch_display.h3
-rw-r--r--TAO/tests/Xt_Stopwatch/Xt_Stopwatch.mpc6
-rw-r--r--TAO/tests/Xt_Stopwatch/client.cpp14
-rw-r--r--TAO/tests/Xt_Stopwatch/server.cpp18
-rw-r--r--TAO/tests/Xt_Stopwatch/svc.conf3
-rw-r--r--TAO/tests/Xt_Stopwatch/svc.conf.xml9
-rw-r--r--TAO/tests/Xt_Stopwatch/test_i.cpp5
-rw-r--r--TAO/tests/Xt_Stopwatch/test_i.h3
-rw-r--r--TAO/tests/Xt_Stopwatch/timer.cpp2
-rw-r--r--TAO/tests/Xt_Stopwatch/timer.h2
-rw-r--r--TAO/utils/catior/.cvsignore1
-rw-r--r--TAO/utils/nslist/.cvsignore3
-rw-r--r--ace/.cvsignore2
-rw-r--r--ace/ACE_FlReactor_export.h58
-rw-r--r--ace/ACE_QtReactor_export.h58
-rw-r--r--ace/ACE_TkReactor_export.h58
-rw-r--r--ace/ACE_XtReactor_export.h58
-rw-r--r--ace/FlReactor.cpp4
-rw-r--r--ace/FlReactor.h7
-rw-r--r--ace/QtReactor.cpp2
-rw-r--r--ace/QtReactor.h6
-rw-r--r--ace/README13
-rw-r--r--ace/TkReactor.cpp2
-rw-r--r--ace/TkReactor.h10
-rw-r--r--ace/XtReactor.cpp2
-rw-r--r--ace/XtReactor.h9
-rw-r--r--ace/ace.mpc6
-rw-r--r--ace/ace.mwc4
-rw-r--r--ace/ace_flreactor.mpc19
-rw-r--r--ace/ace_qtreactor.mpc23
-rw-r--r--ace/ace_tkreactor.mpc19
-rw-r--r--ace/ace_xtreactor.mpc18
-rw-r--r--ace/config-doxygen.h7
-rw-r--r--ace/config-win32-msvc.h7
-rw-r--r--apps/gperf/src/.cvsignore2
-rw-r--r--apps/gperf/tests/.cvsignore58
-rw-r--r--bin/MakeProjectCreator/config/ace_athena.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ace_fl.mpb18
-rw-r--r--bin/MakeProjectCreator/config/ace_flreactor.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ace_gl.mpb16
-rw-r--r--bin/MakeProjectCreator/config/ace_gtk.mpb13
-rw-r--r--bin/MakeProjectCreator/config/ace_motif.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ace_qt.mpb10
-rw-r--r--bin/MakeProjectCreator/config/ace_qtreactor.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ace_tk.mpb13
-rw-r--r--bin/MakeProjectCreator/config/ace_tkreactor.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ace_x11.mpb16
-rw-r--r--bin/MakeProjectCreator/config/ace_xt.mpb14
-rw-r--r--bin/MakeProjectCreator/config/ace_xtreactor.mpb7
-rw-r--r--bin/MakeProjectCreator/config/acedefaults.mpb2
-rw-r--r--bin/MakeProjectCreator/config/global.features48
-rw-r--r--bin/MakeProjectCreator/config/strategies.mpb1
-rw-r--r--bin/MakeProjectCreator/config/tao_flresource.mpb6
-rw-r--r--bin/MakeProjectCreator/config/tao_qtresource.mpb7
-rw-r--r--bin/MakeProjectCreator/config/tao_tkresource.mpb6
-rw-r--r--bin/MakeProjectCreator/config/tao_xtresource.mpb7
-rw-r--r--examples/APG/Active_Objects/.cvsignore4
-rw-r--r--examples/APG/Config/.cvsignore6
-rw-r--r--examples/APG/Containers/.cvsignore24
-rw-r--r--examples/APG/Logging/.cvsignore36
-rw-r--r--examples/APG/Misc_IPC/.cvsignore6
-rw-r--r--examples/APG/Naming/.cvsignore10
-rw-r--r--examples/APG/Proactor/.cvsignore2
-rw-r--r--examples/APG/Processes/.cvsignore8
-rw-r--r--examples/APG/Reactor/.cvsignore16
-rw-r--r--examples/APG/Shared_Memory/.cvsignore10
-rw-r--r--examples/APG/Signals/.cvsignore10
-rw-r--r--examples/APG/Sockets/.cvsignore8
-rw-r--r--examples/APG/Streams/.cvsignore2
-rw-r--r--examples/APG/Svc_Config/.cvsignore4
-rw-r--r--examples/APG/ThreadManagement/.cvsignore18
-rw-r--r--examples/APG/ThreadPools/.cvsignore10
-rw-r--r--examples/APG/ThreadSafety/.cvsignore16
-rw-r--r--examples/APG/Threads/.cvsignore12
-rw-r--r--examples/APG/Timers/.cvsignore8
-rw-r--r--examples/ASX/.cvsignore1
-rw-r--r--examples/ASX/CCM_App/.cvsignore4
-rw-r--r--examples/ASX/Message_Queue/.cvsignore6
-rw-r--r--examples/Bounded_Packet_Relay/.cvsignore2
-rw-r--r--examples/C++NPv1/.cvsignore14
-rw-r--r--examples/C++NPv2/.cvsignore14
-rw-r--r--examples/Connection/blocking/.cvsignore4
-rw-r--r--examples/Connection/misc/.cvsignore4
-rw-r--r--examples/Connection/non_blocking/.cvsignore16
-rw-r--r--examples/DLL/.cvsignore2
-rw-r--r--examples/Export/.cvsignore2
-rw-r--r--examples/IOStream/client/.cvsignore2
-rw-r--r--examples/IOStream/server/.cvsignore2
-rw-r--r--examples/IPC_SAP/ATM_SAP/.cvsignore4
-rw-r--r--examples/IPC_SAP/DEV_SAP/reader/.cvsignore2
-rw-r--r--examples/IPC_SAP/DEV_SAP/writer/.cvsignore2
-rw-r--r--examples/IPC_SAP/FIFO_SAP/.cvsignore10
-rw-r--r--examples/IPC_SAP/FILE_SAP/.cvsignore2
-rw-r--r--examples/IPC_SAP/SOCK_SAP/.cvsignore18
-rw-r--r--examples/IPC_SAP/SPIPE_SAP/.cvsignore16
-rw-r--r--examples/IPC_SAP/TLI_SAP/.cvsignore16
-rw-r--r--examples/IPC_SAP/UPIPE_SAP/.cvsignore6
-rw-r--r--examples/Log_Msg/.cvsignore6
-rw-r--r--examples/Logger/Acceptor-server/.cvsignore2
-rw-r--r--examples/Logger/client/.cvsignore2
-rw-r--r--examples/Logger/simple-server/.cvsignore2
-rw-r--r--examples/Mem_Map/IO-tests/.cvsignore2
-rw-r--r--examples/Mem_Map/file-reverse/.cvsignore1
-rw-r--r--examples/Misc/.cvsignore16
-rw-r--r--examples/Misc/Misc.mpc4
-rw-r--r--examples/Misc/test_XtReactor1.cpp10
-rw-r--r--examples/Misc/test_XtReactor2.cpp11
-rw-r--r--examples/Naming/.cvsignore4
-rw-r--r--examples/OS/Process/.cvsignore4
-rw-r--r--examples/RMCast/Send_File/.cvsignore4
-rw-r--r--examples/Reactor/Dgram/.cvsignore4
-rw-r--r--examples/Reactor/FIFO/.cvsignore4
-rw-r--r--examples/Reactor/Misc/.cvsignore16
-rw-r--r--examples/Reactor/Multicast/.cvsignore4
-rw-r--r--examples/Reactor/Ntalker/.cvsignore2
-rw-r--r--examples/Reactor/Proactor/.cvsignore7
-rw-r--r--examples/Service_Configurator/IPC-tests/client/.cvsignore10
-rw-r--r--examples/Service_Configurator/IPC-tests/server/.cvsignore1
-rw-r--r--examples/Service_Configurator/Misc/.cvsignore1
-rw-r--r--examples/Shared_Malloc/.cvsignore4
-rw-r--r--examples/Shared_Memory/.cvsignore2
-rw-r--r--examples/Smart_Pointers/.cvsignore2
-rw-r--r--examples/Synch/.cvsignore1
-rw-r--r--examples/System_V_IPC/SV_Message_Queues/.cvsignore4
-rw-r--r--examples/System_V_IPC/SV_Semaphores/.cvsignore2
-rw-r--r--examples/TMCast/Member/.cvsignore1
-rw-r--r--examples/Threads/.cvsignore22
-rw-r--r--examples/Timer_Queue/.cvsignore3
-rw-r--r--examples/Web_Crawler/.cvsignore1
-rw-r--r--include/makeinclude/platform_linux.GNU10
-rw-r--r--include/makeinclude/platform_linux_borland.GNU8
-rw-r--r--include/makeinclude/platform_linux_icc.GNU8
-rw-r--r--include/makeinclude/platform_linux_pgi.GNU8
-rw-r--r--include/makeinclude/platform_lynxos.GNU8
-rw-r--r--include/makeinclude/platform_sunos5_g++.GNU9
-rw-r--r--include/makeinclude/wrapper_macros.GNU147
-rwxr-xr-xtests/.cvsignore309
-rw-r--r--tests/FlReactor_Test.cpp17
-rw-r--r--tests/HTBP/Reactor_Tests/.cvsignore4
-rw-r--r--tests/HTBP/Send_Large_Msg/.cvsignore4
-rw-r--r--tests/HTBP/Send_Recv_Tests/.cvsignore2
-rw-r--r--tests/HTBP/ping/.cvsignore4
-rw-r--r--tests/QtReactor_Test.cpp9
-rw-r--r--tests/QtReactor_Test.h3
-rw-r--r--tests/RMCast/.cvsignore12
-rw-r--r--tests/TkReactor_Test.cpp17
-rw-r--r--tests/XtAthenaReactor_Test.cpp329
-rw-r--r--tests/XtMotifReactor_Test.cpp (renamed from tests/XtReactor_Test.cpp)40
-rw-r--r--tests/tests.mpc24
255 files changed, 4384 insertions, 826 deletions
diff --git a/ACE-INSTALL.html b/ACE-INSTALL.html
index ba009b7e343..59e1168d270 100644
--- a/ACE-INSTALL.html
+++ b/ACE-INSTALL.html
@@ -41,6 +41,7 @@ report process</a>.<p>
</li><li><a href="#aceinstall">Building and Installing ACE</a>
</li><li><a href="#svcsinstall">Building and Installing ACE Network Services</a>
</li><li><a href="#sslinstall">Building and Installing The ACE_SSL Library</a>
+ </li><li><a href="#guireactor_install">Building and Using GUI Reactors Libraries</a>
</li><li><a href="#minimum_build">What Do I Need to Build for TAO?</a>
</li><li><a href="#resource_requirements">System Resource Requirements</a>
</li><li><a href="#MPC">General MPC Information</a>
@@ -159,7 +160,7 @@ document</a>.</p><p>
Tandem; SCO; FreeBSD; NetBSD; OpenBSD;
Macintosh OS X;
Chorus; OS/9; PharLap TNT Embedded ToolSuite 9.1;
- QNX RTP and Neutrino 2.0; LynxOS; RTEMS; Interix
+ QNX RTP and Neutrino 2.0; LynxOS; RTEMS; Interix
(Windows Services for Unix)
</td>
</tr><tr>
@@ -205,8 +206,8 @@ of ACE (TAO and CIAO) includes GNUmakefiles for UNIX platforms, VC6
project files, and VC71 solution files. If it is necessary to generate
files for build tools for other compilers such as Visual Age for IBM,
and Windows CE users have to run MPC themselves to generate the
-appropriate files. Please see <a href="MPC/USAGE"> USAGE </a>,
-<a href="MPC/README"> README </a> and
+appropriate files. Please see <a href="MPC/USAGE"> USAGE </a>,
+<a href="MPC/README"> README </a> and
<a href="bin/MakeProjectCreator/README">README for ACE</a> files for
details. The options that have been used to generate the above build
files can be found in <a href="bin/MakeProjectCreator/config/global.features">
@@ -233,8 +234,8 @@ global.features</a> file.
<a href="#mingw">GNU g++ with MinGW</a>,
<a href="#cygwin">GNU g++ with Cygwin</a>,
<a href="#borland">Borland C++ Builder 6.0
- and Borland C++ BuilderX</a>,
- <a href="#interix">Interix (Windows Services for Unix)</a>,
+ and Borland C++ BuilderX</a>,
+ <a href="#interix">Interix (Windows Services for Unix)</a>,
and IBM's VisualAge C++ compiler.
Since we don't have these compilers we rely on the ACE+TAO users
community to maintain these ports. Therefore, please send email
@@ -334,7 +335,7 @@ global.features</a> file.
without any modifications on RedHat 5.1 and later, and on
Debian 2.1 on both Intel and Alpha. Use the
<code>platform_linux.GNU</code> and <code>ace/config-linux.h</code>
- in your <code>platform_macros.GNU</code> and
+ in your <code>platform_macros.GNU</code> and
<code>config.h</code> files, respectively. The same
files can be used on PowerPC, with LinuxPPC
1999 (R5), with glibc 2.1.1.</p><p>
@@ -600,7 +601,7 @@ global.features</a> file.
5.4 and earlier don't support the C++ features ACE needs.</p><p>
Tornado 2.2/VxWorks 5.5 support IP multicast. That is not enabled
- by default in ACE for VxWorks, because it depends on your
+ by default in ACE for VxWorks, because it depends on your
kernel configuration. To enable it, add
<code>#define ACE_HAS_IP_MULTICAST</code> to your
<code>ace/config.h</code>.</p><p>
@@ -1765,37 +1766,37 @@ of the various tests on Cygwin and the different Windows flavors.
<p>
<H4><a name="interix">Building and Installing ACE on Win32 with Interix</H4>
-<P>Interix comes with a BSD style make you need GNUmake.
+<P>Interix comes with a BSD style make you need GNUmake.
</P>
-<P>Make builds easily under Interix or there is a pre-built
+<P>Make builds easily under Interix or there is a pre-built
package at: </P>
-<P><A
+<P><A
href="http://www.interopsystems.com/tools/warehouse.htm">http://www.interopsystems.com/tools/warehouse.htm</A> </P>
-<P>If you are building for a machine without a network
+<P>If you are building for a machine without a network
card, you may want to check <A href="#win32nonic" ><FONT color=#0000ff>here</FONT></A> first. </P>
-<P>This port was built and tested under Interix 3.5. a.k.a.
-<A href="http://www.microsoft.com/windows/sfu/">Windows
+<P>This port was built and tested under Interix 3.5. a.k.a.
+<A href="http://www.microsoft.com/windows/sfu/">Windows
Services for UNIX 3.5.</A></P>
-<P>To build follow the <A href="#unix_traditional" >Traditional ACE/GNU Make
+<P>To build follow the <A href="#unix_traditional" >Traditional ACE/GNU Make
Configuration</A> instructions replacing the following include directives:</P>
-<P><TT>#include
+<P><TT>#include
"ace/config-win32-interix.h"</TT> </P>
<P>for the config.h header </P>
<P>and: </P>
-<P><TT>include
+<P><TT>include
$(ACE_ROOT)/include/makeinclude/platform_win32_interix.GNU</TT></P>
<P>for your platform_macros.GNU file.</P>
-<P>ACE should build fine with just '<TT>make</TT>', the only other option&nbsp;tried thus far is
-'<TT>make static_libs_only=1</TT>' which also works. Any
+<P>ACE should build fine with just '<TT>make</TT>', the only other option tried thus far is
+'<TT>make static_libs_only=1</TT>' which also works. Any
other options may not work.</P>
<P><b>ACE TESTS</B> </P>
-<p>The tests are located in <TT>$ACE_ROOT/tests</TT>. After building the library, you can
+<p>The tests are located in <TT>$ACE_ROOT/tests</TT>. After building the library, you can
change to that directory and run make: </P><code></CODE>
<P><TT>% cd $ACE_ROOT/tests </TT><BR><TT>% make </TT>
<p>Once you build all the tests, you can run <code>run_test.pl</CODE> in the <code>tests</CODE> directory to try all the tests: </P>
<P><TT>% run_test.pl </TT></P>
-<p>If you are using ACE as a shared library, you will need
-to modify your LD_LIBRARY_PATH&nbsp;as explained in&nbsp;<A href="#unix_traditional" ><FONT color=#800080>Traditional ACE/GNU Make Configuration</FONT></A>. </P>
+<p>If you are using ACE as a shared library, you will need
+to modify your LD_LIBRARY_PATH as explained in <A href="#unix_traditional" ><FONT color=#800080>Traditional ACE/GNU Make Configuration</FONT></A>. </P>
<p></P>
<p></p><hr align="left" width="50%"><p>
@@ -1929,7 +1930,7 @@ without spawning another thread by using:<p>
spaef ace_main, "arg1" [, ...]
</code></pre>
-Be aware of the fact that when you execute <code>ace_main</code> that argc
+Be aware of the fact that when you execute <code>ace_main</code> that argc
will be zero and argv* will also be zero. Using argv[0] will then not return
the program name, but will result in a crash.</p>
@@ -2028,7 +2029,7 @@ the <a href="mailto:ace-users@cs.wustl.edu">ACE mailing list</a>.<p>
<strong>NOTE:</strong>The make (version 3.74) that is provided with
Tornado 2.2 cannot be used to build ACE. A working version is available
-from the WindRiver support site, download the
+from the WindRiver support site, download the
<a href="https://secure.windriver.com/cgi-bin/windsurf/downloads/view_binary.cgi?binaryid=838">
make3_80.gvk_patches</a> and the
<a href="https://secure.windriver.com/cgi-bin/windsurf/downloads/view_binary.cgi?binaryid=100340">
@@ -2139,7 +2140,7 @@ on Windows NT hosts:
And create a
<code>$ACE_ROOT/include/makeinclude/platform_macros.GNU</code>
that looks like:<p>
- </p><pre>
+ </p><pre>
WIND_BASE = /tornado
WIND_HOST_TYPE = x86-win32
CPU = I80486
@@ -2156,7 +2157,7 @@ on Windows NT hosts:
<h5>TAO on NT Tornado host, VxWorks target.</h5>
<ol>
- <li>Build ACE and TAO_IDL in the NT tree as already documented.
+ <li>Build ACE and TAO_IDL in the NT tree as already documented.
Be sure to build ACE's gperf on NT, in
<code>ACE_wrappers/apps/gperf/src</code>.<p>
@@ -2468,7 +2469,7 @@ below.</p>
</ol>
<h3>Borland C++</h3>
<p>Support for building ACE's ACE_SSL library and TAO's SSLIOP
- pluggable protocol with Borland C++ does exist.
+ pluggable protocol with Borland C++ does exist.
<ol>
<li>Set the <code>SSL_ROOT</code> environment variable to the location
of the directory containing the OpenSSL <code>inc32</code> and
@@ -2481,6 +2482,89 @@ below.</p>
</ol>
</p>
+<hr><p>
+</p><h3><a name="guireactor_install">Building and Using GUI Reactors Libraries</a></h3>
+There is a general method for building and using <code>ACE_Reactors</code> for various GUI
+libraries.
+ <h4> Building GUI Reactor Library </h4>
+ <ol>
+ <li>Try to generate build files using MPC. Inspect the output of MPC to find out which features are
+ necessary to build given reactor. Add these features to
+ <code>ACE_wrappers/bin/MakeProjectCreator/*.features</code> file, or pass them directly to MPC
+ using <code>-features</code> command line option. For example, for <code>FlReactor</code> the procedure
+ consists of five steps
+ <ol>
+ <li> In the first pass one gets that <code>x11</code> (X11 libraries) is missing.<br>
+ <code>$ mwc.pl
+ Skipping ACE_FlReactor (ace_flreactor.mpc), it requires x11.
+ </code></li>
+ Ensure that <code>X11</code> libraries are installed, then pass <code>x11=1</code> feature to MPC.
+ <li>In the second pass one gets that <code>gl</code> (OpenGL library) is missing.<br>
+ <code>$ mwc.pl -features x11=1 ace.mwc
+ Skipping ACE_FlReactor (ace_flreactor.mpc), it requires gl.
+ </code></li>
+ Ensure that <code>OpenGL</code> libraries are installed, then pass <code>gl=1</code> feature to MPC.
+ <li>In the third pass one gets that <code>fl</code> (Fast Light Toolkit) is missing.<br>
+ <code>$ mwc.pl -features x11=1,gl=1 ace.mwc
+ Skipping ACE_FlReactor (ace_flreactor.mpc), it requires fl.
+ </code></li>
+ Ensure that <code>Fast Light Toolkit</code> libraries are installed, then pass <code>fl=1</code>
+ feature to MPC.
+ <li>In the fourth pass one gets that <code>ace_flreactor</code> feature is missing<br>
+ <code>$ mwc.pl -features x11=1,gl=1,fl=1 ace.mwc
+ Skipping ACE_FlReactor (ace_flreactor.mpc), it requires ace_flreactor.
+ </code></li>
+ Allow MPC to generate makefiles for <code>FlReactor</code> by setting <code>ace_flreactor=1</code> feature.
+ <li>In the last pass one obtains files for building <code>FlReactor</code>.<br>
+ <code>$ mwc.pl -features x11=1,gl=1,fl=1,ace_flreactor=1 ace.mwc
+ </code></li>
+ </ol>
+ </li>
+ <li> Required build files are generated now, it is enough then to invoke build tool.
+ For example for under <code>MPC::gnuace</code> one has to call
+ <code>make x11=1 gl=1 fl=1 ace_flreactor=1</code>. For <code>MPC::vc7</code> target all features are
+ encoded in generated project files, thus it is enough to compile ACE using MSVC.</li>
+ </ol>
+ The build procedure leads to a specific GUI Reactor library. For example, for
+ <code>Qt</code> and <code>Linux </code> one gets <code>libQtReactor.so</code>, while for
+ <code>Windows</code> the results are shared <code>QtReactor.dll</code> and import
+ <code>QtReactor.lib</code> libraries or their variants depending on build options.
+ <h4> Using GUI Reactor Library </h4>
+ MPC-based application projects depending on specific [Gui]Reactor may inherit settings from
+ <code>ace_[gui]reactor.mpb</code> base projects. These base projects ensure that all necessary libraries
+ are linked to the aplpication, specifies feature necessary to build a project and moreover impose a
+ build order consistant with ACE. For example, the application project using <code>XtReactor</code> should be
+ derived from <code>ace_xtreactor.mpb</code>.
+ <h4>Notes on specific GUI Reactors</h4>
+ <ul>
+ <li> <code>QtReactor</code></li>
+ The build is controlled by <code>ace_glreactor</code> feature.
+ To build this reactor one has to provide feature <code>qt</code> (Qt library). Moreover,
+ it is assumed that <code>Qt</code> was installed in a standard way
+ and <code>QTDIR</code> points to <code>Qt</code> installation folder. To build TAO
+ support for <code>Qt</code> one should use <code>tao_qtresource</code> feature.
+ <li> <code>XtReactor</code></li>
+ The build is controlled by <code>ace_xtreactor</code> feature.
+ To build this reactor one has to provide the following features: <code>x11</code> (X11 libraries) and
+ <code>xt</code> (X11 Toolkit). Moreover, some examples and tests related with <code>XtReactor</code>
+ needs additionall features namely either <code>motif</code> (Motif/Lesstif libraries) or
+ <code>athena</code> (Athena widgets). To build TAO
+ support for <code>xt</code> one should use <code>tao_xtresource
+ </code> feature.
+ <li> <code>TkReactor</code></li>
+ The is controlled by <code>ace_tkreactor</code> feature. To build this reactor one has to provide
+ <code>tk</code> (Tcl libraries) feature. To build TAO
+ support for <code>Tk</code> one should use <code>tao_tkresource</code> feature.
+ <li> <code>FlReactor</code></li>
+ The build is controlled by <code>ace_flreactor</code> feature.
+ To build this reactor one has to provide the following features: <code>x11</code> (X11 libraries),
+ <code>gl</code> (OpenGl) and <code>fl</code> (Fast Light Toolkit). To build TAO
+ support for <code>Fl</code> one should use <code>tao_flresource</code> feature.
+ <strong>MS Windows:</strong> The paths to <code>fltkdll</code> and
+ <code>OpenGL32</code> libraries, as well as <code>fltk</code> header files
+ should be setup manually for succesfull compilation. Obviosuly,
+ <code>x11</code>switch is ignored for this platform.</li>
+ </ul>
<hr><p>
</p><h3><a name="minimum_build">What Do I Need to Build for TAO?</a></h3>
@@ -2655,7 +2739,7 @@ ACE_Object_Manager</a></h4> The ACE_Object_Manager can be instantiated
as a static object, can be instantiated on the stack of the main
program thread, or can be explicitly instantiated and destroyed by the
application with <code>ACE::init ()</code> and <code>ACE::fini
-()</code>. The comments in the header file,
+()</code>. The comments in the header file,
<a href="ace/Object_Manager.h"><code>ace/Object_Manager.h</code></a>, as well as Section 1.6.3 in
<a href="http://www.riverace.com/docs">The ACE Programmer's Guide</a>
provide more detail.<p>
@@ -2792,7 +2876,7 @@ faster even on single-CPU UNIX machines with <code>make -j
ACE further supports the following flags. They can be enabled either
on the command line, e.g., "make purify=1", or added to your
-<code>platform_macros.GNU</code>. To disable the option,
+<code>platform_macros.GNU</code>. To disable the option,
set the flag to null,
e.g., "make debug=". Some flags support setting to 0 disable, e.g.,
"make debug=0". debug=1 is enabled in the platform files that are
@@ -2851,7 +2935,6 @@ xt_reactor Build the XtReactor.
fl_reactor Build the FlReactor.
tk_reactor Build the TkReactor.
qt_reactor Build the QtReactor.
-gtk_reactor Build the GtkReactor.
ssl Build with OpenSSL support.
rapi Build with RAPI
split Build the library by first splitting up the ACE source
@@ -2906,7 +2989,7 @@ quickly.
vc71</code> to generate VC71 project and solution files.
</p></li><li>If you want to build TAO+CIAO and its associated libraries
- please see <a href="TAO/TAO-INSTALL.html">TAO-INSTALL</a><a> and
+ please see <a href="TAO/TAO-INSTALL.html">TAO-INSTALL</a><a> and
</a><a href="TAO/CIAO/CIAO-INSTALL.html">CIAO-INSTALL</a> for details.
</li></ul>
@@ -2925,7 +3008,7 @@ from
<EM><br> -->
<!-- hhmts start -->
-Last modified: Sun Jan 9 19:48:58 PST 2005
+Last modified: Sat Jan 22 21:22:10 CET 2005
<!-- hhmts end -->
diff --git a/ChangeLog b/ChangeLog
index 59c549be3ab..c6ba10b8bd9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,73 @@
+Sun Jan 23 01:54:59 2005 Marek Brudka <mbrudka@aster.pl>
+ * */.cvsignore:
+ To make cvs silent.
+
+ * tests/tests.mpc:
+ * tests/XtReactor_Test.cpp:
+ * tests/XtMotifReactor_Test.cpp:
+ * tests/XtAthenaReactor_Test.cpp:
+ * tests/TkReactor_Test.cpp:
+ * tests/QtReactor_Test.h:
+ * tests/QtReactor_Test.cpp:
+ * tests/FlReactor_Test.cpp:
+ * include/makeinclude/wrapper_macros.GNU:
+ * include/makeinclude/platform_sunos5_g++.GNU:
+ * include/makeinclude/platform_lynxos.GNU:
+ * include/makeinclude/platform_linux_pgi.GNU:
+ * include/makeinclude/platform_linux_icc.GNU:
+ * include/makeinclude/platform_linux_borland.GNU:
+ * include/makeinclude/platform_linux.GNU:
+ * examples/Misc/test_XtReactor2.cpp:
+ * examples/Misc/test_XtReactor1.cpp:
+ * examples/Misc/Misc.mpc:
+ * bin/MakeProjectCreator/config/tao_xtresource.mpb:
+ * bin/MakeProjectCreator/config/tao_tkresource.mpb:
+ * bin/MakeProjectCreator/config/tao_qtresource.mpb:
+ * bin/MakeProjectCreator/config/tao_flresource.mpb:
+ * bin/MakeProjectCreator/config/strategies.mpb:
+ * bin/MakeProjectCreator/config/global.features:
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ * bin/MakeProjectCreator/config/ace_xtreactor.mpb:
+ * bin/MakeProjectCreator/config/ace_xt.mpb:
+ * bin/MakeProjectCreator/config/ace_x11.mpb:
+ * bin/MakeProjectCreator/config/ace_tkreactor.mpb:
+ * bin/MakeProjectCreator/config/ace_tk.mpb:
+ * bin/MakeProjectCreator/config/ace_qtreactor.mpb:
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+ * bin/MakeProjectCreator/config/ace_motif.mpb:
+ * bin/MakeProjectCreator/config/ace_gtk.mpb:
+ * bin/MakeProjectCreator/config/ace_gl.mpb:
+ * bin/MakeProjectCreator/config/ace_flreactor.mpb:
+ * bin/MakeProjectCreator/config/ace_fl.mpb:
+ * bin/MakeProjectCreator/config/ace_athena.mpb:
+ * ace/config-win32-msvc.h:
+ * ace/config-doxygen.h:
+ * ace/ace_xtreactor.mpc:
+ * ace/ace_tkreactor.mpc:
+ * ace/ace_qtreactor.mpc:
+ * ace/ace_flreactor.mpc:
+ * ace/ace.mwc:
+ * ace/ace.mpc:
+ * ace/XtReactor.h:
+ * ace/XtReactor.cpp:
+ * ace/TkReactor.h:
+ * ace/TkReactor.cpp:
+ * ace/README:
+ * ace/QtReactor.h:
+ * ace/QtReactor.cpp:
+ * ace/FlReactor.h:
+ * ace/FlReactor.cpp:
+ * ace/ACE_XtReactor_export.h:
+ * ace/ACE_TkReactor_export.h:
+ * ace/ACE_QtReactor_export.h:
+ * ace/ACE_FlReactor_export.h:
+ * ACE-INSTALL.html:
+ Changes related with separation of GUI reactors.
+ The additional information is avalaible in ChangeLog at REACTOR_SEPARATION branch.
+
Sat Jan 22 21:18:58 2005 Kobi Cohen-Arazi <kobi.cohenarazi@gmail.com>
+
* ace/Logging_Strategy.cpp (handle_timeout): Fixed when defined ACE_LACKS_IOSTREAM_TOTALLY.
Use ftell instead of fseek in order to get the current file length.
Thanks to Kim ByeongSu <kcando at kcando dot org> for pointing it out.
@@ -9,7 +77,7 @@ Sat Jan 22 21:13:11 2005 Kobi Cohen-Arazi <kobi.cohenarazi@gmail.com>
* tests/Test_Output.cpp(close): Fixed when ACE_LACKS_IOSTREAM_TOTALLY - fflush and fclose
should be called only when output_file_ is valid, and it points to the same current
ACE_LOG_MSG->msg_ostream ().
-
+
Fri Jan 21 19:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
* ACE-INSTALL.html:
diff --git a/TAO/.cvsignore b/TAO/.cvsignore
new file mode 100644
index 00000000000..2d37e4a886d
--- /dev/null
+++ b/TAO/.cvsignore
@@ -0,0 +1 @@
+myTAOACE.mwc
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index bccd17141e3..ecfe6cea3fc 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,10 +1,17 @@
+Sun Jan 23 01:49:51 2005 Marek Brudka <mbrudka@aster.pl>
+
+ * examples/OEP/Display/NavDisplayGUI_exec/README (Module):
+ * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc (Module):
+ Changes related with separation of GUI reactors.
+ The additional information is avalaible in ChangeLog at REACTOR_SEPARATION branch.
+
Fri Jan 21 17:27:12 2005 Gan Deng <gan.deng@vanderbilt.edu>
* DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
Fixed dependency relationship by making
NodeAppTest_RoundTrip_stub depending on CIAO_DnC_Container.
-
+
* examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp
Fixed warning on Debian_Full_Reactor build. The warning is
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc
index e48a08219bd..cb5cea1b621 100644
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc
+++ b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc
@@ -1,5 +1,5 @@
// $Id$
-project(NavDisplayGUI_exec) : ciao_component, qt, qt_moc {
+project(NavDisplayGUI_exec) : ciao_component, qt {
after += NavDisplay_exec
requires += qt
sharedname = NavDisplayGUI_exec
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README
index 83b58e12736..c5cb76a6fd9 100644
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README
+++ b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README
@@ -1,7 +1,7 @@
This example is the Qt-based GUI implementation of NavDisplay component.
It is NOT necessary to compile ACE/TAO/CIAO with Qt support,
-i.e. ACE_HAS_QT since this example does not relyes on Qt Reactor and
+since this example does not relyes on Qt Reactor and
communicates with GUI part using QApplication::postMessage() and
simple Command Pattern based framework. But be sure that QTDIR
environment variable is pointed to your Qt installation directory.
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index c2bf20ff7d5..1517d7e4f4b 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,91 @@
+Sun Jan 23 01:52:50 2005 Marek Brudka <mbrudka@aster.pl>
+
+ * tests/Xt_Stopwatch/timer.h:
+ * tests/Xt_Stopwatch/timer.cpp:
+ * tests/Xt_Stopwatch/test_i.h:
+ * tests/Xt_Stopwatch/test_i.cpp:
+ * tests/Xt_Stopwatch/svc.conf.xml:
+ * tests/Xt_Stopwatch/svc.conf:
+ * tests/Xt_Stopwatch/server.cpp:
+ * tests/Xt_Stopwatch/client.cpp:
+ * tests/Xt_Stopwatch/Xt_Stopwatch.mpc:
+ * tests/Xt_Stopwatch/Stopwatch_display.h:
+ * tests/Xt_Stopwatch/Stopwatch_display.cpp:
+ * tests/Xt_Stopwatch/README:
+ * tests/Xt_Stopwatch/Control.h:
+ * tests/Xt_Stopwatch/Control.cpp:
+ * tests/Xt_Stopwatch/Client.h:
+ * tests/QtTests/test_i.h:
+ * tests/QtTests/test_i.cpp:
+ * tests/QtTests/svc.conf.xml:
+ * tests/QtTests/svc.conf:
+ * tests/QtTests/server.cpp:
+ * tests/QtTests/client.h:
+ * tests/QtTests/client.cpp:
+ * tests/QtTests/README:
+ * tests/QtTests/QtTests.mpc:
+ * tests/FL_Cube/test_i.h:
+ * tests/FL_Cube/test_i.cpp:
+ * tests/FL_Cube/svc.conf.xml:
+ * tests/FL_Cube/svc.conf:
+ * tests/FL_Cube/server.cpp:
+ * tests/FL_Cube/client.cpp:
+ * tests/FL_Cube/FL_Cube.mpc:
+ * tao/Strategies/advanced_resource.h (Module):
+ * tao/Strategies/advanced_resource.cpp (Module):
+ * tao/xt_resource.i (Module):
+ * tao/xt_resource.h (Module):
+ * tao/xt_resource.cpp (Module):
+ * tao/tao.mpc (Module):
+ * tao/qt_resource.i (Module):
+ * tao/qt_resource.h (Module):
+ * tao/qt_resource.cpp (Module):
+ * tao/XtResource_Loader.h (Module):
+ * tao/XtResource_Loader.cpp (Module):
+ * tao/XtResource_Factory.h (Module):
+ * tao/XtResource_Factory.cpp (Module):
+ * tao/XtResource.mpc (Module):
+ * tao/TkResource_Loader.h (Module):
+ * tao/TkResource_Loader.cpp (Module):
+ * tao/TkResource_Factory.h (Module):
+ * tao/TkResource_Factory.cpp (Module):
+ * tao/TkResource.mpc (Module):
+ * tao/TSS_Resources.h (Module):
+ * tao/TSS_Resources.cpp (Module):
+ * tao/TAO_XtResource_Export.h (Module):
+ * tao/TAO_TkResource_Export.h (Module):
+ * tao/TAO_QtResource_Export.h (Module):
+ * tao/TAO_FlResource_Export.h (Module):
+ * tao/Strategies.mpc (Module):
+ * tao/QtResource_Loader.h (Module):
+ * tao/QtResource_Loader.cpp (Module):
+ * tao/QtResource_Factory.h (Module):
+ * tao/QtResource_Factory.cpp (Module):
+ * tao/QtResource.mpc (Module):
+ * tao/ORB_Core.h (Module):
+ * tao/ORB_Core.cpp (Module):
+ * tao/Leader_Follower.cpp (Module):
+ * tao/GUIResource_Factory.h (Module):
+ * tao/GUIResource_Factory.cpp (Module):
+ * tao/FlResource_Loader.h (Module):
+ * tao/FlResource_Loader.cpp (Module):
+ * tao/FlResource_Factory.h (Module):
+ * tao/FlResource_Factory.cpp (Module):
+ * tao/FlResource.mpc (Module):
+ * examples/AMI/FL_Callback/svc.conf.xml (Module):
+ * examples/AMI/FL_Callback/svc.conf (Module):
+ * examples/AMI/FL_Callback/progress.cpp (Module):
+ * examples/AMI/FL_Callback/README (Module):
+ * examples/AMI/FL_Callback/Progress_i.h (Module):
+ * examples/AMI/FL_Callback/Progress_i.cpp (Module):
+ * examples/AMI/FL_Callback/FL_Callback.mpc (Module):
+ * docs/Options.html (Module):
+ Changes related with separation of GUI reactors.
+ The additional information is avalaible in ChangeLog at REACTOR_SEPARATION branch.
+
+ * .cvsignore:
+ To make cvs silent.
+
Sat Jan 22 12:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Shutdown_Utilities.{h,cpp}:
@@ -23,8 +111,528 @@ Fri Jan 21 17:10:31 2005 J.T. Conklin <jtc@acorntoolworks.com>
Added Pkgconfig_Files definitions.
+
Fri Jan 21 18:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+ * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp:
+
+ Used VMCID while trying to propogate system exception with minor
+ code.
+
+Wed Dec 1 12:00:40 2004 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/run_test.pl:
+
+ Correct typo in client's server IOR parameter.
+
+Wed Dec 1 11:38:57 2004 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Update.
+
+ * orbsvcs/orbsvcs/FTORB.mpc:
+
+ Added PortableGroup_Simple_export.h, PortableGroup_Simple_DSS_T.h
+ to Header_Files; PortableGroup_Simple_DSS_T.inl to Inline_Files;
+ and PortableGroup_Simple_DSS_T.cpp to Template_Files so headers
+ will be installed.
+
+Wed Dec 1 19:29:32 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/SystemException.cpp:
+
+ Moved some of the minor code changes from Johnn's branch to the
+ main trunk. The minor code specification was slightly out of
+ whack with the CORBA specification.
+
+Wed Dec 1 17:19:39 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp:
+
+ Added minor code while throwing BAD_OPERATION exception in
+ conformance with the CORBA spec.
+
+ * tao/IIOP_Endpoint.cpp:
+
+ Removed a weird DEBUG statemnet.
+
+ * tao/SystemException.cpp:
+
+ Added a minor code lookup table for BAD_OPERATION.
+
+Wed Dec 1 16:30:00 UTC 2004 Simon Massey <sma@prismtech.com>
+
+ * TAO/TAO_IDL/util/utl_global.cpp
+
+ Fixed bugzilla 1995 - TAO_IDL Compiler - Memory buffer
+ overflow & File handle resource leak
+
+Wed Dec 1 15:30:00 UTC 2004 Simon Massey <sma@prismtech.com>
+
+ * TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
+ * TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp
+ * TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
+
+ Fixed bugzilla 1996 - IFR - Dereferencing NULL pointer
+ when compound object has been deleted. Thanks to Johnny
+ Willemsen <jwillemsen@remedy.nl> for pointing out emulated
+ exceptions were wrongly used in the previous fix.
+
+Wed Dec 1 14:00:00 UTC 2004 Simon Massey <sma@prismtech.com>
+
+ * TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
+ * TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp
+ * TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
+
+ Fixed bugzilla 1996 - IFR - Dereferencing NULL pointer
+ when compound object has been deleted
+
+Wed Dec 1 07:18:37 2004 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+
+ Fixed build warnings about mismatch parameter types with
+ fprintf.
+
+Tue Nov 30 16:33:08 2004 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Add replace_key.cpp to FTRT_EventChannel sources.
+
+Tue Nov 30 11:42:50 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/Any_Arg_Traits.h:
+
+ New file, containing template specializations of the
+ stub and skeleton arg traits classes for CORBA::Any.
+ These specializations were formerly in generated code.
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_decl.cpp:
+ * TAO_IDL/be/be_visitor_arg_traits.cpp:
+ * TAO_IDL/be_include/be_visitor_arg_traits.h:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/util/utl_global.cpp:
+
+ Added check for an Any used as an operation parameter, and
+ code to include the new file above if one is seen. This
+ was the only predefined type for which arg traits class
+ specializations were generated, so the
+ visit_predefined_type() method was removed from the
+ arg traits visitor, defaulting execution to the base
+ class method which is a no-op. Thanks to Greg Bostrum
+ <greg.bostrom@hp.com> for reporting a problem with code
+ generation in the Notification Service when multiple IDL
+ file are passed to the IDL compiler on a single command
+ line. After processing each file, all nodes in the AST
+ are destroyed except for the predefined types, and now,
+ at least for the arg traits, all predefined types are
+ handled the same. This fix closes [BUGID:1978].
+
+Tue Nov 30 11:15:29 2004 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp:
+ Missing namespace qualifier on argument.
+
+ * orbsvcs/orbsvcs/Notify/EventTypeSeq.h:
+ * orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ Replace another overloading of the init method name
+ with a unique and more descriptive name.
+
+ * orbsvcs/orbsvcs/Notify/Consumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp:
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp:
+ BCB6 builds complaining about undefined "ex" in ACE_TRY_NEW_ENV{ ... }ACE_CATCHANY
+ s/ACE_TRY_NEW_ENV/ACE_DECLARE_NEW_ENV;ACE_TRY/
+
+ * orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp:
+ Unused ENV argument
+
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ Remove unnecessary virtual inheritence
+
+Tue Nov 30 09:53:57 2004 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp:
+
+ Renamed the init method in Topology_Object to initialize to avoid
+ ambiguity with the TAO_NotifyProxyConsumer init method.
+
+ * orbsvcs/orbsvcs/Notify/XML_Saver.cpp:
+
+ Changed the fprintf format from %d to %ld for the long int
+ parameter.
+
+Tue Nov 30 08:38:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ Fixed compile problems.
+
+Mon Nov 29 21:57:06 MST 2004 Scott Harris <harris_s@ociweb.com>
+
+ * examples/Load_Balancing_persistent/Identity_Client.cpp:
+ * examples/Load_Balancing_persistent/Load_Balancer_i.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp:
+
+ Removed extra commas after ACE_TEXT macros that should
+ not have been there because the strings should have
+ been concatenated. Originally found a bad log output
+ and searched for other similar problems.
+
+Mon Nov 29 16:45:00 2004 Huang-Ming Huang <hh1@cse.wustl.edu>
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
+ Fixed problem when the immediate successor of the primary crashes. Thanks
+ to Thia Chang Chao <tchangch@dso.org.sg> for reporting the bug.
+
+Mon Nov 29 14:44:16 2004 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Admin.h:
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannel.h:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp:
+ Another instance of the ambiguous init method.
+
+Mon Nov 29 13:23:14 2004 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp:
+ Ambiguous resolution of init method. Some compilers
+ don't notice that the base class method is hidden
+ (intentionally) by the derived class method.
+
+Mon Nov 29 17:45:55 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/IIOP_Endpoint.cpp:
+ * tao/IIOP_Endpoint.h:
+
+ Added a bool which holds the details of when the endpoint is
+ encodable. For example, endpoints created by RTCORBA for
+ multiple priorities need to be encoded whereas endpoints created
+ for preffered netwroks need not be encoded.
+
+ * tao/IIOP_Profile.cpp:
+
+ Check the status of the bool before encoding th eendpoint.
+
+ * tao/Strategies/SCIOP_Endpoint.cpp:
+ * tao/Strategies/SCIOP_Endpoint.h:
+ * tao/Strategies/SCIOP_Profile.cpp:
+
+ Repeat the above changes for SCIOP.
+
+Mon Nov 29 07:19:16 2004 Ciju John <john_c@ociweb.com>
+
+ * orbsvcs/tests/Notify/Discarding/run_test.pl:
+ Increased startup time for sequence server as tests on
+ some machines were failing.
+
+Mon Nov 29 13:15:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.h:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+ Also fixed incorrect use of 'throw' instead of ACE_THROW_SPEC.
+
+Mon Nov 29 13:10:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/AV/pluggable_av_log:
+ Removed this file, it is a partly changelog that is really ancient
+
+Mon Nov 29 12:39:13 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/IIOP_Endpoint.cpp:
+ * tao/Strategies/SCIOP_Endpoint.cpp:
+
+ Fixed a stupid typo which resulted in some tests failing in the
+ daily builds. Thanks to Johnny for pointing me to the builds.
+
+Mon Nov 29 10:00:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Interoperable_Naming/ncontextext_client_i.cpp:
+ Replaced cout with ACE_ERROR
+
+Sun Nov 28 18:30:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.cpp:
+ Replaced fprintf to stdout with ACE_DEBUG to be more portable
+
+Sun Nov 28 18:21:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/RTCosScheduling/server.cpp:
+ Replaced NULL with 0, more portable. Also replaced ofstream usage
+ with fopen/fprintf to write the IOR to disk.
+
+Sun Nov 28 18:16:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/RTCosScheduling/Object1_i.{h,cpp}:
+ Replaced throw with ACE_THROW_SPEC to fix compile problems with
+ building without native excption support
+
+Sun Nov 28 18:00:30 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/IORInterceptor/IORInterceptor.pidl:
+
+ Added some documentation for applying diffs.
+
+ * tao/IORInterceptor/IORInterceptorC.h:
+
+ Cosmetic hand craft to minimize the number of lines of diffs.
+
+ * tao/IORInterceptor/diff/IORInterceptor.diff:
+
+ New file for maintenence.
+
+Sun Nov 28 17:41:37 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/IORInterceptor/IORInterceptor.h:
+
+ A new header file which can be included by trhe applications to
+ pull in IORInterceptor symbols even in static mode.
+
+ * tao/IORInterceptor/IORInterceptorC.cpp:
+ * tao/IORInterceptor/IORInterceptorC.h:
+
+ Regenerated the files with our standard trick to prevent
+ applications including this file directly.
+
+ * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.cpp:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.h:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
+ * tao/IORInterceptor/IORInterceptor_List.h:
+
+ Reduced inter-header dependancies.
+
+ * orbsvcs/examples/ORT/Server_IORInterceptor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h:
+ * tests/ORT/ORT_test_IORInterceptor.h:
+ * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h:
+ * tests/Portable_Interceptors/PolicyFactory/IORInterceptor.h:
+
+ #included IORInterceptor.h
+
+Sun Nov 28 15:14:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * examples/Simple/grid/Grid_Client_i.cpp:
+ * orbsvcs/examples/LoadBalancing/client.cpp:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+
+Sun Nov 28 15:07:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/notify_tests.GNU:
+ Removed this file, it is not needed anymore with MPC
+
+Sun Nov 28 15:02:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * examples/Simulator/Event_Supplier/Event_Con.cpp:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+
+Sun Nov 28 11:11:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ Don't mix virtual and non-virtual inheritance, use virtual for both
+ bases, fixes HPUX warnings
+
+Sun Nov 28 11:09:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/notify_persist_export.h:
+ Fixed this file for static builds
+
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+ Removed commented out stuff
+
+Sun Nov 28 11:02:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp:
+ Added include of OS_NS_stdio.h to get fprintf
+
+Sun Nov 28 06:10:36 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * docs/Options.html (scenario):
+
+ Documentation for the options.
+
+Sat Nov 27 23:44:56 2004 Ciju John <john_c@ociweb.com>
+
+ * orbsvcs/Notify/Standard_Event_Persistence.h:
+ * orbsvcs/Notify/XML_Topology_Factory.h
+ Moved ACE_FACTORY_DECLARE to within TAO_NOTIFY namespace.
+
+ * orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp:
+ * orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h:
+ Added dummy method to remove warnings 'hidden overloaded
+ virtual method'.
+
+Sun Nov 28 05:14:24 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/Connector_Registry.cpp:
+
+ Used an auto_ptr <> instead of using delete's in the error
+ paths.
+
+ The following checkin adds a simple command line option which
+ allows configuring the client ORB during initializing with a
+ capability to choose preferred interface(s). This is very useful
+ for clients on a multihomed hosts, allowing clients to choose
+ specific interfaces/networks to communicate with a remote
+ target. This capability comes through two options
+ -ORBPreferredInterfaces, and
+ -ORBEnforcePreferredInterfaces. Please see docs/Options.html for
+ more details.
+
+ * tao/Endpoint.h:
+
+ Cosmetic fixes.
+
+ * tao/IIOP_Connection_Handler.cpp:
+
+ Added a debug statement
+
+ * tao/IIOP_Connector.cpp:
+
+ Used the local addr for connect () instead of using the default
+ ACE_Addr::sap_any.
+
+ * tao/IIOP_Endpoint.cpp:
+ * tao/IIOP_Endpoint.h:
+
+ Added preferred_interfaces (), and a copy constructor. The
+ former is used to parse the option and store the preferred path
+ for every target end point. A list of preferred paths are
+ organized as multiple endpoints (with same target) with different
+ preferred networks stringed through the next_ pointer. This
+ allows the Invocation code path to pick things through its
+ iteration process.
+
+ * tao/IIOP_Profile.cpp:
+
+ Called TAO_IIOP_Endpoint::preferred_interfaces () from within
+ decode_profile ().
+
+ * tao/IIOP_Profile.h:
+
+ Added documentation.
+
+ * tao/ORB_Core.cpp:
+
+ Added the two new options.
+
+ * tao/params.cpp:
+ * tao/params.h:
+
+ Stored the options.
+
+ * tao/Strategies/SCIOP_Connection_Handler.cpp:
+ * tao/Strategies/SCIOP_Connector.cpp:
+ * tao/Strategies/SCIOP_Endpoint.cpp:
+ * tao/Strategies/SCIOP_Endpoint.h:
+ * tao/Strategies/SCIOP_Profile.cpp:
+ * tao/Strategies/SCIOP_Profile.h:
+
+ Cut and pasted the changes from IIOP for SCIOP. There is too
+ much of similar code out here. We can do some nice
+ implementation inheritance to save some footprint.
+
+ Thanks to LMCO EAGAN, for motivating to address this issue in
+ TAO.
+
+Sat Nov 27 12:52:57 2004 Ciju John <john_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/XML_Loader.h:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.h:
+ * orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.cpp:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+
+Sat Nov 27 14:34:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * utils/examples/mfc/client.cpp:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+
+Sat Nov 27 14:26:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * utils/performance-tests/Cubit/TAO/MT_Cubit/server.cpp:
+ Fixed problems with use of iostreams for
+ ACE_LACKS_IOSTREAM_TOTALLY builds (VxWorks DIAB).
+
+Sat Nov 27 14:19:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * utils/catior/catior.cpp:
+ Fixed incompatibility with ACE_LACKS_IOSTREAM_TOTALLY builds
+ (VxWorks DIAB).
+
+Fri Nov 26 17:49:48 2004 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Log/Basic_Log_Test/run_test.pl:
+
+ New file.
+
+Fri Nov 26 17:53:13 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * TAO-INSTALL.html:
+
+ Removed references to TAOACE.dsw. They are no longer available
+ in the repository.
+
+Fri Nov 26 14:19:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp:
+ Fixed compile problem
+
+Fri Nov 26 10:28:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1535_Regression/Bug_1535_Regression.mpc:
+ Add minimum_corba as base project, instead of adding
+ avoids += minimum_corba, the base does just the same and
+ make it a little bit better maintainable in the future
+
+Fri Nov 26 09:58:12 UTC 2004 Martin Corino <mcorino@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_server.cpp:
+ Changed use of iostreams to ACE_DEBUG because of compile problems
+ with ACE_LACKS_IOSTREAMS_TOTALLY (VxWorks).
+
+Fri Nov 26 09:43:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
* TAO-INSTALL.html:
Updated supported platforms matrix
diff --git a/TAO/TAO_IDL/.cvsignore b/TAO/TAO_IDL/.cvsignore
new file mode 100644
index 00000000000..65c93c3e85c
--- /dev/null
+++ b/TAO/TAO_IDL/.cvsignore
@@ -0,0 +1 @@
+tao_idl
diff --git a/TAO/docs/Options.html b/TAO/docs/Options.html
index 2876d2a416e..59a53fa4a56 100644
--- a/TAO/docs/Options.html
+++ b/TAO/docs/Options.html
@@ -979,10 +979,6 @@ the ORB uses. The default reactor is the ACE_TP_Reactor.
<td>Use the single-thread select-based reactor.</td>
</tr>
<tr>
- <td><code>fl</code></td>
- <td>Use the FLReactor (FLTK-based).</td>
- </tr>
- <tr>
<td><code>wfmo</code></td>
<td>Use the WFMO reactor (Win32 only).</td>
</tr>
diff --git a/TAO/examples/AMI/FL_Callback/.cvsignore b/TAO/examples/AMI/FL_Callback/.cvsignore
new file mode 100644
index 00000000000..3a6a218885f
--- /dev/null
+++ b/TAO/examples/AMI/FL_Callback/.cvsignore
@@ -0,0 +1,2 @@
+peer
+progress
diff --git a/TAO/examples/AMI/FL_Callback/FL_Callback.mpc b/TAO/examples/AMI/FL_Callback/FL_Callback.mpc
index c7e9ff8910b..3830cb052d3 100644
--- a/TAO/examples/AMI/FL_Callback/FL_Callback.mpc
+++ b/TAO/examples/AMI/FL_Callback/FL_Callback.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*progress): taoexe, strategies, messaging, ami, portableserver {
- requires += fl_reactor
+project(*progress): taoexe, messaging, ami, portableserver, tao_flresource {
Source_Files {
Progress_i.cpp
progress.cpp
@@ -10,7 +9,6 @@ project(*progress): taoexe, strategies, messaging, ami, portableserver {
}
project(*peer): taoexe, strategies, messaging, ami, portableserver {
- requires += fl_reactor
Source_Files {
Peer_i.cpp
peer.cpp
diff --git a/TAO/examples/AMI/FL_Callback/Progress_i.cpp b/TAO/examples/AMI/FL_Callback/Progress_i.cpp
index 8232c22e756..2712dc47ff5 100644
--- a/TAO/examples/AMI/FL_Callback/Progress_i.cpp
+++ b/TAO/examples/AMI/FL_Callback/Progress_i.cpp
@@ -2,8 +2,6 @@
#include "Progress_i.h"
-#if defined(ACE_HAS_FL)
-
#include <FL/Fl_Slider.h>
#include <FL/Fl_Button.h>
@@ -170,6 +168,3 @@ Progress_Window::start ()
ACE_ENDTRY;
}
}
-
-
-#endif /* ACE_HAS_FL */
diff --git a/TAO/examples/AMI/FL_Callback/Progress_i.h b/TAO/examples/AMI/FL_Callback/Progress_i.h
index 32692219f10..efb915e3b52 100644
--- a/TAO/examples/AMI/FL_Callback/Progress_i.h
+++ b/TAO/examples/AMI/FL_Callback/Progress_i.h
@@ -18,8 +18,6 @@
#include "testS.h"
-#if defined(ACE_HAS_FL)
-
#include <FL/Fl_Box.h>
class Progress_Window : public Fl_Box
@@ -91,6 +89,4 @@ private:
// Display the graphics...
};
-#endif /* ACE_HAS_FL */
-
#endif /* PROGRESS_I_H */
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 4e16631d0d7..d5d9556a839 100644
--- a/TAO/examples/AMI/FL_Callback/progress.cpp
+++ b/TAO/examples/AMI/FL_Callback/progress.cpp
@@ -2,22 +2,13 @@
#include "Progress_i.h"
#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+#include "tao/FlResource_Loader.h"
-ACE_RCSID (FL_Callback,
- progress,
+ACE_RCSID (FL_Callback,
+ progress,
"$Id$")
-#if !defined (ACE_HAS_FL)
-
-int main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "This example requires FL support\n"));
- return 0;
-}
-
-#else
-
#include <FL/Fl.h>
#include <FL/Fl_Window.h>
@@ -64,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
{
@@ -150,5 +142,3 @@ main (int argc, char *argv[])
ACE_ENDTRY;
return 0;
}
-
-#endif /* ACE_HAS_FL */
diff --git a/TAO/examples/AMI/FL_Callback/svc.conf b/TAO/examples/AMI/FL_Callback/svc.conf
deleted file mode 100644
index f7d75c036eb..00000000000
--- a/TAO/examples/AMI/FL_Callback/svc.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-#
-static Advanced_Resource_Factory "-ORBReactorType fl"
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 6520d125ad8..00000000000
--- a/TAO/examples/AMI/FL_Callback/svc.conf.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from ./examples/AMI/FL_Callback/svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- $Id$ -->
- <!-- -->
- <static id="Advanced_Resource_Factory" params="-ORBReactorType fl"/>
-</ACE_Svc_Conf>
diff --git a/TAO/orbsvcs/Concurrency_Service/.cvsignore b/TAO/orbsvcs/Concurrency_Service/.cvsignore
new file mode 100644
index 00000000000..60c35ef084d
--- /dev/null
+++ b/TAO/orbsvcs/Concurrency_Service/.cvsignore
@@ -0,0 +1 @@
+Concurrency_Service
diff --git a/TAO/orbsvcs/CosEvent_Service/.cvsignore b/TAO/orbsvcs/CosEvent_Service/.cvsignore
new file mode 100644
index 00000000000..a9304243e61
--- /dev/null
+++ b/TAO/orbsvcs/CosEvent_Service/.cvsignore
@@ -0,0 +1 @@
+CosEvent_Service
diff --git a/TAO/orbsvcs/Dump_Schedule/.cvsignore b/TAO/orbsvcs/Dump_Schedule/.cvsignore
new file mode 100644
index 00000000000..fb2c130a840
--- /dev/null
+++ b/TAO/orbsvcs/Dump_Schedule/.cvsignore
@@ -0,0 +1 @@
+Dump_Schedule
diff --git a/TAO/orbsvcs/Event_Service/.cvsignore b/TAO/orbsvcs/Event_Service/.cvsignore
new file mode 100644
index 00000000000..0d4b7f11eb3
--- /dev/null
+++ b/TAO/orbsvcs/Event_Service/.cvsignore
@@ -0,0 +1 @@
+Event_Service
diff --git a/TAO/orbsvcs/FTRT_Event_Service/Event_Service/.cvsignore b/TAO/orbsvcs/FTRT_Event_Service/Event_Service/.cvsignore
new file mode 100644
index 00000000000..27d8be5f25e
--- /dev/null
+++ b/TAO/orbsvcs/FTRT_Event_Service/Event_Service/.cvsignore
@@ -0,0 +1 @@
+ftrt_eventservice
diff --git a/TAO/orbsvcs/FTRT_Event_Service/Factory_Service/.cvsignore b/TAO/orbsvcs/FTRT_Event_Service/Factory_Service/.cvsignore
new file mode 100644
index 00000000000..9b9f57c4751
--- /dev/null
+++ b/TAO/orbsvcs/FTRT_Event_Service/Factory_Service/.cvsignore
@@ -0,0 +1 @@
+ftrtec_factory_service
diff --git a/TAO/orbsvcs/FTRT_Event_Service/Gateway_Service/.cvsignore b/TAO/orbsvcs/FTRT_Event_Service/Gateway_Service/.cvsignore
new file mode 100644
index 00000000000..e9561cf105c
--- /dev/null
+++ b/TAO/orbsvcs/FTRT_Event_Service/Gateway_Service/.cvsignore
@@ -0,0 +1 @@
+ftrtec_gateway_service
diff --git a/TAO/orbsvcs/FT_ReplicationManager/.cvsignore b/TAO/orbsvcs/FT_ReplicationManager/.cvsignore
new file mode 100644
index 00000000000..0443905ee6a
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/.cvsignore
@@ -0,0 +1 @@
+FT_ReplicationManager
diff --git a/TAO/orbsvcs/Fault_Detector/.cvsignore b/TAO/orbsvcs/Fault_Detector/.cvsignore
new file mode 100644
index 00000000000..3d60edd3d48
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/.cvsignore
@@ -0,0 +1 @@
+Fault_Detector
diff --git a/TAO/orbsvcs/Fault_Notifier/.cvsignore b/TAO/orbsvcs/Fault_Notifier/.cvsignore
index 26f0ac494ac..346d74c2dcd 100644
--- a/TAO/orbsvcs/Fault_Notifier/.cvsignore
+++ b/TAO/orbsvcs/Fault_Notifier/.cvsignore
@@ -1,4 +1,5 @@
*.dsp
*.dsw
-Release
Debug
+Fault_Notifier
+Release
diff --git a/TAO/orbsvcs/IFR_Service/.cvsignore b/TAO/orbsvcs/IFR_Service/.cvsignore
new file mode 100644
index 00000000000..6a5a929a01d
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/.cvsignore
@@ -0,0 +1,2 @@
+IFR_Service
+tao_ifr
diff --git a/TAO/orbsvcs/ImplRepo_Service/.cvsignore b/TAO/orbsvcs/ImplRepo_Service/.cvsignore
new file mode 100644
index 00000000000..114bf08db80
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/.cvsignore
@@ -0,0 +1,3 @@
+ImR_Activator
+ImplRepo_Service
+tao_imr
diff --git a/TAO/orbsvcs/LifeCycle_Service/.cvsignore b/TAO/orbsvcs/LifeCycle_Service/.cvsignore
new file mode 100644
index 00000000000..ae8684a2f43
--- /dev/null
+++ b/TAO/orbsvcs/LifeCycle_Service/.cvsignore
@@ -0,0 +1 @@
+LifeCycle_Service
diff --git a/TAO/orbsvcs/LoadBalancer/.cvsignore b/TAO/orbsvcs/LoadBalancer/.cvsignore
new file mode 100644
index 00000000000..11ebf643a83
--- /dev/null
+++ b/TAO/orbsvcs/LoadBalancer/.cvsignore
@@ -0,0 +1,2 @@
+LoadManager
+LoadMonitor
diff --git a/TAO/orbsvcs/Logging_Service/Basic_Logging_Service/.cvsignore b/TAO/orbsvcs/Logging_Service/Basic_Logging_Service/.cvsignore
new file mode 100644
index 00000000000..3ff0e6fc5e4
--- /dev/null
+++ b/TAO/orbsvcs/Logging_Service/Basic_Logging_Service/.cvsignore
@@ -0,0 +1 @@
+Basic_Logging_Service
diff --git a/TAO/orbsvcs/Logging_Service/Event_Logging_Service/.cvsignore b/TAO/orbsvcs/Logging_Service/Event_Logging_Service/.cvsignore
new file mode 100644
index 00000000000..31e33cd2684
--- /dev/null
+++ b/TAO/orbsvcs/Logging_Service/Event_Logging_Service/.cvsignore
@@ -0,0 +1 @@
+Event_Logging_Service
diff --git a/TAO/orbsvcs/Logging_Service/Notify_Logging_Service/.cvsignore b/TAO/orbsvcs/Logging_Service/Notify_Logging_Service/.cvsignore
new file mode 100644
index 00000000000..bf00697bc77
--- /dev/null
+++ b/TAO/orbsvcs/Logging_Service/Notify_Logging_Service/.cvsignore
@@ -0,0 +1 @@
+Notify_Logging_Service
diff --git a/TAO/orbsvcs/Logging_Service/RTEvent_Logging_Service/.cvsignore b/TAO/orbsvcs/Logging_Service/RTEvent_Logging_Service/.cvsignore
new file mode 100644
index 00000000000..b2ce1a35634
--- /dev/null
+++ b/TAO/orbsvcs/Logging_Service/RTEvent_Logging_Service/.cvsignore
@@ -0,0 +1 @@
+RTEvent_Logging_Service
diff --git a/TAO/orbsvcs/Naming_Service/.cvsignore b/TAO/orbsvcs/Naming_Service/.cvsignore
new file mode 100644
index 00000000000..c089bb234b3
--- /dev/null
+++ b/TAO/orbsvcs/Naming_Service/.cvsignore
@@ -0,0 +1,2 @@
+NT_Naming_Service
+Naming_Service
diff --git a/TAO/orbsvcs/Notify_Service/.cvsignore b/TAO/orbsvcs/Notify_Service/.cvsignore
new file mode 100644
index 00000000000..3de70f7f49a
--- /dev/null
+++ b/TAO/orbsvcs/Notify_Service/.cvsignore
@@ -0,0 +1,2 @@
+NT_Notify_Service
+Notify_Service
diff --git a/TAO/orbsvcs/Scheduling_Service/.cvsignore b/TAO/orbsvcs/Scheduling_Service/.cvsignore
new file mode 100644
index 00000000000..2239af45a8c
--- /dev/null
+++ b/TAO/orbsvcs/Scheduling_Service/.cvsignore
@@ -0,0 +1 @@
+Scheduling_Service
diff --git a/TAO/orbsvcs/TAO_Service/.cvsignore b/TAO/orbsvcs/TAO_Service/.cvsignore
new file mode 100644
index 00000000000..2b0613ab8bd
--- /dev/null
+++ b/TAO/orbsvcs/TAO_Service/.cvsignore
@@ -0,0 +1 @@
+TAO_Service
diff --git a/TAO/orbsvcs/Time_Service/.cvsignore b/TAO/orbsvcs/Time_Service/.cvsignore
new file mode 100644
index 00000000000..8c4ee3c5b18
--- /dev/null
+++ b/TAO/orbsvcs/Time_Service/.cvsignore
@@ -0,0 +1,2 @@
+Time_Service_Clerk
+Time_Service_Server
diff --git a/TAO/orbsvcs/Trading_Service/.cvsignore b/TAO/orbsvcs/Trading_Service/.cvsignore
new file mode 100644
index 00000000000..6306e1e35ed
--- /dev/null
+++ b/TAO/orbsvcs/Trading_Service/.cvsignore
@@ -0,0 +1 @@
+Trading_Service
diff --git a/TAO/tao/FlResource.mpc b/TAO/tao/FlResource.mpc
new file mode 100644
index 00000000000..ebd95a5c9ae
--- /dev/null
+++ b/TAO/tao/FlResource.mpc
@@ -0,0 +1,15 @@
+project(TAO_FlResource) : acelib, taolib, taoversion, core, tao_output, taodefaults, ace_flreactor {
+ sharedname = TAO_FlResource
+ dynamicflags += TAO_FLRESOURCE_BUILD_DLL
+ Header_Files {
+ FlResource_Factory.h
+ FlResource_Loader.h
+ TAO_FlResource_Export.h
+ }
+ Source_Files(TAO_COMPONENTS) {
+ Default_Resources {
+ FlResource_Factory.cpp
+ FlResource_Loader.cpp
+ }
+ }
+}
diff --git a/TAO/tao/FlResource_Factory.cpp b/TAO/tao/FlResource_Factory.cpp
new file mode 100644
index 00000000000..b0529d29a0e
--- /dev/null
+++ b/TAO/tao/FlResource_Factory.cpp
@@ -0,0 +1,36 @@
+//$Id$
+
+#include "FlResource_Factory.h"
+#include "debug.h"
+#include "ace/FlReactor.h"
+
+ACE_RCSID( TAO_FlResource,
+ FlResource_Factory,
+ "$Id$");
+
+namespace TAO
+{
+
+ FlResource_Factory::FlResource_Factory ():
+ reactor_impl_( 0 )
+ {
+ }
+
+ ACE_Reactor_Impl *
+ FlResource_Factory::reactor_impl (void)
+ {
+ // synchronized by external locks
+ if (!this->reactor_impl_)
+ {
+ ACE_NEW_RETURN (this->reactor_impl_,
+ ACE_FlReactor (),
+ 0);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO (%P|%t) - ACE_FlReactor created \n"));
+ }
+
+ return this->reactor_impl_;
+ }
+}
diff --git a/TAO/tao/FlResource_Factory.h b/TAO/tao/FlResource_Factory.h
new file mode 100644
index 00000000000..ab34c6ef503
--- /dev/null
+++ b/TAO/tao/FlResource_Factory.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FlResource_Factory.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+#ifndef TAO_FLRESOURCE_FACTORY_H
+#define TAO_FLRESOURCE_FACTORY_H
+#include /**/ "ace/pre.h"
+#include "ace/FlReactor.h"
+#include "tao/TAO_FlResource_Export.h"
+#include "tao/GUIResource_Factory.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+ /**
+ * @class FlResource_Factory
+ *
+ * @brief TAO_GUI_Resource_Factory for creating FlReactor.
+ *
+ * This factory is intended for creating FlReactor for ORB. This
+ * factory can be feed into ORB using
+ * TAO_ORB_Core::set_gui_resource_factory method which is usually
+ * done by TAO_FlResource_Loader.
+ */
+
+ class TAO_FlResource_Export FlResource_Factory : public GUIResource_Factory
+ {
+ public:
+
+ FlResource_Factory ();
+
+ protected:
+
+ /// Create or obtain current reactor implementation
+ virtual ACE_Reactor_Impl *reactor_impl (void);
+
+ private:
+
+ /// Reactor created by this factory.
+ ACE_FlReactor *reactor_impl_;
+ };
+}
+#include /**/ "ace/post.h"
+#endif /* TAO_FLRESOURCE_FACTORY_H */
diff --git a/TAO/tao/FlResource_Loader.cpp b/TAO/tao/FlResource_Loader.cpp
new file mode 100644
index 00000000000..13f01c7bef4
--- /dev/null
+++ b/TAO/tao/FlResource_Loader.cpp
@@ -0,0 +1,26 @@
+//$Id$
+#include "FlResource_Loader.h"
+#include "ORB_Core.h"
+#include "FlResource_Factory.h"
+
+ACE_RCSID( TAO_FlResource,
+ FlResource_Loader,
+ "$Id$");
+
+namespace TAO
+{
+
+ FlResource_Loader::FlResource_Loader ()
+ {
+ FlResource_Factory *tmp = 0;
+
+ ACE_NEW (tmp,
+ FlResource_Factory ());
+
+ TAO_ORB_Core::set_gui_resource_factory( tmp );
+ }
+
+ FlResource_Loader::~FlResource_Loader ()
+ {
+ }
+}
diff --git a/TAO/tao/FlResource_Loader.h b/TAO/tao/FlResource_Loader.h
new file mode 100644
index 00000000000..c56c2c5a39f
--- /dev/null
+++ b/TAO/tao/FlResource_Loader.h
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FlResource_Loader.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+
+#ifndef TAO_FLRESOURCE_LOADER_H
+#define TAO_FLRESOURCE_LOADER_H
+#include /**/ "ace/pre.h"
+#include "tao/TAO_FlResource_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+
+ /**
+ * @class FlResource_Loader
+ *
+ * @brief Loads TAO resources related with Fl.
+ *
+ * This class changes the default reactor implementation into
+ * ACE_FlReactor one by calling TAO_ORB_Core::set_gui_resource_factory.
+ * User should create an instance of this class before ORB_init
+ * when the TAO server has has to be integrated within Fl event loop.
+ *
+ * Please notice, this class has to be created in the main Fl thread,
+ * because set_gui_resource_factory creates a variable in TSS. This way
+ * FlReactor is instantiated only in Qt event loop thread.
+ */
+ class TAO_FlResource_Export FlResource_Loader
+ {
+
+ public:
+ FlResource_Loader ( );
+
+ virtual ~FlResource_Loader ();
+ };
+}
+#include /**/ "ace/post.h"
+#endif /* TAO_FLRESOURCE_LOADER_H */
diff --git a/TAO/tao/GUIResource_Factory.cpp b/TAO/tao/GUIResource_Factory.cpp
new file mode 100644
index 00000000000..ae586a57a99
--- /dev/null
+++ b/TAO/tao/GUIResource_Factory.cpp
@@ -0,0 +1,55 @@
+//$Id$
+#include "tao/GUIResource_Factory.h"
+#include "ace/Reactor.h"
+#include "tao/debug.h"
+
+namespace TAO
+{
+ GUIResource_Factory::GUIResource_Factory ():
+ dynamically_allocated_reactor_ (0)
+ {
+ }
+
+ GUIResource_Factory::~GUIResource_Factory ()
+ {
+ }
+
+ ACE_Reactor *
+ GUIResource_Factory::get_reactor (void)
+ {
+ // @@Marek, do we need a lock here??
+ // @Bala, I suppose we don't need locking for any
+ // reasonable use case as this
+ // factory is intended to be a variable in TSS.
+ // I can imagine that someone may try to use it in distinct
+ // threads, though I do not know
+ // what for. Nevertheless, just for a case I sync the creation of reactor.
+ // I think, that double checked locking is
+ // not necessary, because the performance is not an issue here.
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
+ ACE_Reactor *reactor = 0;
+ ACE_NEW_RETURN (reactor,
+ ACE_Reactor (this->reactor_impl (), 1),
+ 0);
+
+ if (reactor->initialized () == 0)
+ {
+ delete reactor;
+ reactor = 0;
+ }
+ else
+ this->dynamically_allocated_reactor_ = 1;
+
+ return reactor;
+ }
+
+ void
+ GUIResource_Factory::reclaim_reactor (ACE_Reactor *reactor)
+ {
+ ACE_GUARD ( TAO_SYNCH_MUTEX, ace_mon, this->lock_ );
+
+ if (this->dynamically_allocated_reactor_ == 1)
+ delete reactor;
+ }
+}
diff --git a/TAO/tao/GUIResource_Factory.h b/TAO/tao/GUIResource_Factory.h
new file mode 100644
index 00000000000..e10a3770497
--- /dev/null
+++ b/TAO/tao/GUIResource_Factory.h
@@ -0,0 +1,90 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file GUI_Resource_Factory.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+
+#ifndef TAO_GUI_RESOURCE_FACTORY_H
+#define TAO_GUI_RESOURCE_FACTORY_H
+#include /**/ "ace/pre.h"
+#include "ace/Thread_Mutex.h"
+#include "tao/TAO_Export.h"
+#include "tao/orbconf.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+//forwards
+class ACE_Reactor_Impl;
+class ACE_Reactor;
+
+namespace TAO
+{
+ /** Abstract base class for the GUI resource factory.
+ *
+ * This base class for resource factories which provide
+ * GUIReactors integrated with specific GUI
+ * event loop. In general, children of this class reimplement
+ * reactor_impl method where specific
+ * GUIReactor is created. GUIResource_Factory are usually
+ * created by GUIResource_Loader subclasses.
+ * Children of this class will be held in TSS by the ORB Core.
+ */
+ class TAO_Export GUIResource_Factory
+ {
+ public:
+
+ GUIResource_Factory ();
+
+ virtual ~GUIResource_Factory ();
+
+ /** Create ACE_Reactor using allocate_reactor_impl.
+ * Please note that this call is NOT synchronized. Left to the
+ * higher level versions to synchronize access.
+ */
+ virtual ACE_Reactor *get_reactor (void) ;
+
+ /** Reclaim the reactor if allocated by this factory.
+ * Please note that this call is NOT synchronized. Left to the
+ * higher level versions to synchronize access.
+ */
+ virtual void reclaim_reactor (ACE_Reactor *);
+
+ protected:
+
+ /** Create or return current reactor instance.
+ * Please note that this call is NOT synchronized. Left to the
+ * get_reactor to synchronize access.
+ */
+ virtual ACE_Reactor_Impl *reactor_impl (void) = 0;
+
+ private:
+
+ /**
+ * Flag that is set to 1 if the reactor obtained from the
+ * get_reactor() method is dynamically allocated. If this flag is
+ * set to 1, then the reclaim_reactor() method with call the delete
+ * operator on the given reactor. This flag is necessary to make
+ * sure that a reactor not allocated by the default resource factory
+ * is not reclaimed by the default resource factory. Such a
+ * situation can occur when a resource factory derived from the
+ * default one overrides the get_reactor() method but does not
+ * override the reclaim_reactor() method.
+ */
+ int dynamically_allocated_reactor_;
+
+ /// for internal locking.
+ TAO_SYNCH_MUTEX lock_;
+ };
+}
+
+#include /**/ "ace/post.h"
+#endif /*TAO_GUI_RESOURCE_FACTORY_H*/
diff --git a/TAO/tao/Leader_Follower.cpp b/TAO/tao/Leader_Follower.cpp
index 308f613abd8..cf05375db8a 100644
--- a/TAO/tao/Leader_Follower.cpp
+++ b/TAO/tao/Leader_Follower.cpp
@@ -6,6 +6,7 @@
#include "tao/LF_Event_Binder.h"
#include "tao/debug.h"
#include "tao/Transport.h"
+#include "tao/GUIResource_Factory.h"
#include "ace/OS_NS_sys_time.h"
#include "ace/Reactor.h"
@@ -27,7 +28,12 @@ TAO_Leader_Follower::~TAO_Leader_Follower (void)
delete follower;
}
// Hand the reactor back to the resource factory.
- this->orb_core_->resource_factory ()->reclaim_reactor (this->reactor_);
+ // use GUI reactor factory if available
+ if ( this->orb_core_->gui_resource_factory () )
+ this->orb_core_->gui_resource_factory ()->reclaim_reactor (this->reactor_);
+ else
+ this->orb_core_->resource_factory ()->reclaim_reactor (this->reactor_);
+
this->reactor_ = 0;
}
@@ -116,8 +122,13 @@ TAO_Leader_Follower::reactor (void)
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock (), 0);
if (this->reactor_ == 0)
{
- this->reactor_ =
- this->orb_core_->resource_factory ()->get_reactor ();
+ // use GUI reactor factory if available
+ if ( this->orb_core_->gui_resource_factory () )
+ this->reactor_ =
+ this->orb_core_->gui_resource_factory ()->get_reactor ();
+ else
+ this->reactor_ =
+ this->orb_core_->resource_factory ()->get_reactor ();
}
}
return this->reactor_;
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index d5f61469f9c..e3d47cbacf0 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -1230,6 +1230,23 @@ TAO_ORB_Core::set_resource_factory (const char *resource_factory_name)
}
void
+TAO_ORB_Core::set_gui_resource_factory (TAO::GUIResource_Factory *gui_resource_factory)
+{
+ // @@Marek, I would as well like this to be stored in per-orb TSS
+ // instead of globasl TSS. Please see TAO_ORB_Core_TSS_Resources in
+ // ORB_Core.h for details.
+ if (TAO_TSS_RESOURCES::instance ()->gui_resource_factory_ != 0)
+ {
+
+ ACE_DEBUG ((LM_WARNING,
+ "TAO (%P|%t) - Deleting old gui_resource_factory.\n"));
+ delete TAO_TSS_RESOURCES::instance ()->gui_resource_factory_;
+ }
+
+ TAO_TSS_RESOURCES::instance ()->gui_resource_factory_ = gui_resource_factory;
+}
+
+void
TAO_ORB_Core::dynamic_adapter_name (const char *name)
{
TAO_ORB_Core_Static_Resources::instance ()->dynamic_adapter_name_ = name;
@@ -1306,6 +1323,13 @@ TAO_ORB_Core::resource_factory (void)
return this->resource_factory_;
}
+TAO::GUIResource_Factory *
+TAO_ORB_Core::gui_resource_factory (void)
+{
+ return TAO_TSS_RESOURCES::instance ()->gui_resource_factory_;
+}
+
+
TAO_Thread_Lane_Resources_Manager &
TAO_ORB_Core::thread_lane_resources_manager (void)
{
diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h
index 5e225ddb5f5..4c2ecd1995b 100644
--- a/TAO/tao/ORB_Core.h
+++ b/TAO/tao/ORB_Core.h
@@ -104,6 +104,10 @@ class TAO_ClientRequestInfo;
class TAO_Transport_Sync_Strategy;
class TAO_Sync_Strategy;
class TAO_Policy_Validator;
+namespace TAO
+{
+ class GUIResource_Factory;
+}
namespace CORBA
{
@@ -189,7 +193,6 @@ public:
/// current thread.
TAO_ClientRequestInfo *client_request_info_;
#endif /* TAO_HAS_INTERCEPTORS == 1 */
-
};
@@ -293,7 +296,7 @@ public:
* No-Collocation is a special case of collocation.
*/
static
- TAO::Collocation_Strategy collocation_strategy (CORBA::Object_ptr object
+TAO::Collocation_Strategy collocation_strategy (CORBA::Object_ptr object
ACE_ENV_ARG_DECL);
//@}
@@ -375,6 +378,9 @@ public:
/// Returns pointer to the resource factory.
TAO_Resource_Factory *resource_factory (void);
+ /// Returns pointer to the factory for creating gui resources
+ TAO::GUIResource_Factory *gui_resource_factory (void);
+
/// Returns pointer to the client factory.
TAO_Client_Strategy_Factory *client_factory (void);
@@ -412,6 +418,13 @@ public:
/// Sets the value of TAO_ORB_Core::resource_factory_
static void set_resource_factory (const char *resource_factory_name);
+ /** Sets the value of TAO_ORB_Core::gui_resource_factory_.
+ *
+ * Sets the value of gui_resource_factory in TSS. ORB_Core is responsible
+ * for releasing this factory if needed.
+ */
+ static void set_gui_resource_factory (TAO::GUIResource_Factory *gui_resource_factory);
+
/// Sets the value of TAO_ORB_Core::protocols_hooks_
static void set_protocols_hooks (const char *protocols_hooks_name);
@@ -460,6 +473,7 @@ public:
/// Gets the value of TAO_ORB_Core::valuetype_adapter_name.
static const char *valuetype_adapter_name (void);
+
/// See if we have a collocated address, if yes, return the POA
/// associated with the address.
int is_collocated (const TAO_MProfile& mprofile);
diff --git a/TAO/tao/QtResource.mpc b/TAO/tao/QtResource.mpc
new file mode 100644
index 00000000000..801422a9219
--- /dev/null
+++ b/TAO/tao/QtResource.mpc
@@ -0,0 +1,19 @@
+project(TAO_QtResource) : acelib, taolib, taoversion, core, tao_output, taodefaults, ace_qtreactor {
+
+ sharedname = TAO_QtResource
+
+ dynamicflags += TAO_QTRESOURCE_BUILD_DLL
+
+ Header_Files {
+ QtResource_Factory.h
+ QtResource_Loader.h
+ TAO_QtResource_Export.h
+ }
+
+ Source_Files(TAO_COMPONENTS) {
+ Default_Resources {
+ QtResource_Factory.cpp
+ QtResource_Loader.cpp
+ }
+ }
+}
diff --git a/TAO/tao/QtResource_Factory.cpp b/TAO/tao/QtResource_Factory.cpp
new file mode 100644
index 00000000000..561fffca095
--- /dev/null
+++ b/TAO/tao/QtResource_Factory.cpp
@@ -0,0 +1,45 @@
+//$Id$
+
+#include "QtResource_Factory.h"
+#include "debug.h"
+#include "ace/QtReactor.h"
+
+ACE_RCSID( TAO_QtResource,
+ QtResource_Factory,
+ "$Id$");
+
+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_XtReactor \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_;
+ }
+}
diff --git a/TAO/tao/QtResource_Factory.h b/TAO/tao/QtResource_Factory.h
new file mode 100644
index 00000000000..5e9b78bf60b
--- /dev/null
+++ b/TAO/tao/QtResource_Factory.h
@@ -0,0 +1,65 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file QtResource_Factory.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+#ifndef TAO_QTRESOURCE_FACTORY_H
+#define TAO_QTRESOURCE_FACTORY_H
+#include /**/ "ace/pre.h"
+
+#include "tao/TAO_QtResource_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <qapplication.h>
+#include "ace/QtReactor.h"
+#include "tao/GUIResource_Factory.h"
+
+namespace TAO
+{
+
+ /**
+ * @class QtResource_Factory
+ *
+ * @brief TAO_GUI_Resource_Factory for creating QtReactor.
+ *
+ * This factory is intended for creating QtReactor for ORB. This
+ * factory can be feed into ORB using
+ * TAO_ORB_Core::set_gui_resource_factory method which is usually
+ * done by TAO_QtResource_Loader.
+ */
+ class TAO_QtResource_Export QtResource_Factory : public GUIResource_Factory
+ {
+ public:
+
+ QtResource_Factory (QApplication *qapp_);
+
+ protected:
+
+ /// Create or obtain current reactor implementation
+ virtual ACE_Reactor_Impl *reactor_impl (void);
+
+ private:
+
+ /// Reactor created by this factory.
+ ACE_QtReactor *reactor_impl_;
+
+ /// QApplication running reactor
+ QApplication *qapp_;
+
+ /// for internal locking.
+ TAO_SYNCH_MUTEX lock_;
+ };
+}
+
+#include /**/ "ace/post.h"
+#endif /* TAO_QTRESOURCE_FACTORY_H */
diff --git a/TAO/tao/QtResource_Loader.cpp b/TAO/tao/QtResource_Loader.cpp
new file mode 100644
index 00000000000..70fdae3053c
--- /dev/null
+++ b/TAO/tao/QtResource_Loader.cpp
@@ -0,0 +1,25 @@
+//$Id$
+#include "QtResource_Loader.h"
+#include "ORB_Core.h"
+#include "QtResource_Factory.h"
+
+ACE_RCSID( TAO_QtResource,
+ QtResource_Loader,
+ "$Id$");
+
+namespace TAO
+{
+ QtResource_Loader::QtResource_Loader (QApplication *qapp)
+ {
+ QtResource_Factory *tmp = 0;
+
+ ACE_NEW (tmp,
+ QtResource_Factory (qapp));
+
+ TAO_ORB_Core::set_gui_resource_factory (tmp);
+ }
+
+ QtResource_Loader::~QtResource_Loader (void)
+ {
+ }
+}
diff --git a/TAO/tao/QtResource_Loader.h b/TAO/tao/QtResource_Loader.h
new file mode 100644
index 00000000000..14a2e6d84b6
--- /dev/null
+++ b/TAO/tao/QtResource_Loader.h
@@ -0,0 +1,52 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file QtResource_Loader.h
+ *
+ * $Id$
+ *
+ * @author Marek Brudka <mbrudka@aster.pl>
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_QTRESOURCE_LOADER_H
+#define TAO_QTRESOURCE_LOADER_H
+#include /**/ "ace/pre.h"
+
+#include "tao/TAO_QtResource_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <qapplication.h>
+
+namespace TAO
+{
+ /**
+ * @class QtResource_Loader
+ *
+ * @brief Loads TAO resources related with Qt.
+ *
+ * This class changes the default reactor implementation into
+ * ACE_QtReactor one by calling TAO_ORB_Core::set_gui_resource_factory.
+ * User should create an instance of this class before ORB_init
+ * when the TAO server has has to be integrated within Qt event loop.
+ *
+ * Please notice, this class has to be created in the main Qt thread,
+ * because set_gui_resource_factory creates a variable in TSS. This way
+ * QtReactor is instantiated only in Qt event loop thread.
+ */
+
+ class TAO_QtResource_Export QtResource_Loader
+ {
+ public:
+ QtResource_Loader (QApplication *qapp);
+
+ virtual ~QtResource_Loader (void);
+ };
+}
+#include /**/ "ace/post.h"
+#endif /* TAO_QTRESOURCE_LOADER_H */
diff --git a/TAO/tao/Strategies.mpc b/TAO/tao/Strategies.mpc
index 266541846ea..d4ae5aa3c54 100644
--- a/TAO/tao/Strategies.mpc
+++ b/TAO/tao/Strategies.mpc
@@ -1,4 +1,5 @@
//$Id$
+
project : taolib, core {
sharedname = TAO_Strategies
dynamicflags = TAO_STRATEGIES_BUILD_DLL
diff --git a/TAO/tao/Strategies/advanced_resource.cpp b/TAO/tao/Strategies/advanced_resource.cpp
index 2703a4e1590..8f33d43c0a7 100644
--- a/TAO/tao/Strategies/advanced_resource.cpp
+++ b/TAO/tao/Strategies/advanced_resource.cpp
@@ -1,5 +1,5 @@
// $Id$
-
+#include "ace/Service_Config.h"
#include "advanced_resource.h"
#include "UIOP_Factory.h"
@@ -19,14 +19,13 @@
#include "tao/LF_Follower.h"
#include "tao/Leader_Follower.h"
#include "tao/StringSeqC.h"
+#include "tao/ORB_Core.h"
#include "ace/Arg_Shifter.h"
#include "ace/Auto_Ptr.h"
#include "ace/Dynamic_Service.h"
#include "ace/Service_Config.h"
#include "ace/Select_Reactor.h"
-#include "ace/FlReactor.h"
-#include "ace/TkReactor.h"
#include "ace/WFMO_Reactor.h"
#include "ace/Msg_WFMO_Reactor.h"
#include "ace/TP_Reactor.h"
@@ -39,6 +38,7 @@ ACE_RCSID(Strategies, advanced_resource, "$Id$")
TAO_Resource_Factory_Changer::TAO_Resource_Factory_Changer (void)
{
+
TAO_ORB_Core::set_resource_factory ("Advanced_Resource_Factory");
ACE_Service_Config::process_directive (ace_svc_desc_TAO_Advanced_Resource_Factory);
@@ -100,6 +100,7 @@ TAO_Advanced_Resource_Factory::init (int argc, ACE_TCHAR** argv)
}
this->options_processed_ = 1;
+
// If the default resource factory exists, then disable it.
// This causes any directives for the "Resource_Factory" to
// report warnings.
@@ -150,19 +151,6 @@ TAO_Advanced_Resource_Factory::init (int argc, ACE_TCHAR** argv)
ACE_TEXT("select_st")) == 0)
this->reactor_type_ = TAO_REACTOR_SELECT_ST;
else if (ACE_OS::strcasecmp (current_arg,
- ACE_TEXT("fl")) == 0)
-#if defined(ACE_HAS_FL)
- this->reactor_type_ = TAO_REACTOR_FL;
-#else
- this->report_unsupported_error (ACE_TEXT("FlReactor"));
-#endif /* ACE_HAS_FL */
- else if (ACE_OS::strcasecmp (current_arg, ACE_TEXT("tk_reactor")) == 0)
-#if defined(ACE_HAS_TK)
- this->reactor_type_ = TAO_REACTOR_TK;
-#else
- this->report_unsupported_error (ACE_TEXT("TkReactor"));
-#endif /* ACE_HAS_TK */
- else if (ACE_OS::strcasecmp (current_arg,
ACE_TEXT("wfmo")) == 0)
#if defined(ACE_WIN32)
this->reactor_type_ = TAO_REACTOR_WFMO;
@@ -180,6 +168,16 @@ TAO_Advanced_Resource_Factory::init (int argc, ACE_TCHAR** argv)
else if (ACE_OS::strcasecmp (current_arg,
ACE_TEXT("tp")) == 0)
this->reactor_type_ = TAO_REACTOR_TP;
+ else if (ACE_OS::strcasecmp (current_arg,
+ ACE_TEXT("fl")) == 0)
+ this->report_option_value_error (
+ ACE_TEXT("FlReactor not supported by Advanced_Resources_Factory. Please use TAO_FlResource_Loader instead."),
+ current_arg);
+ else if (ACE_OS::strcasecmp (current_arg,
+ ACE_TEXT("tk")) == 0)
+ this->report_option_value_error (
+ ACE_TEXT("TkReactor not supported by Advanced_Resources_Factory. Please use TAO_TkResource_Loader instead."),
+ current_arg);
else
this->report_option_value_error (ACE_TEXT("-ORBReactorType"), current_arg);
@@ -276,7 +274,7 @@ TAO_Advanced_Resource_Factory::init (int argc, ACE_TCHAR** argv)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO_Advanced_Resource_Factory: -ORBReactorThreadQueue ")
ACE_TEXT ("option can only be used with -ORBReactorType ")
- ACE_TEXT ("tp (default).\n")));
+ ACE_TEXT ("tp.\n")));
// Explicitely set the default only if not set.
else if (this->threadqueue_type_ == TAO_THREAD_QUEUE_NOT_SET)
this->threadqueue_type_ = TAO_THREAD_QUEUE_LIFO;
@@ -305,6 +303,7 @@ TAO_Advanced_Resource_Factory::load_default_protocols (void)
int
TAO_Advanced_Resource_Factory::init_protocol_factories (void)
{
+
// If the default resource factory exists, then disable it.
// This causes any directives for the "Resource_Factory" to
// report warnings.
@@ -618,6 +617,8 @@ TAO_Advanced_Resource_Factory::init_protocol_factories (void)
return 0;
}
+
+
TAO_ProtocolFactorySet *
TAO_Advanced_Resource_Factory::get_protocol_factories (void)
{
@@ -650,18 +651,6 @@ TAO_Advanced_Resource_Factory::allocate_reactor_impl (void) const
0);
break;
- case TAO_REACTOR_FL:
-#if defined(ACE_HAS_FL)
- ACE_NEW_RETURN (impl, ACE_FlReactor, 0);
-#endif /* ACE_HAS_FL */
- break;
-
- case TAO_REACTOR_TK:
-#if defined(ACE_HAS_TK)
- ACE_NEW_RETURN (impl, ACE_TkReactor, 0);
-#endif /* ACE_HAS_TK */
- break;
-
case TAO_REACTOR_WFMO:
#if defined(ACE_WIN32) && !defined (ACE_LACKS_MSG_WFMO)
ACE_NEW_RETURN (impl, ACE_WFMO_Reactor, 0);
diff --git a/TAO/tao/Strategies/advanced_resource.h b/TAO/tao/Strategies/advanced_resource.h
index 4e3fa7508c6..7cefef08844 100644
--- a/TAO/tao/Strategies/advanced_resource.h
+++ b/TAO/tao/Strategies/advanced_resource.h
@@ -30,6 +30,7 @@ public:
* factory can return resource instances which are, e.g., global,
* stored in thread-specific storage, stored in shared memory,
* etc.
+ *
*/
class TAO_Strategies_Export TAO_Advanced_Resource_Factory : public TAO_Default_Resource_Factory
{
@@ -56,15 +57,13 @@ public:
enum
{
/// Use ACE_Token
- TAO_REACTOR_SELECT_MT,
+ TAO_REACTOR_SELECT_MT = 1 ,
/// Use ACE_Noop_Token
- TAO_REACTOR_SELECT_ST,
- TAO_REACTOR_FL,
- TAO_REACTOR_TK,
- TAO_REACTOR_WFMO,
- TAO_REACTOR_MSGWFMO,
- TAO_REACTOR_TP
+ TAO_REACTOR_SELECT_ST = 2,
+ TAO_REACTOR_WFMO = 3,
+ TAO_REACTOR_MSGWFMO = 4 ,
+ TAO_REACTOR_TP = 5,
};
/// Thread queueing Strategy
diff --git a/TAO/tao/TAO_FlResource_Export.h b/TAO/tao/TAO_FlResource_Export.h
new file mode 100644
index 00000000000..e63890b54a6
--- /dev/null
+++ b/TAO/tao/TAO_FlResource_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s TAO_FlResource
+// ------------------------------
+#ifndef TAO_FLRESOURCE_EXPORT_H
+#define TAO_FLRESOURCE_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_FLRESOURCE_HAS_DLL)
+# define TAO_FLRESOURCE_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && TAO_FLRESOURCE_HAS_DLL */
+
+#if !defined (TAO_FLRESOURCE_HAS_DLL)
+# define TAO_FLRESOURCE_HAS_DLL 1
+#endif /* ! TAO_FLRESOURCE_HAS_DLL */
+
+#if defined (TAO_FLRESOURCE_HAS_DLL) && (TAO_FLRESOURCE_HAS_DLL == 1)
+# if defined (TAO_FLRESOURCE_BUILD_DLL)
+# define TAO_FlResource_Export ACE_Proper_Export_Flag
+# define TAO_FLRESOURCE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_FLRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_FLRESOURCE_BUILD_DLL */
+# define TAO_FlResource_Export ACE_Proper_Import_Flag
+# define TAO_FLRESOURCE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_FLRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_FLRESOURCE_BUILD_DLL */
+#else /* TAO_FLRESOURCE_HAS_DLL == 1 */
+# define TAO_FlResource_Export
+# define TAO_FLRESOURCE_SINGLETON_DECLARATION(T)
+# define TAO_FLRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_FLRESOURCE_HAS_DLL == 1 */
+
+// Set TAO_FLRESOURCE_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_FLRESOURCE_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_FLRESOURCE_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_FLRESOURCE_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_FLRESOURCE_NTRACE */
+
+#if (TAO_FLRESOURCE_NTRACE == 1)
+# define TAO_FLRESOURCE_TRACE(X)
+#else /* (TAO_FLRESOURCE_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_FLRESOURCE_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_FLRESOURCE_NTRACE == 1) */
+
+#endif /* TAO_FLRESOURCE_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/TAO_QtResource_Export.h b/TAO/tao/TAO_QtResource_Export.h
new file mode 100644
index 00000000000..1e61d00a1c0
--- /dev/null
+++ b/TAO/tao/TAO_QtResource_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s TAO_QtResource
+// ------------------------------
+#ifndef TAO_QTRESOURCE_EXPORT_H
+#define TAO_QTRESOURCE_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_QTRESOURCE_HAS_DLL)
+# define TAO_QTRESOURCE_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && TAO_QTRESOURCE_HAS_DLL */
+
+#if !defined (TAO_QTRESOURCE_HAS_DLL)
+# define TAO_QTRESOURCE_HAS_DLL 1
+#endif /* ! TAO_QTRESOURCE_HAS_DLL */
+
+#if defined (TAO_QTRESOURCE_HAS_DLL) && (TAO_QTRESOURCE_HAS_DLL == 1)
+# if defined (TAO_QTRESOURCE_BUILD_DLL)
+# define TAO_QtResource_Export ACE_Proper_Export_Flag
+# define TAO_QTRESOURCE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_QTRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_QTRESOURCE_BUILD_DLL */
+# define TAO_QtResource_Export ACE_Proper_Import_Flag
+# define TAO_QTRESOURCE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_QTRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_QTRESOURCE_BUILD_DLL */
+#else /* TAO_QTRESOURCE_HAS_DLL == 1 */
+# define TAO_QtResource_Export
+# define TAO_QTRESOURCE_SINGLETON_DECLARATION(T)
+# define TAO_QTRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_QTRESOURCE_HAS_DLL == 1 */
+
+// Set TAO_QTRESOURCE_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_QTRESOURCE_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_QTRESOURCE_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_QTRESOURCE_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_QTRESOURCE_NTRACE */
+
+#if (TAO_QTRESOURCE_NTRACE == 1)
+# define TAO_QTRESOURCE_TRACE(X)
+#else /* (TAO_QTRESOURCE_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_QTRESOURCE_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_QTRESOURCE_NTRACE == 1) */
+
+#endif /* TAO_QTRESOURCE_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/TAO_TkResource_Export.h b/TAO/tao/TAO_TkResource_Export.h
new file mode 100644
index 00000000000..34904a6d9af
--- /dev/null
+++ b/TAO/tao/TAO_TkResource_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s TAO_TkResource
+// ------------------------------
+#ifndef TAO_TKRESOURCE_EXPORT_H
+#define TAO_TKRESOURCE_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_TKRESOURCE_HAS_DLL)
+# define TAO_TKRESOURCE_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && TAO_TKRESOURCE_HAS_DLL */
+
+#if !defined (TAO_TKRESOURCE_HAS_DLL)
+# define TAO_TKRESOURCE_HAS_DLL 1
+#endif /* ! TAO_TKRESOURCE_HAS_DLL */
+
+#if defined (TAO_TKRESOURCE_HAS_DLL) && (TAO_TKRESOURCE_HAS_DLL == 1)
+# if defined (TAO_TKRESOURCE_BUILD_DLL)
+# define TAO_TkResource_Export ACE_Proper_Export_Flag
+# define TAO_TKRESOURCE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_TKRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_TKRESOURCE_BUILD_DLL */
+# define TAO_TkResource_Export ACE_Proper_Import_Flag
+# define TAO_TKRESOURCE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_TKRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_TKRESOURCE_BUILD_DLL */
+#else /* TAO_TKRESOURCE_HAS_DLL == 1 */
+# define TAO_TkResource_Export
+# define TAO_TKRESOURCE_SINGLETON_DECLARATION(T)
+# define TAO_TKRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_TKRESOURCE_HAS_DLL == 1 */
+
+// Set TAO_TKRESOURCE_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_TKRESOURCE_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_TKRESOURCE_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_TKRESOURCE_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_TKRESOURCE_NTRACE */
+
+#if (TAO_TKRESOURCE_NTRACE == 1)
+# define TAO_TKRESOURCE_TRACE(X)
+#else /* (TAO_TKRESOURCE_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_TKRESOURCE_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_TKRESOURCE_NTRACE == 1) */
+
+#endif /* TAO_TKRESOURCE_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/TAO_XtResource_Export.h b/TAO/tao/TAO_XtResource_Export.h
new file mode 100644
index 00000000000..5cc41d8da11
--- /dev/null
+++ b/TAO/tao/TAO_XtResource_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s TAO_XtResource
+// ------------------------------
+#ifndef TAO_XTRESOURCE_EXPORT_H
+#define TAO_XTRESOURCE_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_XTRESOURCE_HAS_DLL)
+# define TAO_XTRESOURCE_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && TAO_XTRESOURCE_HAS_DLL */
+
+#if !defined (TAO_XTRESOURCE_HAS_DLL)
+# define TAO_XTRESOURCE_HAS_DLL 1
+#endif /* ! TAO_XTRESOURCE_HAS_DLL */
+
+#if defined (TAO_XTRESOURCE_HAS_DLL) && (TAO_XTRESOURCE_HAS_DLL == 1)
+# if defined (TAO_XTRESOURCE_BUILD_DLL)
+# define TAO_XtResource_Export ACE_Proper_Export_Flag
+# define TAO_XTRESOURCE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_XTRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_XTRESOURCE_BUILD_DLL */
+# define TAO_XtResource_Export ACE_Proper_Import_Flag
+# define TAO_XTRESOURCE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_XTRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_XTRESOURCE_BUILD_DLL */
+#else /* TAO_XTRESOURCE_HAS_DLL == 1 */
+# define TAO_XtResource_Export
+# define TAO_XTRESOURCE_SINGLETON_DECLARATION(T)
+# define TAO_XTRESOURCE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_XTRESOURCE_HAS_DLL == 1 */
+
+// Set TAO_XTRESOURCE_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_XTRESOURCE_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_XTRESOURCE_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_XTRESOURCE_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_XTRESOURCE_NTRACE */
+
+#if (TAO_XTRESOURCE_NTRACE == 1)
+# define TAO_XTRESOURCE_TRACE(X)
+#else /* (TAO_XTRESOURCE_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_XTRESOURCE_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_XTRESOURCE_NTRACE == 1) */
+
+#endif /* TAO_XTRESOURCE_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/TSS_Resources.cpp b/TAO/tao/TSS_Resources.cpp
index d0e1acf739f..1085b0e68bb 100644
--- a/TAO/tao/TSS_Resources.cpp
+++ b/TAO/tao/TSS_Resources.cpp
@@ -1,28 +1,33 @@
// $Id$
#include "TSS_Resources.h"
+#include "GUIResource_Factory.h"
ACE_RCSID (tao,
TSS_Resources,
"$Id$")
TAO_TSS_Resources::TAO_TSS_Resources (void)
- : poa_current_impl_ (0),
- rtscheduler_current_impl_ (0),
- rtscheduler_previous_current_impl_ (0),
- default_environment_ (&this->tss_environment_)
+ : poa_current_impl_ (0)
+ , rtscheduler_current_impl_ (0)
+ , rtscheduler_previous_current_impl_ (0)
+ , default_environment_ (&this->tss_environment_)
#if (TAO_HAS_CORBA_MESSAGING == 1)
, policy_current_ (&this->initial_policy_current_)
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
+ , gui_resource_factory_ (0)
{
}
TAO_TSS_Resources::~TAO_TSS_Resources (void)
{
+ if (gui_resource_factory_)
+ delete gui_resource_factory_;
+ gui_resource_factory_ = 0;
}
// ****************************************************************
diff --git a/TAO/tao/TSS_Resources.h b/TAO/tao/TSS_Resources.h
index 1fb3d2302b0..fa67eead299 100644
--- a/TAO/tao/TSS_Resources.h
+++ b/TAO/tao/TSS_Resources.h
@@ -27,6 +27,11 @@
#include "tao/Environment.h"
#include "tao/TAO_Export.h"
+// Forward declarations
+namespace TAO
+{
+ class GUIResource_Factory;
+}
/**
* @class TAO_TSS_Resources
*
@@ -88,7 +93,12 @@ public:
TAO_Policy_Current_Impl * policy_current_;
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
-
+ /** A factory for creating GUIReactors.
+ *
+ * GUIResource_Factory has to be stored in TSS, as GUIReactor are operational
+ * only in within the context of GUI event loops.
+ */
+ TAO::GUIResource_Factory *gui_resource_factory_;
};
/**
diff --git a/TAO/tao/TkResource.mpc b/TAO/tao/TkResource.mpc
new file mode 100644
index 00000000000..1b857222914
--- /dev/null
+++ b/TAO/tao/TkResource.mpc
@@ -0,0 +1,15 @@
+project(TAO_TkResource) : acelib, taolib, taoversion, core, tao_output, taodefaults, ace_tkreactor {
+ sharedname = TAO_TkResource
+ dynamicflags += TAO_TKRESOURCE_BUILD_DLL
+ Header_Files {
+ TkResource_Factory.h
+ TkResource_Loader.h
+ TAO_TkResource_Export.h
+ }
+ Source_Files(TAO_COMPONENTS) {
+ Default_Resources {
+ TkResource_Factory.cpp
+ TkResource_Loader.cpp
+ }
+ }
+}
diff --git a/TAO/tao/TkResource_Factory.cpp b/TAO/tao/TkResource_Factory.cpp
new file mode 100644
index 00000000000..765e7a40e02
--- /dev/null
+++ b/TAO/tao/TkResource_Factory.cpp
@@ -0,0 +1,37 @@
+//$Id$
+
+#include "tao/TkResource_Factory.h"
+#include "tao/debug.h"
+#include "ace/TkReactor.h"
+
+ACE_RCSID( TAO_TkResource,
+ TkResource_Factory,
+ "$Id$");
+
+
+namespace TAO
+{
+
+ TkResource_Factory::TkResource_Factory ():
+ reactor_impl_( 0 )
+ {
+ }
+
+ ACE_Reactor_Impl *
+ TkResource_Factory::reactor_impl (void)
+ {
+ // synchronized by external locks
+ if (!this->reactor_impl_)
+ {
+ ACE_NEW_RETURN (this->reactor_impl_,
+ ACE_TkReactor (),
+ 0);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO (%P|%t) - ACE_TkReactor created \n"));
+ }
+
+ return this->reactor_impl_;
+ }
+}
diff --git a/TAO/tao/TkResource_Factory.h b/TAO/tao/TkResource_Factory.h
new file mode 100644
index 00000000000..e08b436d274
--- /dev/null
+++ b/TAO/tao/TkResource_Factory.h
@@ -0,0 +1,59 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file TkResource_Factory.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+#ifndef TAO_TKRESOURCE_FACTORY_H
+#define TAO_TKRESOURCE_FACTORY_H
+#include /**/ "ace/pre.h"
+#include "ace/TkReactor.h"
+#include "tao/TAO_TkResource_Export.h"
+#include "tao/GUIResource_Factory.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+
+ /**
+ * @class TkResource_Factory
+ *
+ * @brief TAO_GUI_Resource_Factory for creating TkReactor.
+ *
+ * This factory is intended for creating TkReactor for ORB. This
+ * factory can be feed into ORB using
+ * TAO_ORB_Core::set_gui_resource_factory method which is usually
+ * done by TAO_TkResource_Loader.
+ */
+
+ class TAO_TkResource_Export TkResource_Factory : public GUIResource_Factory
+ {
+ public:
+
+ TkResource_Factory ();
+
+ protected:
+
+ /// Create or obtain current reactor implementation
+ virtual ACE_Reactor_Impl *reactor_impl (void);
+
+ private:
+
+ /// Reactor created by this factory.
+ ACE_TkReactor *reactor_impl_;
+
+ /// for internal locking.
+ TAO_SYNCH_MUTEX lock_;
+ };
+}
+#include /**/ "ace/post.h"
+#endif /* TAO_TKRESOURCE_FACTORY_H */
diff --git a/TAO/tao/TkResource_Loader.cpp b/TAO/tao/TkResource_Loader.cpp
new file mode 100644
index 00000000000..782fbc92bf0
--- /dev/null
+++ b/TAO/tao/TkResource_Loader.cpp
@@ -0,0 +1,26 @@
+//$Id$
+#include "TkResource_Loader.h"
+#include "ORB_Core.h"
+#include "TkResource_Factory.h"
+
+ACE_RCSID( TAO_TkResource,
+ TkResource_Loader,
+ "$Id$");
+
+namespace TAO
+{
+
+ TkResource_Loader::TkResource_Loader ()
+ {
+ TkResource_Factory *tmp = 0;
+
+ ACE_NEW (tmp,
+ TkResource_Factory ());
+
+ TAO_ORB_Core::set_gui_resource_factory( tmp );
+ }
+
+ TkResource_Loader::~TkResource_Loader ()
+ {
+ }
+}
diff --git a/TAO/tao/TkResource_Loader.h b/TAO/tao/TkResource_Loader.h
new file mode 100644
index 00000000000..9b20a5eac02
--- /dev/null
+++ b/TAO/tao/TkResource_Loader.h
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file TkResource_Loader.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+
+#ifndef TAO_TKRESOURCE_LOADER_H
+#define TAO_TKRESOURCE_LOADER_H
+#include /**/ "ace/pre.h"
+#include "tao/TAO_TkResource_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+ /**
+ * @class TkResource_Loader
+ *
+ * @brief Loads TAO resources related with Tk.
+ *
+ * This class changes the default reactor implementation into
+ * ACE_TkReactor one by calling TAO_ORB_Core::set_gui_resource_factory.
+ * User should create an instance of this class before ORB_init
+ * when the TAO server has has to be integrated within Tk event loop.
+ *
+ * Please notice, this class has to be created in the main Tk thread,
+ * because set_gui_resource_factory creates a variable in TSS. This way
+ * TkReactor is instantiated only in Tk event loop thread.
+ */
+ class TAO_TkResource_Export TkResource_Loader
+ {
+
+ public:
+ TkResource_Loader ( );
+
+ virtual ~TkResource_Loader ();
+ };
+}
+#include /**/ "ace/post.h"
+#endif /* TAO_TKRESOURCE_LOADER_H */
diff --git a/TAO/tao/XtResource.mpc b/TAO/tao/XtResource.mpc
new file mode 100644
index 00000000000..e0754fe1ca5
--- /dev/null
+++ b/TAO/tao/XtResource.mpc
@@ -0,0 +1,15 @@
+project(TAO_XtResource) : acelib, taolib, taoversion, core, tao_output, taodefaults, ace_xtreactor {
+ sharedname = TAO_XtResource
+ dynamicflags += TAO_XTRESOURCE_BUILD_DLL
+ Header_Files {
+ XtResource_Factory.h
+ XtResource_Loader.h
+ TAO_XtResource_Export.h
+ }
+ Source_Files(TAO_COMPONENTS) {
+ Default_Resources {
+ XtResource_Factory.cpp
+ XtResource_Loader.cpp
+ }
+ }
+}
diff --git a/TAO/tao/XtResource_Factory.cpp b/TAO/tao/XtResource_Factory.cpp
new file mode 100644
index 00000000000..5ca19fba0f0
--- /dev/null
+++ b/TAO/tao/XtResource_Factory.cpp
@@ -0,0 +1,45 @@
+//$Id$
+
+#include "XtResource_Factory.h"
+#include "debug.h"
+#include "ace/XtReactor.h"
+
+ACE_RCSID( TAO_XtResource,
+ XtResource_Factory,
+ "$Id$");
+
+namespace TAO
+{
+
+ XtResource_Factory::XtResource_Factory (XtAppContext p_context):
+ reactor_impl_( 0 ),
+ context_( p_context )
+ {
+ }
+
+ ACE_Reactor_Impl *
+ XtResource_Factory::reactor_impl (void)
+ {
+ // synchronized by external locks
+ if (this->context_ == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("TAO (%P|%t) - XtAppContext is undefined.")
+ ACE_TEXT(" Cannot create ACE_XtReactor \n")));
+ return 0;
+ }
+
+ if (!this->reactor_impl_)
+ {
+ ACE_NEW_RETURN (this->reactor_impl_,
+ ACE_XtReactor (this->context_),
+ 0);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO (%P|%t) - ACE_XtReactor created \n"));
+ }
+
+ return this->reactor_impl_;
+ }
+}
diff --git a/TAO/tao/XtResource_Factory.h b/TAO/tao/XtResource_Factory.h
new file mode 100644
index 00000000000..5498865a256
--- /dev/null
+++ b/TAO/tao/XtResource_Factory.h
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file XtResource_Factory.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ * @author Marek Brudka <mbrudka@aster.pl>
+ */
+//=============================================================================
+#ifndef TAO_XTRESOURCE_FACTORY_H
+#define TAO_XTRESOURCE_FACTORY_H
+#include /**/ "ace/pre.h"
+#include /**/ <X11/Intrinsic.h>
+#include "tao/TAO_XtResource_Export.h"
+#include "ace/XtReactor.h"
+#include "tao/GUIResource_Factory.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+
+ /**
+ * @class XtResource_Factory
+ *
+ * @brief TAO_GUI_Resource_Factory for creating XtReactor.
+ *
+ * This factory is intended for creating XtReactor for ORB. This
+ * factory can be feed into ORB using
+ * TAO_ORB_Core::set_gui_resource_factory method which is usually
+ * done by TAO_XtResource_Loader.
+ */
+
+ class TAO_XtResource_Export XtResource_Factory : public GUIResource_Factory
+ {
+ public:
+ XtResource_Factory (XtAppContext context);
+
+ /// Create or obtain current reactor implementation
+ virtual ACE_Reactor_Impl *reactor_impl (void);
+
+ private:
+
+ /// Reactor created by this factory.
+ ACE_XtReactor *reactor_impl_;
+
+ /// Xt context for XtReactor
+ XtAppContext context_;
+
+ /// for internal locking
+ TAO_SYNCH_MUTEX lock_;
+ };
+}
+
+#include /**/ "ace/post.h"
+#endif /* TAO_XTRESOURCE_FACTORY_H */
diff --git a/TAO/tao/XtResource_Loader.cpp b/TAO/tao/XtResource_Loader.cpp
new file mode 100644
index 00000000000..d2350ddcc00
--- /dev/null
+++ b/TAO/tao/XtResource_Loader.cpp
@@ -0,0 +1,26 @@
+//$Id$
+#include "XtResource_Loader.h"
+#include "ORB_Core.h"
+#include "XtResource_Factory.h"
+
+ACE_RCSID( TAO_XtResource,
+ XtResource_Loader,
+ "$Id$");
+
+namespace TAO
+{
+
+ XtResource_Loader::XtResource_Loader (XtAppContext context)
+ {
+ XtResource_Factory *tmp = 0;
+
+ ACE_NEW (tmp,
+ XtResource_Factory (context));
+
+ TAO_ORB_Core::set_gui_resource_factory( tmp );
+ }
+
+ XtResource_Loader::~XtResource_Loader ()
+ {
+ }
+}
diff --git a/TAO/tao/XtResource_Loader.h b/TAO/tao/XtResource_Loader.h
new file mode 100644
index 00000000000..f3e809ab1ed
--- /dev/null
+++ b/TAO/tao/XtResource_Loader.h
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file XtResource_Loader.h
+ *
+ * $Id$
+ *
+ * @author Marek Brudka <mbrudka@aster.pl>
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_XTRESOURCE_LOADER_H
+#define TAO_XTRESOURCE_LOADER_H
+#include /**/ "ace/pre.h"
+#include /**/ <X11/Intrinsic.h>
+#include "tao/TAO_XtResource_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+ /**
+ * @class XtResource_Loader
+ *
+ * @brief Loads TAO resources related with Xt.
+ *
+ * This class changes the default reactor implementation into
+ * ACE_XtReactor one by calling TAO_ORB_Core::set_gui_resource_factory.
+ * User should create an instance of this class before ORB_init
+ * when the TAO server has has to be integrated within Xt event loop.
+ *
+ * Please notice, this class has to be created in the main Xt thread,
+ * because set_gui_resource_factory creates a variable in TSS. This way
+ * XtReactor is instantiated only in Xt event loop thread.
+ */
+ class TAO_XtResource_Export XtResource_Loader
+ {
+
+ public:
+ XtResource_Loader (XtAppContext context);
+
+ virtual ~XtResource_Loader ();
+ };
+}
+#include /**/ "ace/post.h"
+#endif /* TAO_XTRESOURCE_LOADER_H */
diff --git a/TAO/tao/qt_resource.cpp b/TAO/tao/qt_resource.cpp
deleted file mode 100644
index 5207f41c981..00000000000
--- a/TAO/tao/qt_resource.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//$Id$
-#include "tao/qt_resource.h"
-
-#if defined (ACE_HAS_QT)
-
-#if !defined (__ACE_INLINE__)
-# include "qt_resource.i"
-#endif /* ! __ACE_INLINE__ */
-
-QApplication *TAO_QtResource_Factory::qapp_ = 0 ;
-
-ACE_Reactor_Impl *
-TAO_QtResource_Factory::allocate_reactor_impl (void) const
-{
- if (this->qapp_ == 0)
- return 0;
-
- ACE_Reactor_Impl *impl = 0;
-
- ACE_NEW_RETURN(impl,
- ACE_QtReactor (qapp_),
- 0);
- return impl;
-}
-
-void
-TAO_QtResource_Factory::set_context (QApplication *qapp)
-{
- TAO_QtResource_Factory::qapp_ = qapp;
-}
-
-ACE_STATIC_SVC_DEFINE (TAO_QtResource_Factory,
- ACE_TEXT ("QtResource_Factory"),
- ACE_SVC_OBJ_T,
- &ACE_SVC_NAME (TAO_QtResource_Factory),
- ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
- 0)
-
-ACE_FACTORY_DEFINE (TAO, TAO_QtResource_Factory)
-
-#endif /* ACE_HAS_QT */
diff --git a/TAO/tao/qt_resource.h b/TAO/tao/qt_resource.h
deleted file mode 100644
index 6e7a84c5b15..00000000000
--- a/TAO/tao/qt_resource.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file qt_resource.h
- *
- * $Id$
- *
- * @author Hamish Friedlander <ullexco@wave.co.nz>
- * @author Balachandran Natarajan <bala@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef _TAO_QTRESOURCE_H
-#define _TAO_QTRESOURCE_H
-#include /**/ "ace/pre.h"
-
-#include "tao/default_resource.h"
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined (ACE_HAS_QT)
-#include "ace/QtReactor.h"
-
-
-/**
- * @class TAO_QtResource_Factory
- *
- * @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.
- */
-class TAO_Export TAO_QtResource_Factory : public TAO_Default_Resource_Factory
-{
-
-public:
- TAO_QtResource_Factory (void);
-
- /// Set the context used to create the QtReactor
- static void set_context (QApplication *qapp) ;
-
-protected:
- /// Obtain the reactor implementation
- virtual ACE_Reactor_Impl *allocate_reactor_impl (void) const;
-
-private:
- static QApplication *qapp_ ;
-};
-
-#if defined (__ACE_INLINE__)
-#include "tao/qt_resource.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_QtResource_Factory)
-ACE_FACTORY_DECLARE (TAO, TAO_QtResource_Factory)
-
-#endif /*ACE_HAS_QT */
-#include /**/ "ace/post.h"
-#endif /* QTRESOURCE_H */
diff --git a/TAO/tao/qt_resource.i b/TAO/tao/qt_resource.i
deleted file mode 100644
index 633d38ff2aa..00000000000
--- a/TAO/tao/qt_resource.i
+++ /dev/null
@@ -1,5 +0,0 @@
-//$Id$
-ACE_INLINE
-TAO_QtResource_Factory::TAO_QtResource_Factory (void)
-{
-}
diff --git a/TAO/tao/tao.mpc b/TAO/tao/tao.mpc
index eea53137f1b..02a7b9d1efc 100644
--- a/TAO/tao/tao.mpc
+++ b/TAO/tao/tao.mpc
@@ -203,7 +203,6 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
Profile_Transport_Resolver.cpp
Protocol_Factory.cpp
Protocols_Hooks.cpp
- qt_resource.cpp
Queued_Message.cpp
Reactive_Connect_Strategy.cpp
Reactive_Flushing_Strategy.cpp
@@ -280,11 +279,352 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
WrongTransactionC.cpp
WStringSeqA.cpp
WStringSeqC.cpp
- xt_resource.cpp
+ GUIResource_Factory.cpp
}
Header_Files {
- *.h
+ Abstract_Servant_Base.h
+ Acceptor_Filter.h
+ Acceptor_Impl.h
+ Acceptor_Registry.h
+ Adapter_Factory.h
+ Adapter.h
+ Adapter_Registry.h
+ Allocator.h
+ Any_Arg_Traits.h
+ Any_Array_Impl_T.h
+ Any_Basic_Impl.h
+ Any_Basic_Impl_T.h
+ Any_Dual_Impl_T.h
+ Any.h
+ Any_Impl.h
+ Any_Impl_T.h
+ AnySeqC.h
+ AnySeqS.h
+ Any_Special_Impl_T.h
+ Any_SystemException.h
+ Any_Unknown_IDL_Type.h
+ Arg_Traits_T.h
+ Argument.h
+ Array_VarOut_T.h
+ Asynch_Queued_Message.h
+ Asynch_Reply_Dispatcher_Base.h
+ Auto_Functor.h
+ Base_Transport_Property.h
+ Basic_Arguments.h
+ Basic_Argument_T.h
+ Basic_SArguments.h
+ Basic_SArgument_T.h
+ Basic_Types.h
+ BD_String_Argument_T.h
+ BD_String_SArgument_T.h
+ BiDir_Adapter.h
+ Bind_Dispatcher_Guard.h
+ Blocked_Connect_Strategy.h
+ Block_Flushing_Strategy.h
+ BooleanSeqC.h
+ BooleanSeqS.h
+ BoundsC.h
+ Buffer_Allocator_T.h
+ Buffering_Constraint_Policy.h
+ Cache_Entries.h
+ CDR_Encaps_Codec.h
+ CDR.h
+ CharSeqC.h
+ CharSeqS.h
+ Cleanup_Func_Registry.h
+ ClientRequestInfo.h
+ ClientRequestInfo_i.h
+ ClientRequestInterceptor_Adapter.h
+ Client_Strategy_Factory.h
+ CodecFactory.h
+ CodecFactory_ORBInitializer.h
+ Codeset_Manager.h
+ Codeset_Translator_Factory.h
+ Codeset_Translator_Factory_T.h
+ Collocated_Invocation.h
+ Collocation_Proxy_Broker.h
+ Collocation_Resolver.h
+ Collocation_Strategy.h
+ Condition.h
+ Connection_Handler.h
+ Connection_Purging_Strategy.h
+ Connector_Impl.h
+ Connector_Registry.h
+ Connect_Strategy.h
+ CONV_FRAMEC.h
+ CONV_FRAMES.h
+ CONV_FRAMES_T.h
+ corbafwd.h
+ corba.h
+ CORBALOC_Parser.h
+ CORBA_methods.h
+ CORBANAME_Parser.h
+ CORBA_String.h
+ CurrentC.h
+ debug.h
+ default_client.h
+ Default_Collocation_Resolver.h
+ Default_Endpoint_Selector_Factory.h
+ default_environment.h
+ default_ports.h
+ Default_Protocols_Hooks.h
+ default_resource.h
+ default_server.h
+ Default_Stub_Factory.h
+ Default_Thread_Lane_Resources_Manager.h
+ DLL_Parser.h
+ DomainC.h
+ DoubleSeqC.h
+ DoubleSeqS.h
+ Dynamic_Adapter.h
+ DynamicC.h
+ Dynamic_ParameterC.h
+ Encodable.h
+ Endpoint.h
+ Endpoint_Selector_Factory.h
+ Environment.h
+ Exception_Data.h
+ Exception.h
+ Exclusive_TMS.h
+ Fault_Tolerance_Service.h
+ FILE_Parser.h
+ Fixed_Array_Argument_T.h
+ Fixed_Array_SArgument_T.h
+ Fixed_Size_Argument_T.h
+ Fixed_Size_SArgument_T.h
+ FloatSeqC.h
+ FloatSeqS.h
+ Flushing_Strategy.h
+ GIOPC.h
+ GIOP_Message_Base.h
+ GIOP_Message_Generator_Parser_10.h
+ GIOP_Message_Generator_Parser_11.h
+ GIOP_Message_Generator_Parser_12.h
+ GIOP_Message_Generator_Parser.h
+ GIOP_Message_Generator_Parser_Impl.h
+ GIOP_Message_Lite.h
+ GIOP_Message_Locate_Header.h
+ GIOP_Message_State.h
+ GIOP_Message_Version.h
+ GIOPS.h
+ GIOPS_T.h
+ GIOP_Utils.h
+ GUIResource_Factory.h
+ IFR_Client_Adapter.h
+ IIOP_Acceptor.h
+ IIOPC.h
+ IIOP_Connection_Handler.h
+ IIOP_Connector.h
+ IIOP_Endpoint.h
+ IIOP_EndpointsC.h
+ IIOP_Factory.h
+ IIOP_Lite_Factory.h
+ IIOP_Profile.h
+ IIOP_Transport.h
+ Incoming_Message_Queue.h
+ Interceptor_List.h
+ Invocation_Adapter.h
+ Invocation_Base.h
+ Invocation_Endpoint_Selectors.h
+ Invocation_Utils.h
+ IOPC.h
+ IOP_CodecC.h
+ IOP_IORC.h
+ IOPS.h
+ IOPS_T.h
+ IORInterceptor_Adapter_Factory.h
+ IORInterceptor_Adapter.h
+ IOR_Parser.h
+ Leader_Follower_Flushing_Strategy.h
+ Leader_Follower.h
+ LF_CH_Event.h
+ LF_Connect_Strategy.h
+ LF_Event_Binder.h
+ LF_Event.h
+ LF_Event_Loop_Thread_Helper.h
+ LF_Follower_Auto_Adder.h
+ LF_Follower_Auto_Ptr.h
+ LF_Follower.h
+ LF_Invocation_Event.h
+ LF_Strategy_Complete.h
+ LF_Strategy.h
+ LocalObject.h
+ LocateRequest_Invocation_Adapter.h
+ LocateRequest_Invocation.h
+ LongDoubleSeqC.h
+ LongDoubleSeqS.h
+ LongLongSeqC.h
+ LongLongSeqS.h
+ LongSeqC.h
+ LongSeqS.h
+ LRU_Connection_Purging_Strategy.h
+ Managed_Types.h
+ Marshal.h
+ MCAST_Parser.h
+ Messaging_PolicyValueC.h
+ Messaging_SyncScopeC.h
+ MProfile.h
+ Muxed_TMS.h
+ New_Leader_Generator.h
+ NVList.h
+ Object_Argument_T.h
+ Object.h
+ objectid.h
+ ObjectIdListC.h
+ Object_KeyC.h
+ ObjectKey_Table.h
+ Object_Loader.h
+ Object_Proxy_Broker.h
+ Object_Proxy_Impl.h
+ Object_Ref_Table.h
+ Object_SArgument_T.h
+ Object_T.h
+ Objref_VarOut_T.h
+ OBV_Constants.h
+ OctetSeqC.h
+ OctetSeqS.h
+ operation_details.h
+ orbconf.h
+ ORB_Constants.h
+ ORB_Core_Auto_Ptr.h
+ ORB_Core.h
+ ORB.h
+ ORBInitializer_Registry.h
+ ORBInitInfo.h
+ ORB_Table.h
+ orb_typesC.h
+ orb_typesS.h
+ ParameterModeC.h
+ ParameterModeS.h
+ params.h
+ Parser_Registry.h
+ PICurrent_Copy_Callback.h
+ PICurrent.h
+ PICurrent_ORBInitializer.h
+ PI_ForwardC.h
+ Pluggable_Messaging.h
+ Pluggable_Messaging_Utils.h
+ PolicyC.h
+ PolicyFactory_Registry.h
+ Policy_ForwardC.h
+ Policy_Manager.h
+ Policy_Set.h
+ PolicyS.h
+ Policy_Validator.h
+ PollableC.h
+ PollableS.h
+ PollableS_T.h
+ PortableInterceptorC.h
+ PortableInterceptor.h
+ PortableInterceptorS.h
+ Principal.h
+ Profile.h
+ Profile_Transport_Resolver.h
+ Protocol_Factory.h
+ Protocols_Hooks.h
+ Pseudo_VarOut_T.h
+ Queued_Message.h
+ Reactive_Connect_Strategy.h
+ Reactive_Flushing_Strategy.h
+ Refcounted_ObjectKey.h
+ Remote_Invocation.h
+ Remote_Object_Proxy_Broker.h
+ Reply_Dispatcher.h
+ Request_Dispatcher.h
+ RequestInfo_Util.h
+ Resource_Factory.h
+ Resume_Handle.h
+ Seq_Out_T.h
+ Sequence.h
+ Sequence_T.h
+ Seq_Var_T.h
+ Server_Strategy_Factory.h
+ Service_Callbacks.h
+ Service_Context.h
+ Services_Activate.h
+ ServicesC.h
+ ServicesS.h
+ ServicesS_T.h
+ ShortSeqC.h
+ ShortSeqS.h
+ Special_Basic_Arguments.h
+ Special_Basic_Argument_T.h
+ Special_Basic_SArguments.h
+ Special_Basic_SArgument_T.h
+ StringSeqC.h
+ StringSeqS.h
+ Stub_Factory.h
+ Stub.h
+ Synch_Invocation.h
+ Synch_Queued_Message.h
+ Synch_Refcountable.h
+ Synch_Reply_Dispatcher.h
+ Sync_Strategies.h
+ SystemException.h
+ Tagged_Components.h
+ Tagged_Profile.h
+ TAOC.h
+ TAO_Export.h
+ TAO_Internal.h
+ TAO_Server_Request.h
+ TAOS.h
+ TAO_Singleton.h
+ TAO_Singleton_Manager.h
+ TAOS_T.h
+ target_specification.h
+ TC_Constants_Forward.h
+ Thread_Lane_Resources.h
+ Thread_Lane_Resources_Manager.h
+ Thread_Per_Connection_Handler.h
+ TimeBaseC.h
+ TimeBaseS.h
+ TimeBaseS_T.h
+ Timeprobe.h
+ Transport_Acceptor.h
+ Transport_Cache_Manager.h
+ Transport_Connector.h
+ Transport_Descriptor_Interface.h
+ Transport.h
+ Transport_Mux_Strategy.h
+ Transport_Timer.h
+ TSS_Resources.h
+ Typecode_Constants.h
+ TypeCodeFactory_Adapter.h
+ Typecode.h
+ Typecode_typesC.h
+ Typecode_typesS.h
+ UB_String_Arguments.h
+ UB_String_Argument_T.h
+ UB_String_SArguments.h
+ UB_String_SArgument_T.h
+ ULongLongSeqC.h
+ ULongLongSeqS.h
+ ULongSeqC.h
+ ULongSeqS.h
+ UserException.h
+ UShortSeqC.h
+ UShortSeqS.h
+ UTF16_BOM_Factory.h
+ UTF16_BOM_Translator.h
+ Valuetype_Adapter.h
+ Var_Array_Argument_T.h
+ Var_Array_SArgument_T.h
+ varbase.h
+ VarOut_T.h
+ Var_Size_Argument_T.h
+ Var_Size_SArgument_T.h
+ Version.h
+ Wait_On_Leader_Follower.h
+ Wait_On_LF_No_Upcall.h
+ Wait_On_Reactor.h
+ Wait_On_Read.h
+ Wait_Strategy.h
+ WCharSeqC.h
+ WCharSeqS.h
+ WrongTransactionC.h
+ WStringSeqC.h
+ WStringSeqS.h
}
Inline_Files {
diff --git a/TAO/tao/xt_resource.cpp b/TAO/tao/xt_resource.cpp
deleted file mode 100644
index 747bf2672e5..00000000000
--- a/TAO/tao/xt_resource.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// $Id$
-
-#include "tao/xt_resource.h"
-
-#if defined(ACE_HAS_XT)
-
-#if !defined (__ACE_INLINE__)
-# include "tao/xt_resource.i"
-#endif /* ! __ACE_INLINE__ */
-
-ACE_RCSID(tao, xt_resource, "$Id$")
-
-XtAppContext
-TAO_XT_Resource_Factory::context_ = 0;
-
-ACE_Reactor_Impl*
-TAO_XT_Resource_Factory::allocate_reactor_impl (void) const
-{
- if (TAO_XT_Resource_Factory::context_ == 0)
- return 0;
-
- ACE_Reactor_Impl *impl = 0;
-
- ACE_NEW_RETURN (impl, ACE_XtReactor (TAO_XT_Resource_Factory::context_), 0);
- return impl;
-}
-
-void
-TAO_XT_Resource_Factory::set_context (XtAppContext context)
-{
- TAO_XT_Resource_Factory::context_ = context;
-}
-
-ACE_STATIC_SVC_DEFINE (TAO_XT_Resource_Factory,
- ACE_TEXT ("XT_Resource_Factory"),
- ACE_SVC_OBJ_T,
- &ACE_SVC_NAME (TAO_XT_Resource_Factory),
- ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
- 0)
-ACE_FACTORY_DEFINE (TAO, TAO_XT_Resource_Factory)
-
-#endif /* ACE_HAS_XT */
diff --git a/TAO/tao/xt_resource.h b/TAO/tao/xt_resource.h
deleted file mode 100644
index 04274f55e16..00000000000
--- a/TAO/tao/xt_resource.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file xt_resource.h
- *
- * $Id$
- *
- * @author Carlos O'Ryan
- */
-//=============================================================================
-
-
-#ifndef TAO_XT_RESOURCE_H
-#define TAO_XT_RESOURCE_H
-#include /**/ "ace/pre.h"
-
-#include "tao/default_resource.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined (ACE_HAS_XT)
-
-#include "ace/XtReactor.h"
-
-// ****************************************************************
-
-/**
- * @class TAO_XT_Resource_Factory
- *
- * @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.
- */
-class TAO_XT_Resource_Factory : public TAO_Default_Resource_Factory
-{
-public:
- // = Initialization and termination methods.
- /// Constructor.
- TAO_XT_Resource_Factory (void);
-
- /// Set the context used to create the XtReactor
- static void set_context (XtAppContext context);
-
-protected:
- /// Obtain the reactor implementation
- virtual ACE_Reactor_Impl *allocate_reactor_impl (void) const;
-
-private:
- static XtAppContext context_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "tao/xt_resource.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_XT_Resource_Factory)
-ACE_FACTORY_DECLARE (TAO, TAO_XT_Resource_Factory)
-
-#endif /* ACE_HAS_XT */
-
-#include /**/ "ace/post.h"
-#endif /* TAO_DEFAULT_CLIENT_H */
diff --git a/TAO/tao/xt_resource.i b/TAO/tao/xt_resource.i
deleted file mode 100644
index 0b14c74dcf9..00000000000
--- a/TAO/tao/xt_resource.i
+++ /dev/null
@@ -1,6 +0,0 @@
-// $Id$
-
-ACE_INLINE
-TAO_XT_Resource_Factory::TAO_XT_Resource_Factory (void)
-{
-}
diff --git a/TAO/tests/FL_Cube/.cvsignore b/TAO/tests/FL_Cube/.cvsignore
new file mode 100644
index 00000000000..f2ad85300eb
--- /dev/null
+++ b/TAO/tests/FL_Cube/.cvsignore
@@ -0,0 +1,2 @@
+client
+server
diff --git a/TAO/tests/FL_Cube/FL_Cube.mpc b/TAO/tests/FL_Cube/FL_Cube.mpc
index e758da35d68..87c8e137dad 100644
--- a/TAO/tests/FL_Cube/FL_Cube.mpc
+++ b/TAO/tests/FL_Cube/FL_Cube.mpc
@@ -1,13 +1,13 @@
// -*- MPC -*-
// $Id$
-project(*client) : taoexe, portableserver, strategies {
+project(*client) : taoexe, portableserver, tao_flresource {
source_files {
client.cpp
}
}
-project(*server) : taoexe, portableserver, strategies {
+project(*server) : taoexe, portableserver, tao_flresource {
source_files {
server.cpp
test_i.cpp
diff --git a/TAO/tests/FL_Cube/client.cpp b/TAO/tests/FL_Cube/client.cpp
index d0c07a5748e..bb4a9dee3c5 100644
--- a/TAO/tests/FL_Cube/client.cpp
+++ b/TAO/tests/FL_Cube/client.cpp
@@ -1,22 +1,10 @@
// $Id$
-
+#include "tao/FlResource_Loader.h"
#include "testC.h"
#include "ace/Get_Opt.h"
-#include "tao/Strategies/advanced_resource.h"
ACE_RCSID(FL_Cube, client, "$Id$")
-#if !defined (ACE_HAS_FL)
-
-int main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "FL not supported on this platform\n"));
- return 0;
-}
-
-#else
-
#include <FL/Fl.h>
#include <FL/Fl_Window.h>
#include <FL/Fl_Roller.h>
@@ -65,6 +53,8 @@ private:
int main (int argc, char* argv[])
{
+ TAO::FlResource_Loader fl_loader;
+
ACE_TRY_NEW_ENV
{
CORBA::ORB_var orb =
@@ -207,4 +197,3 @@ Client::parse_args (int argc, char *argv[]
Simple_Server::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
-#endif /* ACE_HAS_FL */
diff --git a/TAO/tests/FL_Cube/server.cpp b/TAO/tests/FL_Cube/server.cpp
index c7ec9047999..f3c3a235446 100644
--- a/TAO/tests/FL_Cube/server.cpp
+++ b/TAO/tests/FL_Cube/server.cpp
@@ -2,21 +2,10 @@
#include "test_i.h"
#include "ace/Get_Opt.h"
-#include "tao/Strategies/advanced_resource.h"
+#include "tao/FlResource_Loader.h"
ACE_RCSID(FL_Cube, server, "$Id$")
-#if !defined (ACE_HAS_FL)
-
-int main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "FL not supported on this platform\n"));
- return 0;
-}
-
-#else
-
#include <FL/Fl.h>
const char *ior_output_file = 0;
@@ -51,6 +40,7 @@ int
main (int argc, char *argv[])
{
Fl_Window window(300, 300);
+ TAO::FlResource_Loader fl_loader;
Simple_Window sw (10, 10,
window.w () - 20, window.h () - 20);
@@ -131,4 +121,3 @@ main (int argc, char *argv[])
return 0;
}
-#endif /* ACE_HAS_FL */
diff --git a/TAO/tests/FL_Cube/svc.conf b/TAO/tests/FL_Cube/svc.conf
deleted file mode 100644
index f7d75c036eb..00000000000
--- a/TAO/tests/FL_Cube/svc.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-#
-static Advanced_Resource_Factory "-ORBReactorType fl"
diff --git a/TAO/tests/FL_Cube/svc.conf.xml b/TAO/tests/FL_Cube/svc.conf.xml
deleted file mode 100644
index a640e1362e3..00000000000
--- a/TAO/tests/FL_Cube/svc.conf.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from ./tests/FL_Cube/svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- $Id$ -->
- <!-- -->
- <static id="Advanced_Resource_Factory" params="-ORBReactorType fl"/>
-</ACE_Svc_Conf>
diff --git a/TAO/tests/FL_Cube/test_i.cpp b/TAO/tests/FL_Cube/test_i.cpp
index 5a73baab476..55e557c3341 100644
--- a/TAO/tests/FL_Cube/test_i.cpp
+++ b/TAO/tests/FL_Cube/test_i.cpp
@@ -1,8 +1,6 @@
// $Id$
#include "test_i.h"
-
-#if defined(ACE_HAS_FL)
#include <GL/gl.h>
ACE_RCSID(FL_Cube, test_i, "$Id$")
@@ -177,4 +175,3 @@ Simple_Window::draw_cube (void)
glEnd();
}
-#endif /* ACE_HAS_FL */
diff --git a/TAO/tests/FL_Cube/test_i.h b/TAO/tests/FL_Cube/test_i.h
index ede24fd4ecf..b2573fa173f 100644
--- a/TAO/tests/FL_Cube/test_i.h
+++ b/TAO/tests/FL_Cube/test_i.h
@@ -18,8 +18,6 @@
#include "testS.h"
-#if defined(ACE_HAS_FL)
-
#include <FL/Fl_Gl_Window.h>
@@ -79,6 +77,4 @@ private:
// Display the graphics...
};
-#endif /* ACE_HAS_FL */
-
#endif /* TAO_FL_SERVER_TEST_I_H */
diff --git a/TAO/tests/QtTests/.cvsignore b/TAO/tests/QtTests/.cvsignore
new file mode 100644
index 00000000000..51933fcff4f
--- /dev/null
+++ b/TAO/tests/QtTests/.cvsignore
@@ -0,0 +1,8 @@
+client
+client
+client_moc.cpp
+client_moc.cpp
+server
+server
+test_i_moc.cpp
+test_i_moc.cpp
diff --git a/TAO/tests/QtTests/QtTests.mpc b/TAO/tests/QtTests/QtTests.mpc
index 1013e370e62..a134df67dd0 100644
--- a/TAO/tests/QtTests/QtTests.mpc
+++ b/TAO/tests/QtTests/QtTests.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*server): taoexe, portableserver, ace_qt, qt_moc {
- requires += qt
+project(*server): taoexe, portableserver, tao_qtresource {
MOC_Files {
test_i.h
@@ -15,8 +14,7 @@ project(*server): taoexe, portableserver, ace_qt, qt_moc {
}
}
-project(*client): taoexe, ace_qt, qt_moc {
- requires += qt
+project(*client): taoexe, tao_qtresource {
MOC_Files {
client.h
diff --git a/TAO/tests/QtTests/README b/TAO/tests/QtTests/README
index f5becbeb352..29393ece1f1 100644
--- a/TAO/tests/QtTests/README
+++ b/TAO/tests/QtTests/README
@@ -20,6 +20,11 @@ library installed. You should enable the build of the QtReactor by
initializing qt_reactor. The path should point to the Qt/bin area so
that the moc could be accessed by the Makefile.
+Bugs:
+It seems there is a problem with ORB shutdown, namely client does not
+shutdown nicely after QUIT button. Needs some additional investigations.
+
+
---------------------------------------------------------------------
Technical Description:
The technical details are similar to that of the XtReactor. Please
diff --git a/TAO/tests/QtTests/client.cpp b/TAO/tests/QtTests/client.cpp
index fc505726700..165651a0181 100755
--- a/TAO/tests/QtTests/client.cpp
+++ b/TAO/tests/QtTests/client.cpp
@@ -2,27 +2,17 @@
#include "testC.h"
#include "ace/Get_Opt.h"
+#include "tao/QtResource_Loader.h"
ACE_RCSID(QtTests, client, "$Id$")
-#if !defined (ACE_HAS_QT)
-
-int
-main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "Qt not supported on this platform\n"));
- return 0;
-}
-
-#else
#include "client.h"
int
main (int argc, char *argv[])
{
QApplication app (argc, argv);
- TAO_QtResource_Factory::set_context (&app);
+ TAO::QtResource_Loader qt_resources (&app);
ACE_DECLARE_NEW_CORBA_ENV;
@@ -167,4 +157,3 @@ Client::shutdown_call (void)
this->server_->shutdown ();
}
-#endif /* ACE_HAS_QT*/
diff --git a/TAO/tests/QtTests/client.h b/TAO/tests/QtTests/client.h
index 36da68ab1f9..e4b50c40a70 100755
--- a/TAO/tests/QtTests/client.h
+++ b/TAO/tests/QtTests/client.h
@@ -18,9 +18,6 @@
#include "testC.h"
-#if defined (ACE_HAS_QT)
-
-#include "tao/qt_resource.h"
#include <qapplication.h>
#include <qvbox.h>
#include <qslider.h>
@@ -70,6 +67,4 @@ private:
QApplication *qapp_;
};
-#endif /*ACE_HAS_QT*/
-
#endif /* _QT_CLIENT_H */
diff --git a/TAO/tests/QtTests/server.cpp b/TAO/tests/QtTests/server.cpp
index 1103e4a3358..718c1947c7c 100755
--- a/TAO/tests/QtTests/server.cpp
+++ b/TAO/tests/QtTests/server.cpp
@@ -5,22 +5,11 @@
ACE_RCSID (QtTests, server, "$Id$")
-#if !defined (ACE_HAS_QT)
-
-int
-main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "Qt not supported on this platform\n"));
- return 0;
-}
-
-#else
// who defines index macro?
#ifdef index
#undef index
#endif
-#include "tao/qt_resource.h"
+#include "tao/QtResource_Loader.h"
#include <qlcdnumber.h>
#include <qvbox.h>
#include <qslider.h>
@@ -44,12 +33,14 @@ parse_args (int argc, char *argv[])
case '?':
default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
+ // ignore the first unknown option
+ return 0;
+// ACE_ERROR_RETURN ((LM_ERROR,
+// "usage: %s "
+// "-o <iorfile>"
+// "\n",
+// argv [0]),
+// -1);
}
// Indicates sucessful parsing of the command line
return 0;
@@ -64,7 +55,7 @@ main (int argc, char *argv[])
// Qt specific stuff for running with TAO...
QApplication app (argc, argv);
- TAO_QtResource_Factory::set_context (&app);
+ TAO::QtResource_Loader qt_resources (&app);
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
@@ -152,5 +143,3 @@ main (int argc, char *argv[])
ACE_ENDTRY;
return 0;
}
-
-#endif /* ACE_HAS_QT */
diff --git a/TAO/tests/QtTests/svc.conf b/TAO/tests/QtTests/svc.conf
deleted file mode 100644
index 7134e5e18a4..00000000000
--- a/TAO/tests/QtTests/svc.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# $Id$
-#
-dynamic Resource_Factory Service_Object * TAO:_make_TAO_QtResource_Factory() ""
diff --git a/TAO/tests/QtTests/svc.conf.xml b/TAO/tests/QtTests/svc.conf.xml
deleted file mode 100644
index ed38f288da0..00000000000
--- a/TAO/tests/QtTests/svc.conf.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from ./tests/QtTests/svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- -->
- <!-- $Id$ -->
- <!-- -->
- <dynamic id="Resource_Factory" type="Service_Object">
- <initializer path="TAO" init="_make_TAO_QtResource_Factory"/>
- </dynamic>
-</ACE_Svc_Conf>
diff --git a/TAO/tests/QtTests/test_i.cpp b/TAO/tests/QtTests/test_i.cpp
index 3d97049c81c..0d961989108 100755
--- a/TAO/tests/QtTests/test_i.cpp
+++ b/TAO/tests/QtTests/test_i.cpp
@@ -2,9 +2,9 @@
#include "test_i.h"
-#if defined(ACE_HAS_QT)
-
-ACE_RCSID(FL_Cube, test_i, "$Id$")
+ACE_RCSID( QtTests,
+ test_i,
+ "$Id$")
LCD_Display_imp::LCD_Display_imp (CORBA::ORB_ptr orb)
@@ -31,4 +31,4 @@ LCD_Display_imp::send_val (CORBA::Long val
"The value from server is <%d> \n", val));
emit set_value (val);
}
-#endif /* ACE_HAS_QT */
+
diff --git a/TAO/tests/QtTests/test_i.h b/TAO/tests/QtTests/test_i.h
index d655bec27da..ac04d36afc9 100755
--- a/TAO/tests/QtTests/test_i.h
+++ b/TAO/tests/QtTests/test_i.h
@@ -1,5 +1,4 @@
// $Id$
-
// ============================================================================
//
// = LIBRARY
@@ -18,10 +17,6 @@
#include "testS.h"
-
-#if defined(ACE_HAS_QT)
-
-#include "tao/qt_resource.h"
#include <qapplication.h>
#include <qobject.h>
@@ -56,6 +51,4 @@ private:
// The ORB
};
-#endif /* ACE_HAS_QT */
-
#endif /* SERVER_TEST_I_H */
diff --git a/TAO/tests/Xt_Stopwatch/.cvsignore b/TAO/tests/Xt_Stopwatch/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/TAO/tests/Xt_Stopwatch/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/TAO/tests/Xt_Stopwatch/Client.h b/TAO/tests/Xt_Stopwatch/Client.h
index e39fb418d95..978e0f3c3b1 100644
--- a/TAO/tests/Xt_Stopwatch/Client.h
+++ b/TAO/tests/Xt_Stopwatch/Client.h
@@ -18,9 +18,8 @@
#include "testC.h"
-#if defined (ACE_HAS_XT)
-#include "tao/xt_resource.h"
+#include "tao/XtResource_Loader.h"
class Control;
class Client
@@ -59,5 +58,4 @@ private:
// The server.
};
-#endif /*ACE_HAS_XT*/
#endif /* CLIENT_H */
diff --git a/TAO/tests/Xt_Stopwatch/Control.cpp b/TAO/tests/Xt_Stopwatch/Control.cpp
index 9e7745c2f24..6d3de01204b 100644
--- a/TAO/tests/Xt_Stopwatch/Control.cpp
+++ b/TAO/tests/Xt_Stopwatch/Control.cpp
@@ -2,7 +2,6 @@
#include "Control.h"
-#if defined (ACE_HAS_XT)
Control::Control (Widget &parent)
{
@@ -53,4 +52,3 @@ Control::stopwidget (void)
return this->stopwidget_;
}
-#endif /*ACE_HAS_XT*/
diff --git a/TAO/tests/Xt_Stopwatch/Control.h b/TAO/tests/Xt_Stopwatch/Control.h
index 88aaeada02c..0dea6b7eed9 100644
--- a/TAO/tests/Xt_Stopwatch/Control.h
+++ b/TAO/tests/Xt_Stopwatch/Control.h
@@ -17,7 +17,6 @@
#define CONTROL_H
#include "Client.h"
-#if defined (ACE_HAS_XT)
#include <Xm/Xm.h>
#include <Xm/PushB.h>
@@ -60,6 +59,5 @@ class Control
};
-#endif /*ACE_HAS_XT */
#endif /* CONTROL_H */
diff --git a/TAO/tests/Xt_Stopwatch/README b/TAO/tests/Xt_Stopwatch/README
index 3bbd0f6f22c..85040fb2895 100644
--- a/TAO/tests/Xt_Stopwatch/README
+++ b/TAO/tests/Xt_Stopwatch/README
@@ -24,22 +24,12 @@ Technical Description:
In addition to specifying the resources that the ORB needs to allocate
for an Xt event loop, the ORB also needs the information about the
XtAppContext in which the user application is initialised. To provide
-these information TAO provides a class by name
-"TAO_XT_Resource_Factory" that inherits from the
-TAO_Default_Resource_factory. This provides the user with a static
-method through which he can set the XtAppContext.
-
-To make TAO understand that the user is in fact wants to use the
-TAO_XT_Resource_Factory and not the default resource factory, the
-application developer must add the following line to his svc.conf
-file.
-
-dynamic Resource_Factory Service_Object *
-TAO:_make_TAO_XT_Resource_Factory() ""
-
-Please see the line of code in server.cpp that sets the XtAppContext
-in the TAO_XT_Resource_factory.
-
-One more interseting observation would be to note that the server and
-client run on the Xt event loop by calling the XtAppMainLoop ().
+these information TAO provides a class by name TAO_XtResource_Loader which is
+responsible for create and instance of TAO_XtResource_Factory that inherits
+from the TAO_Default_Resource_factory. TAO_XtResource_Loader has a constructor
+parameterized the application context necessary for integration of ACE_XtReactor
+with Xt event loop.
+
+Please notice also that the server and client run on the Xt event loop by
+calling the XtAppMainLoop ().
diff --git a/TAO/tests/Xt_Stopwatch/Stopwatch_display.cpp b/TAO/tests/Xt_Stopwatch/Stopwatch_display.cpp
index 9020bdd4e44..9f55249b27b 100644
--- a/TAO/tests/Xt_Stopwatch/Stopwatch_display.cpp
+++ b/TAO/tests/Xt_Stopwatch/Stopwatch_display.cpp
@@ -2,7 +2,6 @@
#include "Stopwatch_display.h"
-#if defined (ACE_HAS_XT)
#include "ace/OS_NS_stdio.h"
@@ -58,4 +57,3 @@ Stopwatch_display::set_time (CORBA::Float time)
XmStringFree (xmstr);
}
-#endif /*ACE_HAS_XT*/
diff --git a/TAO/tests/Xt_Stopwatch/Stopwatch_display.h b/TAO/tests/Xt_Stopwatch/Stopwatch_display.h
index dd62dd9d5eb..984d90b4d35 100644
--- a/TAO/tests/Xt_Stopwatch/Stopwatch_display.h
+++ b/TAO/tests/Xt_Stopwatch/Stopwatch_display.h
@@ -18,8 +18,6 @@
#include /**/ "ace/pre.h"
#include "tao/ORB_Constants.h"
-#if defined (ACE_HAS_XT)
-
#include <Xm/Xm.h>
#include <Xm/Frame.h>
#include <Xm/Label.h>
@@ -48,7 +46,6 @@ private:
// Label Widget that is used to display time..
};
-#endif /*ACE_HAS_XT*/
#include /**/ "ace/post.h"
#endif /* STOPWATCH_H */
diff --git a/TAO/tests/Xt_Stopwatch/Xt_Stopwatch.mpc b/TAO/tests/Xt_Stopwatch/Xt_Stopwatch.mpc
index fa1415dbe43..d98e1e04898 100644
--- a/TAO/tests/Xt_Stopwatch/Xt_Stopwatch.mpc
+++ b/TAO/tests/Xt_Stopwatch/Xt_Stopwatch.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*Server): taoexe, portableserver {
- requires += xt_reactor
+project(*Server): taoexe, portableserver, tao_xtresource, ace_motif {
Source_Files {
test_i.cpp
Stopwatch_display.cpp
@@ -11,8 +10,7 @@ project(*Server): taoexe, portableserver {
}
}
-project(*Client): taoexe {
- requires += xt_reactor
+project(*Client): taoexe, tao_xtresource, ace_motif {
Source_Files {
testC.cpp
Control.cpp
diff --git a/TAO/tests/Xt_Stopwatch/client.cpp b/TAO/tests/Xt_Stopwatch/client.cpp
index f40fe31f222..5ef015f0e6a 100644
--- a/TAO/tests/Xt_Stopwatch/client.cpp
+++ b/TAO/tests/Xt_Stopwatch/client.cpp
@@ -5,17 +5,6 @@
ACE_RCSID(Xt_Stopwatch, client, "$Id$")
-#if !defined (ACE_HAS_XT)
-
-int
-main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "Xt not supported on this platform\n"));
- return 0;
-}
-
-#else
#include "Control.h"
#include "Client.h"
@@ -34,7 +23,7 @@ main (int argc, char *argv[])
NULL,
0);
- TAO_XT_Resource_Factory::set_context (app);
+ TAO::XtResource_Loader xt_loader (app);
Control control (toplevel);
@@ -191,4 +180,3 @@ Client::stop_hook (void)
ACE_CHECK;
}
-#endif /* ACE_HAS_FL */
diff --git a/TAO/tests/Xt_Stopwatch/server.cpp b/TAO/tests/Xt_Stopwatch/server.cpp
index d7febb879c3..374dcb368f0 100644
--- a/TAO/tests/Xt_Stopwatch/server.cpp
+++ b/TAO/tests/Xt_Stopwatch/server.cpp
@@ -8,20 +8,7 @@ ACE_RCSID (Xt_Stopwatch,
server,
"$Id$")
-
-#if !defined (ACE_HAS_XT)
-
-int
-main (int, char *[])
-{
- ACE_ERROR ((LM_INFO,
- "Xt not supported on this platform\n"));
- return 0;
-}
-
-#else
-
-#include "tao/xt_resource.h"
+#include "tao/XtResource_Loader.h"
#include <Xm/Xm.h>
#include "Stopwatch_display.h"
#include "timer.h"
@@ -72,7 +59,7 @@ main (int argc, char *argv[])
NULL,
0);
- TAO_XT_Resource_Factory::set_context (app);
+ TAO::XtResource_Loader xt_loader (app);
Stopwatch_display stopwatch (toplevel);
@@ -157,4 +144,3 @@ main (int argc, char *argv[])
return 0;
}
-#endif /* ACE_HAS_Xt */
diff --git a/TAO/tests/Xt_Stopwatch/svc.conf b/TAO/tests/Xt_Stopwatch/svc.conf
deleted file mode 100644
index 9d6894193c4..00000000000
--- a/TAO/tests/Xt_Stopwatch/svc.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# $Id$
-#
-dynamic Resource_Factory Service_Object * TAO:_make_TAO_XT_Resource_Factory() ""
diff --git a/TAO/tests/Xt_Stopwatch/svc.conf.xml b/TAO/tests/Xt_Stopwatch/svc.conf.xml
deleted file mode 100644
index 58ce9b10ea3..00000000000
--- a/TAO/tests/Xt_Stopwatch/svc.conf.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from ./tests/Xt_Stopwatch/svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- $Id$ -->
- <!-- -->
- <dynamic id="Resource_Factory" type="Service_Object">
- <initializer path="TAO" init="_make_TAO_XT_Resource_Factory"/>
- </dynamic>
-</ACE_Svc_Conf>
diff --git a/TAO/tests/Xt_Stopwatch/test_i.cpp b/TAO/tests/Xt_Stopwatch/test_i.cpp
index b3e9678fa62..de99f651892 100644
--- a/TAO/tests/Xt_Stopwatch/test_i.cpp
+++ b/TAO/tests/Xt_Stopwatch/test_i.cpp
@@ -2,9 +2,7 @@
#include "test_i.h"
-#if defined(ACE_HAS_XT)
-
-ACE_RCSID(FL_Cube, test_i, "$Id$")
+ACE_RCSID(Xt_Stopwatch, test_i, "$Id$")
Stopwatch_imp::Stopwatch_imp (CORBA::ORB_ptr orb, Timer_imp *timer)
: orb_ (CORBA::ORB::_duplicate (orb)),
@@ -33,4 +31,3 @@ Stopwatch_imp::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
this->orb_->shutdown (0);
}
-#endif /* ACE_HAS_XT */
diff --git a/TAO/tests/Xt_Stopwatch/test_i.h b/TAO/tests/Xt_Stopwatch/test_i.h
index 9250769c1b8..33e4e0e826f 100644
--- a/TAO/tests/Xt_Stopwatch/test_i.h
+++ b/TAO/tests/Xt_Stopwatch/test_i.h
@@ -19,7 +19,6 @@
#include "testS.h"
#include "timer.h"
-#if defined(ACE_HAS_XT)
class Stopwatch_imp : public POA_Stopwatch
{
@@ -51,6 +50,4 @@ private:
// Hold the timer object...
};
-#endif /* ACE_HAS_XT */
-
#endif /* SERVER_TEST_I_H */
diff --git a/TAO/tests/Xt_Stopwatch/timer.cpp b/TAO/tests/Xt_Stopwatch/timer.cpp
index 35716040392..e9dca4c405e 100644
--- a/TAO/tests/Xt_Stopwatch/timer.cpp
+++ b/TAO/tests/Xt_Stopwatch/timer.cpp
@@ -1,7 +1,6 @@
//$Id$
#include "timer.h"
-#if defined (ACE_HAS_XT)
Timer_imp::Timer_imp (XtAppContext &app,
CORBA::Long interval,
@@ -84,4 +83,3 @@ Timer_imp::report_time (CORBA::Float time)
}
-#endif /*ACE_HAS_XT*/
diff --git a/TAO/tests/Xt_Stopwatch/timer.h b/TAO/tests/Xt_Stopwatch/timer.h
index 08ae4345a40..6c2362cb1a3 100644
--- a/TAO/tests/Xt_Stopwatch/timer.h
+++ b/TAO/tests/Xt_Stopwatch/timer.h
@@ -18,7 +18,6 @@
#include "Stopwatch_display.h"
-#if defined (ACE_HAS_XT)
#include <Xm/Xm.h>
@@ -69,6 +68,5 @@ class Timer_imp
// Required by Xt functions
};
-#endif /*ACE_HAS_XT*/
#endif /* TIMER_H */
diff --git a/TAO/utils/catior/.cvsignore b/TAO/utils/catior/.cvsignore
new file mode 100644
index 00000000000..cde3a278f0a
--- /dev/null
+++ b/TAO/utils/catior/.cvsignore
@@ -0,0 +1 @@
+catior
diff --git a/TAO/utils/nslist/.cvsignore b/TAO/utils/nslist/.cvsignore
new file mode 100644
index 00000000000..3acf671e95c
--- /dev/null
+++ b/TAO/utils/nslist/.cvsignore
@@ -0,0 +1,3 @@
+nsadd
+nsdel
+nslist
diff --git a/ace/.cvsignore b/ace/.cvsignore
new file mode 100644
index 00000000000..89227cc8b5d
--- /dev/null
+++ b/ace/.cvsignore
@@ -0,0 +1,2 @@
+QtReactor_moc.cpp
+QtReactor_moc.cpp
diff --git a/ace/ACE_FlReactor_export.h b/ace/ACE_FlReactor_export.h
new file mode 100644
index 00000000000..ad2cd587f3a
--- /dev/null
+++ b/ace/ACE_FlReactor_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s ACE_FlReactor
+// ------------------------------
+#ifndef ACE_FLREACTOR_EXPORT_H
+#define ACE_FLREACTOR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_FLREACTOR_HAS_DLL)
+# define ACE_FLREACTOR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACE_FLREACTOR_HAS_DLL */
+
+#if !defined (ACE_FLREACTOR_HAS_DLL)
+# define ACE_FLREACTOR_HAS_DLL 1
+#endif /* ! ACE_FLREACTOR_HAS_DLL */
+
+#if defined (ACE_FLREACTOR_HAS_DLL) && (ACE_FLREACTOR_HAS_DLL == 1)
+# if defined (ACE_FLREACTOR_BUILD_DLL)
+# define ACE_FlReactor_Export ACE_Proper_Export_Flag
+# define ACE_FLREACTOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACE_FLREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACE_FLREACTOR_BUILD_DLL */
+# define ACE_FlReactor_Export ACE_Proper_Import_Flag
+# define ACE_FLREACTOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACE_FLREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACE_FLREACTOR_BUILD_DLL */
+#else /* ACE_FLREACTOR_HAS_DLL == 1 */
+# define ACE_FlReactor_Export
+# define ACE_FLREACTOR_SINGLETON_DECLARATION(T)
+# define ACE_FLREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACE_FLREACTOR_HAS_DLL == 1 */
+
+// Set ACE_FLREACTOR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ACE_FLREACTOR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ACE_FLREACTOR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ACE_FLREACTOR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ACE_FLREACTOR_NTRACE */
+
+#if (ACE_FLREACTOR_NTRACE == 1)
+# define ACE_FLREACTOR_TRACE(X)
+#else /* (ACE_FLREACTOR_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ACE_FLREACTOR_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ACE_FLREACTOR_NTRACE == 1) */
+
+#endif /* ACE_FLREACTOR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ace/ACE_QtReactor_export.h b/ace/ACE_QtReactor_export.h
new file mode 100644
index 00000000000..850d2d4dab1
--- /dev/null
+++ b/ace/ACE_QtReactor_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s ACE_QtReactor
+// ------------------------------
+#ifndef ACE_QTREACTOR_EXPORT_H
+#define ACE_QTREACTOR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_QTREACTOR_HAS_DLL)
+# define ACE_QTREACTOR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACE_QTREACTOR_HAS_DLL */
+
+#if !defined (ACE_QTREACTOR_HAS_DLL)
+# define ACE_QTREACTOR_HAS_DLL 1
+#endif /* ! ACE_QTREACTOR_HAS_DLL */
+
+#if defined (ACE_QTREACTOR_HAS_DLL) && (ACE_QTREACTOR_HAS_DLL == 1)
+# if defined (ACE_QTREACTOR_BUILD_DLL)
+# define ACE_QtReactor_Export ACE_Proper_Export_Flag
+# define ACE_QTREACTOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACE_QTREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACE_QTREACTOR_BUILD_DLL */
+# define ACE_QtReactor_Export ACE_Proper_Import_Flag
+# define ACE_QTREACTOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACE_QTREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACE_QTREACTOR_BUILD_DLL */
+#else /* ACE_QTREACTOR_HAS_DLL == 1 */
+# define ACE_QtReactor_Export
+# define ACE_QTREACTOR_SINGLETON_DECLARATION(T)
+# define ACE_QTREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACE_QTREACTOR_HAS_DLL == 1 */
+
+// Set ACE_QTREACTOR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ACE_QTREACTOR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ACE_QTREACTOR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ACE_QTREACTOR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ACE_QTREACTOR_NTRACE */
+
+#if (ACE_QTREACTOR_NTRACE == 1)
+# define ACE_QTREACTOR_TRACE(X)
+#else /* (ACE_QTREACTOR_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ACE_QTREACTOR_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ACE_QTREACTOR_NTRACE == 1) */
+
+#endif /* ACE_QTREACTOR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ace/ACE_TkReactor_export.h b/ace/ACE_TkReactor_export.h
new file mode 100644
index 00000000000..096828b9b0e
--- /dev/null
+++ b/ace/ACE_TkReactor_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s ACE_TkReactor
+// ------------------------------
+#ifndef ACE_TKREACTOR_EXPORT_H
+#define ACE_TKREACTOR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_TKREACTOR_HAS_DLL)
+# define ACE_TKREACTOR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACE_TKREACTOR_HAS_DLL */
+
+#if !defined (ACE_TKREACTOR_HAS_DLL)
+# define ACE_TKREACTOR_HAS_DLL 1
+#endif /* ! ACE_TKREACTOR_HAS_DLL */
+
+#if defined (ACE_TKREACTOR_HAS_DLL) && (ACE_TKREACTOR_HAS_DLL == 1)
+# if defined (ACE_TKREACTOR_BUILD_DLL)
+# define ACE_TkReactor_Export ACE_Proper_Export_Flag
+# define ACE_TKREACTOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACE_TKREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACE_TKREACTOR_BUILD_DLL */
+# define ACE_TkReactor_Export ACE_Proper_Import_Flag
+# define ACE_TKREACTOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACE_TKREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACE_TKREACTOR_BUILD_DLL */
+#else /* ACE_TKREACTOR_HAS_DLL == 1 */
+# define ACE_TkReactor_Export
+# define ACE_TKREACTOR_SINGLETON_DECLARATION(T)
+# define ACE_TKREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACE_TKREACTOR_HAS_DLL == 1 */
+
+// Set ACE_TKREACTOR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ACE_TKREACTOR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ACE_TKREACTOR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ACE_TKREACTOR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ACE_TKREACTOR_NTRACE */
+
+#if (ACE_TKREACTOR_NTRACE == 1)
+# define ACE_TKREACTOR_TRACE(X)
+#else /* (ACE_TKREACTOR_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ACE_TKREACTOR_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ACE_TKREACTOR_NTRACE == 1) */
+
+#endif /* ACE_TKREACTOR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ace/ACE_XtReactor_export.h b/ace/ACE_XtReactor_export.h
new file mode 100644
index 00000000000..b7e6a55cd08
--- /dev/null
+++ b/ace/ACE_XtReactor_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s ACE_XtReactor
+// ------------------------------
+#ifndef ACE_XTREACTOR_EXPORT_H
+#define ACE_XTREACTOR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_XTREACTOR_HAS_DLL)
+# define ACE_XTREACTOR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACE_XTREACTOR_HAS_DLL */
+
+#if !defined (ACE_XTREACTOR_HAS_DLL)
+# define ACE_XTREACTOR_HAS_DLL 1
+#endif /* ! ACE_XTREACTOR_HAS_DLL */
+
+#if defined (ACE_XTREACTOR_HAS_DLL) && (ACE_XTREACTOR_HAS_DLL == 1)
+# if defined (ACE_XTREACTOR_BUILD_DLL)
+# define ACE_XtReactor_Export ACE_Proper_Export_Flag
+# define ACE_XTREACTOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACE_XTREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACE_XTREACTOR_BUILD_DLL */
+# define ACE_XtReactor_Export ACE_Proper_Import_Flag
+# define ACE_XTREACTOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACE_XTREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACE_XTREACTOR_BUILD_DLL */
+#else /* ACE_XTREACTOR_HAS_DLL == 1 */
+# define ACE_XtReactor_Export
+# define ACE_XTREACTOR_SINGLETON_DECLARATION(T)
+# define ACE_XTREACTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACE_XTREACTOR_HAS_DLL == 1 */
+
+// Set ACE_XTREACTOR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ACE_XTREACTOR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ACE_XTREACTOR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ACE_XTREACTOR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ACE_XTREACTOR_NTRACE */
+
+#if (ACE_XTREACTOR_NTRACE == 1)
+# define ACE_XTREACTOR_TRACE(X)
+#else /* (ACE_XTREACTOR_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define ACE_XTREACTOR_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (ACE_XTREACTOR_NTRACE == 1) */
+
+#endif /* ACE_XTREACTOR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/ace/FlReactor.cpp b/ace/FlReactor.cpp
index 1b15981844b..1eed0acf20d 100644
--- a/ace/FlReactor.cpp
+++ b/ace/FlReactor.cpp
@@ -4,8 +4,6 @@
ACE_RCSID(ace, FlReactor, "$Id$")
-#if defined (ACE_HAS_FL)
-
#include /**/ <FL/Fl.h>
ACE_ALLOC_HOOK_DEFINE (ACE_FlReactor)
@@ -326,5 +324,3 @@ ACE_FlReactor::cancel_timer (long timer_id,
return 0;
}
}
-
-#endif /* ACE_HAS_FL */
diff --git a/ace/FlReactor.h b/ace/FlReactor.h
index d0c7867bc7a..b1813fdd9bd 100644
--- a/ace/FlReactor.h
+++ b/ace/FlReactor.h
@@ -25,8 +25,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#if defined (ACE_HAS_FL)
-
+#include "ace/ACE_FlReactor_export.h"
#include "ace/Select_Reactor.h"
/**
@@ -42,7 +41,7 @@
* events. This class adapts this simple mechanisms so they are
* compatible with ACE's Reactor.
*/
-class ACE_Export ACE_FlReactor : public ACE_Select_Reactor
+class ACE_FlReactor_Export ACE_FlReactor : public ACE_Select_Reactor
{
public:
@@ -103,7 +102,5 @@ private:
ACE_FlReactor &operator = (const ACE_FlReactor &);
};
-#endif /* ACE_HAS_FL */
-
#include /**/ "ace/post.h"
#endif /* ACE_FLREACTOR_H */
diff --git a/ace/QtReactor.cpp b/ace/QtReactor.cpp
index de638db08c9..ab82e9c9944 100644
--- a/ace/QtReactor.cpp
+++ b/ace/QtReactor.cpp
@@ -1,6 +1,5 @@
//$Id$
#include "ace/QtReactor.h"
-#if defined (ACE_HAS_QT)
ACE_ALLOC_HOOK_DEFINE (ACE_QtReactor)
// Must be called with lock held
@@ -637,4 +636,3 @@ template class ACE_Map_Reverse_Iterator<ACE_HANDLE, QSocketNotifier *, ACE_Null_
#pragma instantiate ACE_Map_Iterator<ACE_HANDLE, QSocketNotifier *, ACE_Null_Mutex>
#pragma instantiate ACE_Map_Reverse_Iterator<ACE_HANDLE, QSocketNotifier *, ACE_Null_Mutex>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-#endif /*ACE_HAS_QT */
diff --git a/ace/QtReactor.h b/ace/QtReactor.h
index 26e48e21bff..b336fdd3d13 100644
--- a/ace/QtReactor.h
+++ b/ace/QtReactor.h
@@ -17,12 +17,12 @@
#include "ace/Select_Reactor.h"
+#include "ace/ACE_QtReactor_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#if defined (ACE_HAS_QT)
#include "ace/Map_Manager.h"
// Qttoolkit specific includes.
@@ -79,7 +79,7 @@
* it is not clear if the leak is introduced by QtReactor, or rather incorrect
* memory management in QtReactor_Test.
*/
-class ACE_Export ACE_QtReactor : public QObject, public ACE_Select_Reactor
+class ACE_QtReactor_Export ACE_QtReactor : public QObject, public ACE_Select_Reactor
{
Q_OBJECT
@@ -212,7 +212,5 @@ void read_event (int FD);
void timeout_event (void);
};
-#endif /*ACE_HAS_QT */
-
#include /**/ "ace/post.h"
#endif /* ACE_QTREACTOR_H */
diff --git a/ace/README b/ace/README
index 32e298f8a92..a3482273083 100644
--- a/ace/README
+++ b/ace/README
@@ -723,7 +723,6 @@ ACE_HAS_WINSOCK2 The Win32 platform supports
WinSock 2.0
ACE_HAS_XLI Platform has the XLI version
of TLI
-ACE_HAS_XT Platform has Xt and Motif
ACE_HAS_XTI Platform has XTI
(X/Open-standardized superset
of TLI). Implies ACE_HAS_TLI
@@ -1706,18 +1705,6 @@ ACE_USES_GPROF:
When using gprof mainly on Linux, #define ACE_USES_GPROF
will add calls to getitimer/setitimer in order to initialize profile
timer and overcome the problem of gprof with multithreaded applications.
-ACE_HAS_QT:
-----------------------------
- Used in:
- ace/QtReactor.cpp
- ace/QtReactor.h
- tests/QtReactor_Test.cpp
- tests/QtReactor_Test.h
- TAO/tao/qt_resource.h
- TAO/tao/qt_resource.cpp
- TAO/tests/QtTests/*
- Notes:
- Turns on integration with Qt.
ACE_QTREACTOR_CLEAR_PENDING_EVENTS:
----------------------------
diff --git a/ace/TkReactor.cpp b/ace/TkReactor.cpp
index eb14225cade..5fb8b56db71 100644
--- a/ace/TkReactor.cpp
+++ b/ace/TkReactor.cpp
@@ -1,6 +1,5 @@
#include "ace/TkReactor.h"
-#if defined (ACE_HAS_TK)
#include "ace/SOCK_Acceptor.h"
#include "ace/SOCK_Connector.h"
@@ -435,4 +434,3 @@ ACE_TkReactor::cancel_timer (long timer_id,
}
}
-#endif /* ACE_HAS_TK */
diff --git a/ace/TkReactor.h b/ace/TkReactor.h
index 7868eb6650c..024d341b937 100644
--- a/ace/TkReactor.h
+++ b/ace/TkReactor.h
@@ -20,8 +20,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#if defined (ACE_HAS_TK)
-
+#include "ace/ACE_TkReactor_export.h"
#include "ace/Select_Reactor.h"
#include /**/ <tk.h>
@@ -31,7 +30,7 @@
* @brief This little class is necessary due to the way that Microsoft
* implements sockets to be pointers rather than indices.
*/
-class ACE_Export ACE_TkReactorID
+class ACE_TkReactor_Export ACE_TkReactorID
{
public:
/// Underlying handle.
@@ -43,7 +42,7 @@ public:
class ACE_TkReactor;
-class ACE_Export ACE_TkReactor_Input_Callback
+class ACE_TkReactor_Export ACE_TkReactor_Input_Callback
{
public:
ACE_TkReactor *reactor_;
@@ -56,7 +55,7 @@ public:
* @brief An object-oriented event demultiplexor and event handler
* dispatcher that uses the Tk functions.
*/
-class ACE_Export ACE_TkReactor : public ACE_Select_Reactor
+class ACE_TkReactor_Export ACE_TkReactor : public ACE_Select_Reactor
{
public:
// = Initialization and termination methods.
@@ -128,6 +127,5 @@ private:
ACE_TkReactor &operator = (const ACE_TkReactor &);
};
-#endif /* ACE_HAS_TK */
#include /**/ "ace/post.h"
#endif /* ACE_TK_REACTOR_H */
diff --git a/ace/XtReactor.cpp b/ace/XtReactor.cpp
index 609f0077b64..6fb2c898ba3 100644
--- a/ace/XtReactor.cpp
+++ b/ace/XtReactor.cpp
@@ -1,7 +1,6 @@
// $Id$
#include "ace/XtReactor.h"
-#if defined (ACE_HAS_XT)
#include "ace/SOCK_Acceptor.h"
#include "ace/SOCK_Connector.h"
@@ -446,4 +445,3 @@ ACE_XtReactor::cancel_timer (long timer_id,
}
}
-#endif /* ACE_HAS_XT */
diff --git a/ace/XtReactor.h b/ace/XtReactor.h
index 87b129af19b..e51fc87722e 100644
--- a/ace/XtReactor.h
+++ b/ace/XtReactor.h
@@ -22,9 +22,7 @@
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined (ACE_HAS_XT)
-
+#include "ace/ACE_XtReactor_export.h"
#include "ace/Select_Reactor.h"
//#define String XtString
@@ -37,7 +35,7 @@
* @brief This little class is necessary due to the way that Microsoft
* implements sockets to be pointers rather than indices.
*/
-class ACE_Export ACE_XtReactorID
+class ACE_XtReactor_Export ACE_XtReactorID
{
public:
/// Magic cookie.
@@ -56,7 +54,7 @@ public:
* @brief An object-oriented event demultiplexor and event handler
* dispatcher that uses the X Toolkit functions.
*/
-class ACE_Export ACE_XtReactor : public ACE_Select_Reactor
+class ACE_XtReactor_Export ACE_XtReactor : public ACE_Select_Reactor
{
public:
// = Initialization and termination methods.
@@ -132,7 +130,6 @@ private:
ACE_XtReactor (const ACE_XtReactor &);
ACE_XtReactor &operator = (const ACE_XtReactor &);
};
-#endif /* ACE_HAS_XT */
#include /**/ "ace/post.h"
#endif /* ACE_XTREACTOR_H */
diff --git a/ace/ace.mpc b/ace/ace.mpc
index 32402da0912..cd4686e0d70 100644
--- a/ace/ace.mpc
+++ b/ace/ace.mpc
@@ -1,7 +1,7 @@
// -*- MPC -*- now wouldn't this be cool...
// $Id$
-project(ACE) : acedefaults, aceversion, core, qt_reactor, other, codecs, token, svcconf, uuid, filecache {
+project(ACE) : acedefaults, aceversion, core, other, codecs, token, svcconf, uuid, filecache {
libout = $(ACE_ROOT)/lib
sharedname = ACE
dynamicflags = ACE_BUILD_DLL
@@ -80,7 +80,6 @@ project(ACE) : acedefaults, aceversion, core, qt_reactor, other, codecs, token,
FILE_IO.cpp
File_Lock.cpp
Flag_Manip.cpp
- FlReactor.cpp
Framework_Component.cpp
Functor.cpp
Functor_String.cpp
@@ -190,7 +189,6 @@ project(ACE) : acedefaults, aceversion, core, qt_reactor, other, codecs, token,
Process_Mutex.cpp
Process_Semaphore.cpp
Profile_Timer.cpp
- QtReactor.cpp
Reactor.cpp
Reactor_Notification_Strategy.cpp
Read_Buffer.cpp
@@ -258,7 +256,6 @@ project(ACE) : acedefaults, aceversion, core, qt_reactor, other, codecs, token,
Timer_List.cpp
Timer_Queue.cpp
Timer_Wheel.cpp
- TkReactor.cpp
TLI.cpp
TLI_Acceptor.cpp
TLI_Connector.cpp
@@ -276,7 +273,6 @@ project(ACE) : acedefaults, aceversion, core, qt_reactor, other, codecs, token,
WIN32_Asynch_IO.cpp
WIN32_Proactor.cpp
XTI_ATM_Mcast.cpp
- XtReactor.cpp
}
Template_Files {
diff --git a/ace/ace.mwc b/ace/ace.mwc
index 0ae6180ea24..c2b2802414b 100644
--- a/ace/ace.mwc
+++ b/ace/ace.mwc
@@ -3,6 +3,10 @@
workspace {
ace.mpc
+ ace_flreactor.mpc
+ ace_qtreactor.mpc
+ ace_tkreactor.mpc
+ ace_xtreactor.mpc
QoS
RMCast
SSL
diff --git a/ace/ace_flreactor.mpc b/ace/ace_flreactor.mpc
new file mode 100644
index 00000000000..360c94e0349
--- /dev/null
+++ b/ace/ace_flreactor.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*- now wouldn't this be cool...
+// ace_flreactor.mpc,v
+
+project(ACE_FlReactor) : acedefaults, aceversion, core, acelib, ace_fl{
+
+ sharedname = ACE_FlReactor
+ dynamicflags = ACE_FLREACTOR_BUILD_DLL
+
+ Header_Files {
+ ACE_TkReactor_export.h
+ TkReactor.h
+ }
+
+ Source_Files(ACE_COMPONENTS) {
+ Demux {
+ FlReactor.cpp
+ }
+ }
+}
diff --git a/ace/ace_qtreactor.mpc b/ace/ace_qtreactor.mpc
new file mode 100644
index 00000000000..5027658b6b5
--- /dev/null
+++ b/ace/ace_qtreactor.mpc
@@ -0,0 +1,23 @@
+// -*- MPC -*- now wouldn't this be cool...
+// ace_qtreactor.mpc,v
+
+project(ACE_QtReactor) : acedefaults, aceversion, core, acelib, ace_qt {
+
+ sharedname = ACE_QtReactor
+ dynamicflags = ACE_QTREACTOR_BUILD_DLL
+
+ MOC_Files {
+ QtReactor.h
+ }
+
+ Header_Files {
+ ACE_QtReactor_export.h
+ }
+
+ Source_Files(ACE_COMPONENTS) {
+ Demux {
+ QtReactor_moc.cpp
+ QtReactor.cpp
+ }
+ }
+}
diff --git a/ace/ace_tkreactor.mpc b/ace/ace_tkreactor.mpc
new file mode 100644
index 00000000000..1ded49b05ca
--- /dev/null
+++ b/ace/ace_tkreactor.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*- now wouldn't this be cool...
+// ace_tkreactor.mpc,v
+
+project(ACE_TkReactor) : acedefaults, aceversion, core, acelib, ace_tk {
+
+ sharedname = ACE_TkReactor
+ dynamicflags = ACE_TKREACTOR_BUILD_DLL
+
+
+ Header_Files {
+ ACE_TkReactor_export.h
+ TkReactor.h
+ }
+ Source_Files(ACE_COMPONENTS) {
+ Demux {
+ TkReactor.cpp
+ }
+ }
+}
diff --git a/ace/ace_xtreactor.mpc b/ace/ace_xtreactor.mpc
new file mode 100644
index 00000000000..0edc7efe0dc
--- /dev/null
+++ b/ace/ace_xtreactor.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*- now wouldn't this be cool...
+// ace_xtreactor.mpc,v
+
+project(ACE_XtReactor) : acedefaults, aceversion, core, acelib, ace_xt {
+
+ sharedname = ACE_XtReactor
+ dynamicflags = ACE_XTREACTOR_BUILD_DLL
+
+ Header_Files {
+ XtReactor.h
+ ACE_XtReactor_export.h
+ }
+ Source_Files(ACE_COMPONENTS) {
+ Demux {
+ XtReactor.cpp
+ }
+ }
+}
diff --git a/ace/config-doxygen.h b/ace/config-doxygen.h
index 79c26b05ce8..8a5fc16f2cd 100644
--- a/ace/config-doxygen.h
+++ b/ace/config-doxygen.h
@@ -58,13 +58,6 @@
/// Enable support for the SSL wrappers
#define ACE_HAS_SSL 1
-/// Several GUI Reactors that are only enabled in some platforms.
-#define ACE_HAS_XT
-#define ACE_HAS_FL
-#define ACE_HAS_QT
-#define ACE_HAS_TK
-#define ACE_HAS_GTK
-
/// Enable exceptions
#define ACE_HAS_EXCEPTIONS
diff --git a/ace/config-win32-msvc.h b/ace/config-win32-msvc.h
index 6262f39b820..bb319cef13e 100644
--- a/ace/config-win32-msvc.h
+++ b/ace/config-win32-msvc.h
@@ -139,12 +139,5 @@
# endif /* !STRICT */
# endif /* ACE_HAS_STRICT */
-// Define QT_DLL for QtReactor to be compiled correct
-# if defined (ACE_HAS_QT)
-# if !defined (QT_DLL) /* may already be defined */
-# define QT_DLL
-# endif /* !QT_DLL */
-# endif
-
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_WIN32_MSVC_H */
diff --git a/apps/gperf/src/.cvsignore b/apps/gperf/src/.cvsignore
new file mode 100644
index 00000000000..977dce99c7d
--- /dev/null
+++ b/apps/gperf/src/.cvsignore
@@ -0,0 +1,2 @@
+gperf
+gperf
diff --git a/apps/gperf/tests/.cvsignore b/apps/gperf/tests/.cvsignore
new file mode 100644
index 00000000000..d805133eaae
--- /dev/null
+++ b/apps/gperf/tests/.cvsignore
@@ -0,0 +1,58 @@
+ada.cpp
+ada.cpp
+adadefs.cpp
+adadefs.cpp
+aout
+aout
+aout.out
+aout.out
+c.cpp
+c.cpp
+corba.cpp
+corba.cpp
+cout
+cout
+cout.out
+cout.out
+cpp.cpp
+cpp.cpp
+cppout
+cppout
+cppout.out
+cppout.out
+idl.cpp
+idl.cpp
+iout
+iout
+iout.out
+iout.out
+iout2
+iout2
+iout2.out
+iout2.out
+m3out
+m3out
+m3out.out
+m3out.out
+modula3.cpp
+modula3.cpp
+pascal.cpp
+pascal.cpp
+pout
+pout
+pout.out
+pout.out
+preout
+preout
+preout.out
+preout.out
+tao.cpp
+tao.cpp
+taoout
+taoout
+taoout.out
+taoout.out
+tout
+tout
+tout.out
+tout.out
diff --git a/bin/MakeProjectCreator/config/ace_athena.mpb b/bin/MakeProjectCreator/config/ace_athena.mpb
new file mode 100644
index 00000000000..05bd0b998d0
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_athena.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// ace_athena.mpb,v
+
+project: ace_xt {
+ requires += athena
+ lit_libs += Xaw
+}
diff --git a/bin/MakeProjectCreator/config/ace_fl.mpb b/bin/MakeProjectCreator/config/ace_fl.mpb
new file mode 100644
index 00000000000..c178b7c2687
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_fl.mpb
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// ace_fltk.mpb,v
+
+project : ace_x11, ace_gl {
+ requires += fl
+
+ // Depends on configuration from include/makeinclude/platform_*.GNU
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_FL_CPPFLAGS)
+ CPPFLAGS += $(PLATFORM_GL_CPPFLAGS) $(PLATFORM_X11_CPPFLAGS)
+ LIBS += $(PLATFORM_FL_LIBS) $(PLATFORM_GL_LIBS) $(PLATFORM_X11_LIBS)
+ LDFLAGS += $(PLATFORM_FL_LDFLAGS) $(PLATFORM_GL_LDFLAGS)
+ LDFLAGS += $(PLATFORM_GL_LDFLAGS)
+ }
+ specific(vc8,vc71,vc7,vc6) {
+ libs += fltkdll
+ }
+}
diff --git a/bin/MakeProjectCreator/config/ace_flreactor.mpb b/bin/MakeProjectCreator/config/ace_flreactor.mpb
new file mode 100644
index 00000000000..af0804fcb4c
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_flreactor.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+
+project : acelib, ace_fl {
+ requires += ace_flreactor
+ after += ACE_FlReactor
+ libs += ACE_FlReactor
+}
diff --git a/bin/MakeProjectCreator/config/ace_gl.mpb b/bin/MakeProjectCreator/config/ace_gl.mpb
new file mode 100644
index 00000000000..f2befa5e9e3
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_gl.mpb
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// ace_gl.mpb,v
+
+project : ace_x11 {
+ requires += gl
+
+ // Depends on configration from include/makeinclude/platform_*.GNU
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_GL_CPPFLAGS) $(PLATFORM_X11_CPPFLAGS)
+ LIBS += $(PLATFORM_GL_LIBS) $(PLATFORM_X11_LIBS)
+ LDFLAGS += $(PLATFORM_GL_LDFLAGS) $(PLATFORM_GL_LDFLAGS)
+ }
+ specific(vc6,vc7,vc71,vc8) {
+ lit_libs += OpenGL32
+ }
+}
diff --git a/bin/MakeProjectCreator/config/ace_gtk.mpb b/bin/MakeProjectCreator/config/ace_gtk.mpb
new file mode 100644
index 00000000000..27787e115ee
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_gtk.mpb
@@ -0,0 +1,13 @@
+// -*- MPC -*-
+// ace_gtk.mpb,v
+
+project {
+ macros += ACE_HAS_GTK
+
+ // Depends on configration from include/makeinclude/platform_*.GNU
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_GTK_CPPFLAGS)
+ LIBS += $(PLATFORM_GTK_LIBS)
+ LDFLAGS += $(PLATFORM_GTK_LDFLAGS)
+ }
+}
diff --git a/bin/MakeProjectCreator/config/ace_motif.mpb b/bin/MakeProjectCreator/config/ace_motif.mpb
new file mode 100644
index 00000000000..45ea1c79910
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_motif.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// ace_motif.mpb,v
+
+project: ace_xt {
+ requires += motif
+ lit_libs += Xm
+}
diff --git a/bin/MakeProjectCreator/config/ace_qt.mpb b/bin/MakeProjectCreator/config/ace_qt.mpb
index 28276bc89dd..6c199111514 100644
--- a/bin/MakeProjectCreator/config/ace_qt.mpb
+++ b/bin/MakeProjectCreator/config/ace_qt.mpb
@@ -1,6 +1,12 @@
// -*- MPC -*-
// $Id$
-feature(qt): qt {
- macros += ACE_HAS_QT
+
+project: qt {
+ // Depends on configration from include/makeinclude/platform_*.GNU
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_QT_CPPFLAGS)
+ LIBS += $(PLATFORM_QT_LIBS)
+ LDFLAGS += $(PLATFORM_QT_LDFLAGS)
+ }
}
diff --git a/bin/MakeProjectCreator/config/ace_qtreactor.mpb b/bin/MakeProjectCreator/config/ace_qtreactor.mpb
new file mode 100644
index 00000000000..a9f42e111a7
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_qtreactor.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+
+project : acelib, ace_qt {
+ requires += ace_qtreactor
+ after += ACE_QtReactor
+ libs += ACE_QtReactor
+}
diff --git a/bin/MakeProjectCreator/config/ace_tk.mpb b/bin/MakeProjectCreator/config/ace_tk.mpb
new file mode 100644
index 00000000000..9f24270ca95
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_tk.mpb
@@ -0,0 +1,13 @@
+// -*- MPC -*-
+// ace_tk.mpb,v
+
+project {
+ requires += tk
+ // Depends on configration from include/makeinclude/platform_*.GNU
+
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_TCL_CPPFLAGS) $(PLATFORM_TK_CPPFLAGS)
+ LIBS += $(PLATFORM_TCL_LIBS) $(PLATFORM_TK_LIBS)
+ LDFLAGS += $(PLATFORM_TCL_LIBS) $(PLATFORM_TK_LDFLAGS)
+ }
+}
diff --git a/bin/MakeProjectCreator/config/ace_tkreactor.mpb b/bin/MakeProjectCreator/config/ace_tkreactor.mpb
new file mode 100644
index 00000000000..91b086819c7
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_tkreactor.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+
+project : acelib, ace_tk {
+ requires += ace_tkreactor
+ after += ACE_TkReactor
+ libs += ACE_TkReactor
+}
diff --git a/bin/MakeProjectCreator/config/ace_x11.mpb b/bin/MakeProjectCreator/config/ace_x11.mpb
new file mode 100644
index 00000000000..0ad47e6f171
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_x11.mpb
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// ace_x11.mpb,v
+
+project {
+ specific(vc6,vc7,vc71,vc8) {
+ } else {
+ requires += x11
+ }
+
+ // Depends on configration from include/makeinclude/platform_*.GNU
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_X11_CPPFLAGS)
+ LIBS += $(PLATFORM_X11_LIBS)
+ LDFLAGS += $(PLATFORM_X11_LDFLAGS)
+ }
+}
diff --git a/bin/MakeProjectCreator/config/ace_xt.mpb b/bin/MakeProjectCreator/config/ace_xt.mpb
new file mode 100644
index 00000000000..905fa94c5ad
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_xt.mpb
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// ace_xt.mpb,v
+
+project: ace_x11 {
+ // this feature by default is set to 1 as projects dependent on Xt has their own features
+ requires += xt
+
+ // Depends on configration from include/makeinclude/platform_*.GNU
+ verbatim(gnuace,local) {
+ CPPFLAGS += $(PLATFORM_XT_CPPFLAGS) $(PLATFORM_X11_CPPFLAGS)
+ LIBS += $(PLATFORM_XT_LIBS) $(PLATFORM_X11_LIBS)
+ LDFLAGS += $(PLATFORM_XT_LDFLAGS) $(PLATFORM_X11_LDFLAGS)
+ }
+}
diff --git a/bin/MakeProjectCreator/config/ace_xtreactor.mpb b/bin/MakeProjectCreator/config/ace_xtreactor.mpb
new file mode 100644
index 00000000000..bb6cadef324
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_xtreactor.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+
+project : acelib, ace_xt {
+ requires += ace_xtreactor
+ after += ACE_XtReactor
+ libs += ACE_XtReactor
+}
diff --git a/bin/MakeProjectCreator/config/acedefaults.mpb b/bin/MakeProjectCreator/config/acedefaults.mpb
index fa7efd642d3..50da282fa5c 100644
--- a/bin/MakeProjectCreator/config/acedefaults.mpb
+++ b/bin/MakeProjectCreator/config/acedefaults.mpb
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-project: ace_qt, zzip {
+project: zzip {
staticflags += ACE_AS_STATIC_LIBS
includes += $(ACE_ROOT)
libpaths += $(ACE_ROOT)/lib
diff --git a/bin/MakeProjectCreator/config/global.features b/bin/MakeProjectCreator/config/global.features
index f14c60a0739..e557c0b7055 100644
--- a/bin/MakeProjectCreator/config/global.features
+++ b/bin/MakeProjectCreator/config/global.features
@@ -11,6 +11,9 @@
// 2) Create a feature file anywhere you like with the features you want and
// use the -feature_file option to specify where it is located.
//
+// Feature definitions from this file are always overwritten by -features
+// command option of mwc.pl.
+//
// This file is somewhat akin to the platform_macros.GNU file in that build
// settings can be set here.
@@ -21,20 +24,57 @@ acexml = 1
ssl = 0
qos = 0
rapi = 0
-fl_reactor = 0
repo = 0
minimum_corba = 0
java = 0
-qt = 0
-wxWindows = 0
zlib = 0
zzip = 0
mfc = 0
rpc = 0
sctp = 0
-xt_reactor = 0
dummy_label = 0
cidl = 0
boost = 0
wince = 0
uses_wchar = 0
+
+// Features for various GUI libraries
+// 1 - wxWindows (wxWidgets) libraries are avalaible
+wxWindows = 0
+// 1 - Motif (Lestif) libraries are avalaible
+motif = 0
+// 1 - Athena widgets libraries are avalaible
+athena = 0
+// 1 - X11 libraries are avalaible
+x11 = 0
+// 1 - X Toolkit libraries are avalaible
+xt = 0
+// 1 - Tk libraries are avalaible
+tk = 0
+// 1 - Fast Light toolkit libraries are avalaible (assume lowercase h in header files)
+fl = 0
+// 1 - Qt libraries are avalaible
+qt = 0
+// 1 - OpenGL libraries are avalaible
+gl = 0
+
+// Features for ACE support for various GUI libraries
+// Use QtReactor
+ace_qtreactor = 0
+// Use XtReactor
+ace_xtreactor = 0
+// Use TkReactor
+ace_tkreactor = 0
+// Use FlReactor
+ace_flreactor = 0
+
+// Features for TAO support for various GUI libraries
+// Use QtResources for TAO
+tao_qtresource = 0
+// Use XtResources for TAO
+tao_xtresource = 0
+// Use TkResources for TAO
+tao_tkresource = 0
+// Use FlResources for TAO
+tao_flresource = 0
+
diff --git a/bin/MakeProjectCreator/config/strategies.mpb b/bin/MakeProjectCreator/config/strategies.mpb
index 769ed324dc5..262bc6200ed 100644
--- a/bin/MakeProjectCreator/config/strategies.mpb
+++ b/bin/MakeProjectCreator/config/strategies.mpb
@@ -1,6 +1,5 @@
// -*- MPC -*-
// $Id$
-
project : taolib {
after += Strategies
libs += TAO_Strategies
diff --git a/bin/MakeProjectCreator/config/tao_flresource.mpb b/bin/MakeProjectCreator/config/tao_flresource.mpb
new file mode 100644
index 00000000000..90aa5c450e3
--- /dev/null
+++ b/bin/MakeProjectCreator/config/tao_flresource.mpb
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+project: taolib, ace_flreactor {
+ requires += tao_flresource
+ after += TAO_FlResource
+ libs += TAO_FlResource
+}
diff --git a/bin/MakeProjectCreator/config/tao_qtresource.mpb b/bin/MakeProjectCreator/config/tao_qtresource.mpb
new file mode 100644
index 00000000000..ec6413204ee
--- /dev/null
+++ b/bin/MakeProjectCreator/config/tao_qtresource.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+
+project : taolib, ace_qtreactor {
+ requires += tao_qtresource
+ after += TAO_QtResource
+ libs += TAO_QtResource
+}
diff --git a/bin/MakeProjectCreator/config/tao_tkresource.mpb b/bin/MakeProjectCreator/config/tao_tkresource.mpb
new file mode 100644
index 00000000000..547610fe001
--- /dev/null
+++ b/bin/MakeProjectCreator/config/tao_tkresource.mpb
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+project: acelib, ace_tkreactor {
+ requires += tao_tkresource
+ after += TAO_TkResource
+ libs += TAO_TkResource
+}
diff --git a/bin/MakeProjectCreator/config/tao_xtresource.mpb b/bin/MakeProjectCreator/config/tao_xtresource.mpb
new file mode 100644
index 00000000000..6b6491d0d60
--- /dev/null
+++ b/bin/MakeProjectCreator/config/tao_xtresource.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+
+project : taolib, ace_xtreactor {
+ requires += tao_xtresource
+ after += TAO_XtResource
+ libs += TAO_XtResource
+}
diff --git a/examples/APG/Active_Objects/.cvsignore b/examples/APG/Active_Objects/.cvsignore
new file mode 100644
index 00000000000..2af94b7dd8c
--- /dev/null
+++ b/examples/APG/Active_Objects/.cvsignore
@@ -0,0 +1,4 @@
+AO
+AO
+AO2
+AO2
diff --git a/examples/APG/Config/.cvsignore b/examples/APG/Config/.cvsignore
new file mode 100644
index 00000000000..b9f807ab7a6
--- /dev/null
+++ b/examples/APG/Config/.cvsignore
@@ -0,0 +1,6 @@
+ARGV_Example
+ARGV_Example
+Get_Opt
+Get_Opt
+Get_Opt_Long
+Get_Opt_Long
diff --git a/examples/APG/Containers/.cvsignore b/examples/APG/Containers/.cvsignore
new file mode 100644
index 00000000000..20d09b55a72
--- /dev/null
+++ b/examples/APG/Containers/.cvsignore
@@ -0,0 +1,24 @@
+Allocator
+Allocator
+Array
+Array
+DLList
+DLList
+Hash_Map
+Hash_Map
+Hash_Map_Hash
+Hash_Map_Hash
+Map_Manager
+Map_Manager
+Map_Manager_Specialization
+Map_Manager_Specialization
+Queues
+Queues
+RB_Tree
+RB_Tree
+RB_Tree_Functors
+RB_Tree_Functors
+Sets
+Sets
+Stacks
+Stacks
diff --git a/examples/APG/Logging/.cvsignore b/examples/APG/Logging/.cvsignore
new file mode 100644
index 00000000000..821ee0bc87c
--- /dev/null
+++ b/examples/APG/Logging/.cvsignore
@@ -0,0 +1,36 @@
+Change_Instance_Default
+Change_Instance_Default
+Change_Mask
+Change_Mask
+Howto_Syslog
+Howto_Syslog
+Simple1
+Simple1
+Simple2
+Simple2
+Trace_Return
+Trace_Return
+Use_Callback
+Use_Callback
+Use_Callback2
+Use_Callback2
+Use_LogManager
+Use_LogManager
+Use_Logger
+Use_Logger
+Use_Logging_Server
+Use_Logging_Server
+Use_Logging_Strategy
+Use_Logging_Strategy
+Use_Multiple_Sinks
+Use_Multiple_Sinks
+Use_Ostream
+Use_Ostream
+Use_Stderr
+Use_Stderr
+Use_Syslog
+Use_Syslog
+Wrap_Macros
+Wrap_Macros
+Wrap_Macros_Alt
+Wrap_Macros_Alt
diff --git a/examples/APG/Misc_IPC/.cvsignore b/examples/APG/Misc_IPC/.cvsignore
new file mode 100644
index 00000000000..155f8a18824
--- /dev/null
+++ b/examples/APG/Misc_IPC/.cvsignore
@@ -0,0 +1,6 @@
+UDP_Broadcast
+UDP_Broadcast
+UDP_Multicast
+UDP_Multicast
+UDP_Unicast
+UDP_Unicast
diff --git a/examples/APG/Naming/.cvsignore b/examples/APG/Naming/.cvsignore
new file mode 100644
index 00000000000..e5fd579f85d
--- /dev/null
+++ b/examples/APG/Naming/.cvsignore
@@ -0,0 +1,10 @@
+Netlocal
+Netlocal
+Netlocal_reader
+Netlocal_reader
+Nodelocal
+Nodelocal
+Nodelocal_shared
+Nodelocal_shared
+Nodelocal_shared_reader
+Nodelocal_shared_reader
diff --git a/examples/APG/Proactor/.cvsignore b/examples/APG/Proactor/.cvsignore
new file mode 100644
index 00000000000..64b35fb3d57
--- /dev/null
+++ b/examples/APG/Proactor/.cvsignore
@@ -0,0 +1,2 @@
+HA_Proactive_Status
+HA_Proactive_Status
diff --git a/examples/APG/Processes/.cvsignore b/examples/APG/Processes/.cvsignore
new file mode 100644
index 00000000000..187cf413af2
--- /dev/null
+++ b/examples/APG/Processes/.cvsignore
@@ -0,0 +1,8 @@
+Process_Manager_Death
+Process_Manager_Death
+Process_Manager_Spawn
+Process_Manager_Spawn
+Process_Mutex
+Process_Mutex
+Spawn
+Spawn
diff --git a/examples/APG/Reactor/.cvsignore b/examples/APG/Reactor/.cvsignore
new file mode 100644
index 00000000000..c2d63b45dcf
--- /dev/null
+++ b/examples/APG/Reactor/.cvsignore
@@ -0,0 +1,16 @@
+Client
+Client
+HAStatus
+HAStatus
+HAStatus-AC
+HAStatus-AC
+Reschedule
+Reschedule
+Schedule_Timers
+Schedule_Timers
+Timer_Cancel
+Timer_Cancel
+Timer_State_Data
+Timer_State_Data
+Timers
+Timers
diff --git a/examples/APG/Shared_Memory/.cvsignore b/examples/APG/Shared_Memory/.cvsignore
new file mode 100644
index 00000000000..4fbe7c66db3
--- /dev/null
+++ b/examples/APG/Shared_Memory/.cvsignore
@@ -0,0 +1,10 @@
+Hash_Map
+Hash_Map
+Malloc
+Malloc
+Mem_Map
+Mem_Map
+PI_Malloc
+PI_Malloc
+Pool_Growth
+Pool_Growth
diff --git a/examples/APG/Signals/.cvsignore b/examples/APG/Signals/.cvsignore
new file mode 100644
index 00000000000..23774a5d6a0
--- /dev/null
+++ b/examples/APG/Signals/.cvsignore
@@ -0,0 +1,10 @@
+SigAction
+SigAction
+SigGuard
+SigGuard
+SigHandler
+SigHandler
+SigHandlers
+SigHandlers
+SigInfo
+SigInfo
diff --git a/examples/APG/Sockets/.cvsignore b/examples/APG/Sockets/.cvsignore
new file mode 100644
index 00000000000..0b2c9d92db4
--- /dev/null
+++ b/examples/APG/Sockets/.cvsignore
@@ -0,0 +1,8 @@
+Basic
+Basic
+Basic_Robust
+Basic_Robust
+Iovec
+Iovec
+Server
+Server
diff --git a/examples/APG/Streams/.cvsignore b/examples/APG/Streams/.cvsignore
new file mode 100644
index 00000000000..ff318c0de98
--- /dev/null
+++ b/examples/APG/Streams/.cvsignore
@@ -0,0 +1,2 @@
+Answerer
+Answerer
diff --git a/examples/APG/Svc_Config/.cvsignore b/examples/APG/Svc_Config/.cvsignore
new file mode 100644
index 00000000000..c508d301216
--- /dev/null
+++ b/examples/APG/Svc_Config/.cvsignore
@@ -0,0 +1,4 @@
+HA_Configurable_Server_Dynamic
+HA_Configurable_Server_Dynamic
+HA_Configurable_Server_Static
+HA_Configurable_Server_Static
diff --git a/examples/APG/ThreadManagement/.cvsignore b/examples/APG/ThreadManagement/.cvsignore
new file mode 100644
index 00000000000..535a0039a50
--- /dev/null
+++ b/examples/APG/ThreadManagement/.cvsignore
@@ -0,0 +1,18 @@
+Async_Cancel
+Async_Cancel
+Coop_Cancel
+Coop_Cancel
+ExitHandler
+ExitHandler
+Pool
+Pool
+Priorities
+Priorities
+Signals
+Signals
+Signals2
+Signals2
+Start_Hook
+Start_Hook
+State
+State
diff --git a/examples/APG/ThreadPools/.cvsignore b/examples/APG/ThreadPools/.cvsignore
new file mode 100644
index 00000000000..7052a85815f
--- /dev/null
+++ b/examples/APG/ThreadPools/.cvsignore
@@ -0,0 +1,10 @@
+Futures
+Futures
+LF_ThreadPool
+LF_ThreadPool
+TP_Reactor
+TP_Reactor
+Task_ThreadPool
+Task_ThreadPool
+ThreadPool
+ThreadPool
diff --git a/examples/APG/ThreadSafety/.cvsignore b/examples/APG/ThreadSafety/.cvsignore
new file mode 100644
index 00000000000..7fe1b99d03f
--- /dev/null
+++ b/examples/APG/ThreadSafety/.cvsignore
@@ -0,0 +1,16 @@
+Atomic_Op
+Atomic_Op
+Barrier
+Barrier
+Mutex
+Mutex
+RW_Lock
+RW_Lock
+Semaphore
+Semaphore
+TSS
+TSS
+Tokens
+Tokens
+Tokens_Deadlock
+Tokens_Deadlock
diff --git a/examples/APG/Threads/.cvsignore b/examples/APG/Threads/.cvsignore
new file mode 100644
index 00000000000..feb9ec3ab97
--- /dev/null
+++ b/examples/APG/Threads/.cvsignore
@@ -0,0 +1,12 @@
+Activate
+Activate
+Condition_Variables
+Condition_Variables
+Guards
+Guards
+Message_Blocks
+Message_Blocks
+Message_Queue
+Message_Queue
+Mutexes
+Mutexes
diff --git a/examples/APG/Timers/.cvsignore b/examples/APG/Timers/.cvsignore
new file mode 100644
index 00000000000..9137f2e897a
--- /dev/null
+++ b/examples/APG/Timers/.cvsignore
@@ -0,0 +1,8 @@
+Alarm
+Alarm
+Task
+Task
+Timers
+Timers
+Upcall
+Upcall
diff --git a/examples/ASX/.cvsignore b/examples/ASX/.cvsignore
new file mode 100644
index 00000000000..1eb7e8a0b93
--- /dev/null
+++ b/examples/ASX/.cvsignore
@@ -0,0 +1 @@
+Mess
diff --git a/examples/ASX/CCM_App/.cvsignore b/examples/ASX/CCM_App/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/examples/ASX/CCM_App/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/examples/ASX/Message_Queue/.cvsignore b/examples/ASX/Message_Queue/.cvsignore
new file mode 100644
index 00000000000..2b68761db9c
--- /dev/null
+++ b/examples/ASX/Message_Queue/.cvsignore
@@ -0,0 +1,6 @@
+bounded_buffer
+bounded_buffer
+buffer_stream
+buffer_stream
+priority_buffer
+priority_buffer
diff --git a/examples/Bounded_Packet_Relay/.cvsignore b/examples/Bounded_Packet_Relay/.cvsignore
new file mode 100644
index 00000000000..2f50e8efaee
--- /dev/null
+++ b/examples/Bounded_Packet_Relay/.cvsignore
@@ -0,0 +1,2 @@
+bpr_thread
+bpr_thread
diff --git a/examples/C++NPv1/.cvsignore b/examples/C++NPv1/.cvsignore
new file mode 100644
index 00000000000..7735c154a0c
--- /dev/null
+++ b/examples/C++NPv1/.cvsignore
@@ -0,0 +1,14 @@
+RTTPC_logging_server
+RTTPC_logging_server
+iterative_logging_server
+iterative_logging_server
+logging_client
+logging_client
+ppc_logging_server
+ppc_logging_server
+reactive_logging_server
+reactive_logging_server
+reactive_logging_server_ex
+reactive_logging_server_ex
+tpc_logging_server
+tpc_logging_server
diff --git a/examples/C++NPv2/.cvsignore b/examples/C++NPv2/.cvsignore
new file mode 100644
index 00000000000..560cd9f1c78
--- /dev/null
+++ b/examples/C++NPv2/.cvsignore
@@ -0,0 +1,14 @@
+configurable_logging_server
+configurable_logging_server
+display_logfile
+display_logfile
+reactor_logging_server
+reactor_logging_server
+select_reactor_loggin_server
+select_reactor_loggin_server
+sr_configurable_logging_server
+sr_configurable_logging_server
+tp_reactor_logging_server
+tp_reactor_logging_server
+x
+x
diff --git a/examples/Connection/blocking/.cvsignore b/examples/Connection/blocking/.cvsignore
new file mode 100644
index 00000000000..07fde30990a
--- /dev/null
+++ b/examples/Connection/blocking/.cvsignore
@@ -0,0 +1,4 @@
+acceptor
+acceptor
+connector
+connector
diff --git a/examples/Connection/misc/.cvsignore b/examples/Connection/misc/.cvsignore
new file mode 100644
index 00000000000..444ad7e1b3a
--- /dev/null
+++ b/examples/Connection/misc/.cvsignore
@@ -0,0 +1,4 @@
+handler
+handler
+test_upipe
+test_upipe
diff --git a/examples/Connection/non_blocking/.cvsignore b/examples/Connection/non_blocking/.cvsignore
new file mode 100644
index 00000000000..0cbd7c83956
--- /dev/null
+++ b/examples/Connection/non_blocking/.cvsignore
@@ -0,0 +1,16 @@
+lsock_client
+lsock_client
+lsock_server
+lsock_server
+sock_client
+sock_client
+sock_server
+sock_server
+spipe_client
+spipe_client
+spipe_server
+spipe_server
+tli_client
+tli_client
+tli_server
+tli_server
diff --git a/examples/DLL/.cvsignore b/examples/DLL/.cvsignore
new file mode 100644
index 00000000000..c2d3a626997
--- /dev/null
+++ b/examples/DLL/.cvsignore
@@ -0,0 +1,2 @@
+test_dll
+test_dll
diff --git a/examples/Export/.cvsignore b/examples/Export/.cvsignore
new file mode 100644
index 00000000000..dec2cbe1fa3
--- /dev/null
+++ b/examples/Export/.cvsignore
@@ -0,0 +1,2 @@
+test
+test
diff --git a/examples/IOStream/client/.cvsignore b/examples/IOStream/client/.cvsignore
new file mode 100644
index 00000000000..e5eeb0703df
--- /dev/null
+++ b/examples/IOStream/client/.cvsignore
@@ -0,0 +1,2 @@
+iostream_client
+iostream_client
diff --git a/examples/IOStream/server/.cvsignore b/examples/IOStream/server/.cvsignore
new file mode 100644
index 00000000000..e37ecb3f31b
--- /dev/null
+++ b/examples/IOStream/server/.cvsignore
@@ -0,0 +1,2 @@
+iostream_server
+iostream_server
diff --git a/examples/IPC_SAP/ATM_SAP/.cvsignore b/examples/IPC_SAP/ATM_SAP/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/examples/IPC_SAP/ATM_SAP/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/examples/IPC_SAP/DEV_SAP/reader/.cvsignore b/examples/IPC_SAP/DEV_SAP/reader/.cvsignore
new file mode 100644
index 00000000000..a8dd7d50c82
--- /dev/null
+++ b/examples/IPC_SAP/DEV_SAP/reader/.cvsignore
@@ -0,0 +1,2 @@
+reader
+reader
diff --git a/examples/IPC_SAP/DEV_SAP/writer/.cvsignore b/examples/IPC_SAP/DEV_SAP/writer/.cvsignore
new file mode 100644
index 00000000000..d66df395ab8
--- /dev/null
+++ b/examples/IPC_SAP/DEV_SAP/writer/.cvsignore
@@ -0,0 +1,2 @@
+writer
+writer
diff --git a/examples/IPC_SAP/FIFO_SAP/.cvsignore b/examples/IPC_SAP/FIFO_SAP/.cvsignore
new file mode 100644
index 00000000000..5d0734ead63
--- /dev/null
+++ b/examples/IPC_SAP/FIFO_SAP/.cvsignore
@@ -0,0 +1,10 @@
+FIFO-Msg-client
+FIFO-Msg-client
+FIFO-Msg-server
+FIFO-Msg-server
+FIFO-client
+FIFO-client
+FIFO-server
+FIFO-server
+FIFO-test
+FIFO-test
diff --git a/examples/IPC_SAP/FILE_SAP/.cvsignore b/examples/IPC_SAP/FILE_SAP/.cvsignore
new file mode 100644
index 00000000000..db648aa002d
--- /dev/null
+++ b/examples/IPC_SAP/FILE_SAP/.cvsignore
@@ -0,0 +1,2 @@
+client
+client
diff --git a/examples/IPC_SAP/SOCK_SAP/.cvsignore b/examples/IPC_SAP/SOCK_SAP/.cvsignore
new file mode 100644
index 00000000000..07a07ab2d27
--- /dev/null
+++ b/examples/IPC_SAP/SOCK_SAP/.cvsignore
@@ -0,0 +1,18 @@
+C-inclient
+C-inclient
+C-inserver
+C-inserver
+CPP-inclient
+CPP-inclient
+CPP-inserver
+CPP-inserver
+CPP-memclient
+CPP-memclient
+CPP-memserver
+CPP-memserver
+CPP-unclient
+CPP-unclient
+CPP-unserver
+CPP-unserver
+FD-unclient
+FD-unclient
diff --git a/examples/IPC_SAP/SPIPE_SAP/.cvsignore b/examples/IPC_SAP/SPIPE_SAP/.cvsignore
new file mode 100644
index 00000000000..46bf34bbdfd
--- /dev/null
+++ b/examples/IPC_SAP/SPIPE_SAP/.cvsignore
@@ -0,0 +1,16 @@
+NPClient
+NPClient
+NPServer
+NPServer
+client
+client
+consumer_msg
+consumer_msg
+consumer_read
+consumer_read
+producer_msg
+producer_msg
+producer_read
+producer_read
+server
+server
diff --git a/examples/IPC_SAP/TLI_SAP/.cvsignore b/examples/IPC_SAP/TLI_SAP/.cvsignore
new file mode 100644
index 00000000000..db59757e191
--- /dev/null
+++ b/examples/IPC_SAP/TLI_SAP/.cvsignore
@@ -0,0 +1,16 @@
+ATM-client
+ATM-client
+ATM-server
+ATM-server
+CPP-client
+CPP-client
+CPP-server
+CPP-server
+db-client
+db-client
+db-server
+db-server
+ftp-client
+ftp-client
+ftp-server
+ftp-server
diff --git a/examples/IPC_SAP/UPIPE_SAP/.cvsignore b/examples/IPC_SAP/UPIPE_SAP/.cvsignore
new file mode 100644
index 00000000000..66a3e2ba941
--- /dev/null
+++ b/examples/IPC_SAP/UPIPE_SAP/.cvsignore
@@ -0,0 +1,6 @@
+ex1
+ex1
+ex2
+ex2
+ex3
+ex3
diff --git a/examples/Log_Msg/.cvsignore b/examples/Log_Msg/.cvsignore
new file mode 100644
index 00000000000..c4e57879139
--- /dev/null
+++ b/examples/Log_Msg/.cvsignore
@@ -0,0 +1,6 @@
+test_callback
+test_callback
+test_log_msg
+test_log_msg
+test_ostream
+test_ostream
diff --git a/examples/Logger/Acceptor-server/.cvsignore b/examples/Logger/Acceptor-server/.cvsignore
new file mode 100644
index 00000000000..76c31d8c56f
--- /dev/null
+++ b/examples/Logger/Acceptor-server/.cvsignore
@@ -0,0 +1,2 @@
+server_loggerd
+server_loggerd
diff --git a/examples/Logger/client/.cvsignore b/examples/Logger/client/.cvsignore
new file mode 100644
index 00000000000..6c538132cc9
--- /dev/null
+++ b/examples/Logger/client/.cvsignore
@@ -0,0 +1,2 @@
+logging_app
+logging_app
diff --git a/examples/Logger/simple-server/.cvsignore b/examples/Logger/simple-server/.cvsignore
new file mode 100644
index 00000000000..76c31d8c56f
--- /dev/null
+++ b/examples/Logger/simple-server/.cvsignore
@@ -0,0 +1,2 @@
+server_loggerd
+server_loggerd
diff --git a/examples/Mem_Map/IO-tests/.cvsignore b/examples/Mem_Map/IO-tests/.cvsignore
new file mode 100644
index 00000000000..80ea1892dab
--- /dev/null
+++ b/examples/Mem_Map/IO-tests/.cvsignore
@@ -0,0 +1,2 @@
+test_io
+test_io
diff --git a/examples/Mem_Map/file-reverse/.cvsignore b/examples/Mem_Map/file-reverse/.cvsignore
new file mode 100644
index 00000000000..cf791234c5e
--- /dev/null
+++ b/examples/Mem_Map/file-reverse/.cvsignore
@@ -0,0 +1 @@
+file-reverse
diff --git a/examples/Misc/.cvsignore b/examples/Misc/.cvsignore
new file mode 100644
index 00000000000..a31a7786288
--- /dev/null
+++ b/examples/Misc/.cvsignore
@@ -0,0 +1,16 @@
+test_XtReactor1
+test_XtReactor2
+test_dump
+test_dump
+test_get_opt
+test_get_opt
+test_profile_timer
+test_profile_timer
+test_read_buffer
+test_read_buffer
+test_set
+test_set
+test_sstring
+test_sstring
+test_trace
+test_trace
diff --git a/examples/Misc/Misc.mpc b/examples/Misc/Misc.mpc
index a8eca856e7a..86d377dc224 100644
--- a/examples/Misc/Misc.mpc
+++ b/examples/Misc/Misc.mpc
@@ -50,14 +50,14 @@ project(*test_trace) : aceexe {
}
}
-project(*test_XtReactor1) : aceexe {
+project(*test_XtReactor1) : aceexe, ace_xtreactor, ace_motif {
exename = test_XtReactor1
Source_Files {
test_XtReactor1.cpp
}
}
-project(*test_XtReactor2) : aceexe {
+project(*test_XtReactor2) : aceexe, ace_xtreactor, ace_motif {
exename = test_XtReactor2
Source_Files {
test_XtReactor2.cpp
diff --git a/examples/Misc/test_XtReactor1.cpp b/examples/Misc/test_XtReactor1.cpp
index ebafcb1db79..f4bef54aeae 100644
--- a/examples/Misc/test_XtReactor1.cpp
+++ b/examples/Misc/test_XtReactor1.cpp
@@ -15,7 +15,6 @@ ACE_RCSID (Misc,
test_XtReactor1,
"$Id$")
-#if defined (ACE_HAS_XT)
//#define String XtString
#include <Xm/PushB.h>
@@ -172,12 +171,3 @@ ACE_TMAIN (int argc, ACE_TCHAR**argv)
return 0;
}
-#else
-int
-ACE_TMAIN (int, ACE_TCHAR *[])
-{
- ACE_ERROR_RETURN ((LM_ERROR,
- "XT not configured for this platform\n"),
- 0);
-}
-#endif /* ACE_HAS_XT */
diff --git a/examples/Misc/test_XtReactor2.cpp b/examples/Misc/test_XtReactor2.cpp
index 601335f7b34..2e2f4be0ba2 100644
--- a/examples/Misc/test_XtReactor2.cpp
+++ b/examples/Misc/test_XtReactor2.cpp
@@ -14,7 +14,7 @@ ACE_RCSID (Misc,
test_XtReactor2,
"$Id$")
-#if defined (ACE_HAS_XT)
+
#include <Xm/PushB.h>
class Stdin : public ACE_Event_Handler
@@ -99,12 +99,3 @@ ACE_TMAIN (int argc, ACE_TCHAR**argv)
// Demonstrate Reactor/Xt event loop unification:
XtAppMainLoop (XtWidgetToApplicationContext (top_level));
}
-#else
-int
-ACE_TMAIN (int, ACE_TCHAR *[])
-{
- ACE_ERROR_RETURN ((LM_ERROR,
- "XT not configured for this platform\n"),
- 0);
-}
-#endif /* ACE_HAS_XT */
diff --git a/examples/Naming/.cvsignore b/examples/Naming/.cvsignore
new file mode 100644
index 00000000000..5e535209538
--- /dev/null
+++ b/examples/Naming/.cvsignore
@@ -0,0 +1,4 @@
+multiple_contexts
+non_existent
+open
+writers
diff --git a/examples/OS/Process/.cvsignore b/examples/OS/Process/.cvsignore
new file mode 100644
index 00000000000..c52eac932e5
--- /dev/null
+++ b/examples/OS/Process/.cvsignore
@@ -0,0 +1,4 @@
+imore
+imore
+process
+process
diff --git a/examples/RMCast/Send_File/.cvsignore b/examples/RMCast/Send_File/.cvsignore
new file mode 100644
index 00000000000..2165cb60c80
--- /dev/null
+++ b/examples/RMCast/Send_File/.cvsignore
@@ -0,0 +1,4 @@
+receiver
+receiver
+sender
+sender
diff --git a/examples/Reactor/Dgram/.cvsignore b/examples/Reactor/Dgram/.cvsignore
new file mode 100644
index 00000000000..94126b14c4e
--- /dev/null
+++ b/examples/Reactor/Dgram/.cvsignore
@@ -0,0 +1,4 @@
+codgram
+codgram
+dgram
+dgram
diff --git a/examples/Reactor/FIFO/.cvsignore b/examples/Reactor/FIFO/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/examples/Reactor/FIFO/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/examples/Reactor/Misc/.cvsignore b/examples/Reactor/Misc/.cvsignore
new file mode 100644
index 00000000000..f7cc1865efa
--- /dev/null
+++ b/examples/Reactor/Misc/.cvsignore
@@ -0,0 +1,16 @@
+demuxing
+demuxing
+early_timeouts
+early_timeouts
+notification
+notification
+pingpong
+pingpong
+reactors
+reactors
+signals_1
+signals_1
+signals_2
+signals_2
+timer_queue
+timer_queue
diff --git a/examples/Reactor/Multicast/.cvsignore b/examples/Reactor/Multicast/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/examples/Reactor/Multicast/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/examples/Reactor/Ntalker/.cvsignore b/examples/Reactor/Ntalker/.cvsignore
new file mode 100644
index 00000000000..a9350d173bf
--- /dev/null
+++ b/examples/Reactor/Ntalker/.cvsignore
@@ -0,0 +1,2 @@
+ntalker
+ntalker
diff --git a/examples/Reactor/Proactor/.cvsignore b/examples/Reactor/Proactor/.cvsignore
new file mode 100644
index 00000000000..34179361b75
--- /dev/null
+++ b/examples/Reactor/Proactor/.cvsignore
@@ -0,0 +1,7 @@
+test_cancel
+test_end_event_loop
+test_multiple_loops
+test_post_completions
+test_proactor
+test_timeout
+test_udp_proactor
diff --git a/examples/Service_Configurator/IPC-tests/client/.cvsignore b/examples/Service_Configurator/IPC-tests/client/.cvsignore
new file mode 100644
index 00000000000..121d4de020f
--- /dev/null
+++ b/examples/Service_Configurator/IPC-tests/client/.cvsignore
@@ -0,0 +1,10 @@
+local_dgram_test
+local_fifo_test
+local_pipe_test
+local_spipe_test
+local_stream_test
+remote_broadcast_test
+remote_dgram_test
+remote_service_directory_test
+remote_stream_test
+remote_thr_stream_test
diff --git a/examples/Service_Configurator/IPC-tests/server/.cvsignore b/examples/Service_Configurator/IPC-tests/server/.cvsignore
new file mode 100644
index 00000000000..74fdfbc7f93
--- /dev/null
+++ b/examples/Service_Configurator/IPC-tests/server/.cvsignore
@@ -0,0 +1 @@
+server_test
diff --git a/examples/Service_Configurator/Misc/.cvsignore b/examples/Service_Configurator/Misc/.cvsignore
new file mode 100644
index 00000000000..ba2906d0666
--- /dev/null
+++ b/examples/Service_Configurator/Misc/.cvsignore
@@ -0,0 +1 @@
+main
diff --git a/examples/Shared_Malloc/.cvsignore b/examples/Shared_Malloc/.cvsignore
new file mode 100644
index 00000000000..c5ad2e56e0e
--- /dev/null
+++ b/examples/Shared_Malloc/.cvsignore
@@ -0,0 +1,4 @@
+malloc
+multiple
+persistence
+posind
diff --git a/examples/Shared_Memory/.cvsignore b/examples/Shared_Memory/.cvsignore
new file mode 100644
index 00000000000..7f6e8a792c5
--- /dev/null
+++ b/examples/Shared_Memory/.cvsignore
@@ -0,0 +1,2 @@
+testmm
+testsv
diff --git a/examples/Smart_Pointers/.cvsignore b/examples/Smart_Pointers/.cvsignore
new file mode 100644
index 00000000000..f309b7d5f8b
--- /dev/null
+++ b/examples/Smart_Pointers/.cvsignore
@@ -0,0 +1,2 @@
+Widget
+gadget
diff --git a/examples/Synch/.cvsignore b/examples/Synch/.cvsignore
new file mode 100644
index 00000000000..eea98594a4b
--- /dev/null
+++ b/examples/Synch/.cvsignore
@@ -0,0 +1 @@
+proc_sema
diff --git a/examples/System_V_IPC/SV_Message_Queues/.cvsignore b/examples/System_V_IPC/SV_Message_Queues/.cvsignore
new file mode 100644
index 00000000000..bcdb18d69d8
--- /dev/null
+++ b/examples/System_V_IPC/SV_Message_Queues/.cvsignore
@@ -0,0 +1,4 @@
+mqclient
+mqserver
+tmqclient
+tmqserver
diff --git a/examples/System_V_IPC/SV_Semaphores/.cvsignore b/examples/System_V_IPC/SV_Semaphores/.cvsignore
new file mode 100644
index 00000000000..bb37ee6c9a7
--- /dev/null
+++ b/examples/System_V_IPC/SV_Semaphores/.cvsignore
@@ -0,0 +1,2 @@
+sem1
+sem2
diff --git a/examples/TMCast/Member/.cvsignore b/examples/TMCast/Member/.cvsignore
new file mode 100644
index 00000000000..fa6ecc72251
--- /dev/null
+++ b/examples/TMCast/Member/.cvsignore
@@ -0,0 +1 @@
+member
diff --git a/examples/Threads/.cvsignore b/examples/Threads/.cvsignore
new file mode 100644
index 00000000000..29680be7dcc
--- /dev/null
+++ b/examples/Threads/.cvsignore
@@ -0,0 +1,22 @@
+auto_event
+barrier1
+barrier2
+cancel
+future1
+future2
+manual_event
+process_mutex
+process_semaphore
+reader_writer
+recursive_mutex
+task_five
+task_four
+task_one
+task_three
+task_two
+thread_manager
+thread_pool
+thread_specific
+token
+tss1
+tss2
diff --git a/examples/Timer_Queue/.cvsignore b/examples/Timer_Queue/.cvsignore
new file mode 100644
index 00000000000..6f1917f64c8
--- /dev/null
+++ b/examples/Timer_Queue/.cvsignore
@@ -0,0 +1,3 @@
+Asynch_Timer_Queue_Test
+Reactor_Timer_Queue_Test
+Thread_Timer_Queue_Test
diff --git a/examples/Web_Crawler/.cvsignore b/examples/Web_Crawler/.cvsignore
new file mode 100644
index 00000000000..ba2906d0666
--- /dev/null
+++ b/examples/Web_Crawler/.cvsignore
@@ -0,0 +1 @@
+main
diff --git a/include/makeinclude/platform_linux.GNU b/include/makeinclude/platform_linux.GNU
index 27548f5aa42..71ef0089b3a 100644
--- a/include/makeinclude/platform_linux.GNU
+++ b/include/makeinclude/platform_linux.GNU
@@ -50,6 +50,14 @@ PLATFORM_BOOST_CPPFLAGS ?=
PLATFORM_BOOST_LDLAGS ?=
PLATFORM_BOOST_UTF_LIBS ?= -lboost_unit_test_framework
+PLATFORM_TCL_CPPFLAGS=-I/usr/include/tcl8.4
+PLATFORM_TCL_LIBS=-ltcl8.4
+PLATFORM_TCL_LDFLAGS=
+
+PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+PLATFORM_TK_LIBS=$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+PLATFORM_TK_LDFLAGS=
+
PLATFORM_AIO_SUPPORT := \
$(shell test "`ls -L /usr/lib/librt.so* /lib/librt.so*`" && echo -DACE_HAS_AIO_CALLS)
@@ -102,7 +110,7 @@ endif
LIBS += $(shell test "`ls -L /usr/lib/librt.so* /lib/librt.so*`" && echo -lrt)
PLATFORM_QT_CPPFLAGS=-I$(QTDIR)/include
-PLATFORM_QT_LIBS=-lqt
+PLATFORM_QT_LIBS=-lqt-mt
PLATFORM_QT_LDFLAGS=-L$(QTDIR)/lib
OCFLAGS ?= -O3
diff --git a/include/makeinclude/platform_linux_borland.GNU b/include/makeinclude/platform_linux_borland.GNU
index be69dd8090c..2ff56d195b0 100644
--- a/include/makeinclude/platform_linux_borland.GNU
+++ b/include/makeinclude/platform_linux_borland.GNU
@@ -21,6 +21,14 @@ ifeq (,$(threads))
threads = 1
endif
+PLATFORM_TCL_CPPFLAGS=-I/usr/include/tcl8.4
+PLATFORM_TCL_LIBS=-ltcl8.4
+PLATFORM_TCL_LDFLAGS=
+
+PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+PLATFORM_TK_LIBS=$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+PLATFORM_TK_LDFLAGS=
+
PLATFORM_AIO_SUPPORT := \
$(shell test -e /usr/lib/librt.so && echo -DACE_HAS_AIO_CALLS)
diff --git a/include/makeinclude/platform_linux_icc.GNU b/include/makeinclude/platform_linux_icc.GNU
index df8ee77e647..907a407d34b 100644
--- a/include/makeinclude/platform_linux_icc.GNU
+++ b/include/makeinclude/platform_linux_icc.GNU
@@ -49,6 +49,14 @@ PLATFORM_WX_CPPFLAGS= $(shell wx-config --cxxflags) $(PLATFORM_GTK_CPPFLAGS)
PLATFORM_WX_LIBS = $(shell wx-config --libs) $(PLATFORM_GTK_LIBS)
PLATFORM_WX_LDFLAGS = $(shell wx-config --ldflags) $(PLATFORM_GTK_LDFLAGS)
+PLATFORM_TCL_CPPFLAGS=-I/usr/include/tcl8.4
+PLATFORM_TCL_LIBS=-ltcl8.4
+PLATFORM_TCL_LDFLAGS=
+
+PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+PLATFORM_TK_LIBS=$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+PLATFORM_TK_LDFLAGS=
+
PLATFORM_AIO_SUPPORT := \
$(shell test -e /usr/lib/librt.so && echo -DACE_HAS_AIO_CALLS)
diff --git a/include/makeinclude/platform_linux_pgi.GNU b/include/makeinclude/platform_linux_pgi.GNU
index c5d63edc420..63178406929 100644
--- a/include/makeinclude/platform_linux_pgi.GNU
+++ b/include/makeinclude/platform_linux_pgi.GNU
@@ -46,6 +46,14 @@ PLATFORM_WX_CPPFLAGS= $(shell wx-config --cxxflags) $(PLATFORM_GTK_CPPFLAGS)
PLATFORM_WX_LIBS = $(shell wx-config --libs) $(PLATFORM_GTK_LIBS)
PLATFORM_WX_LDFLAGS = $(shell wx-config --ldflags) $(PLATFORM_GTK_LDFLAGS)
+PLATFORM_TCL_CPPFLAGS=-I/usr/include/tcl8.4
+PLATFORM_TCL_LIBS=-ltcl8.4
+PLATFORM_TCL_LDFLAGS=
+
+PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+PLATFORM_TK_LIBS=$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+PLATFORM_TK_LDFLAGS=
+
PLATFORM_AIO_SUPPORT := \
$(shell test -e /usr/lib/librt.so && echo -DACE_HAS_AIO_CALLS)
diff --git a/include/makeinclude/platform_lynxos.GNU b/include/makeinclude/platform_lynxos.GNU
index 717c4d25b04..bb8e3341837 100644
--- a/include/makeinclude/platform_lynxos.GNU
+++ b/include/makeinclude/platform_lynxos.GNU
@@ -105,6 +105,14 @@ PLATFORM_X11_CPPFLAGS=
PLATFORM_X11_LIBS=-lXpm -lXext -lX11 -lSM -lICE
PLATFORM_X11_LDFLAGS=
+PLATFORM_TCL_CPPFLAGS=-I/usr/include/tcl8.4
+PLATFORM_TCL_LIBS=-ltcl8.4
+PLATFORM_TCL_LDFLAGS=
+
+PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+PLATFORM_TK_LIBS=$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+PLATFORM_TK_LDFLAGS=
+
pipes ?= 1
CC = gcc
diff --git a/include/makeinclude/platform_sunos5_g++.GNU b/include/makeinclude/platform_sunos5_g++.GNU
index 9e19f643a0b..c26fa32d065 100644
--- a/include/makeinclude/platform_sunos5_g++.GNU
+++ b/include/makeinclude/platform_sunos5_g++.GNU
@@ -73,6 +73,15 @@ PLATFORM_X11_CPPFLAGS= -I/usr/openwin/include -I/usr/dt/include
PLATFORM_X11_LIBS =-lX11
PLATFORM_X11_LDFLAGS=
+# TODO: Fix the parameters
+#PLATFORM_TCL_CPPFLAGS=-I/usr/include/tcl8.4
+#PLATFORM_TCL_LIBS=-ltcl8.4
+#PLATFORM_TCL_LDFLAGS=
+#
+#PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+#PLATFORM_TK_LIBS=$(shell . /usr/lib/tk8.4/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+#PLATFORM_TK_LDFLAGS=
+
## Unfortunately, gcc 3.0 fails to many cpp files with
## optimization enabled. Even -O causes the compiler
## to core dump on some files.
diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU
index 6885b8b6b7f..bba2a928b83 100644
--- a/include/makeinclude/wrapper_macros.GNU
+++ b/include/makeinclude/wrapper_macros.GNU
@@ -50,11 +50,10 @@
# static_link Link only static libs to executables, e.g., uses "-static"
# flag with the GNU ld linker.
# threads Build with thread support.
-# xt_reactor Build the XtReactor.
-# fl_reactor Build the FlReactor.
-# tk_reactor Build the TkReactor.
-# qt_reactor Build the QtReactor.
-# gtk_reactor Build the GtkReactor.
+# ace_xtreactor Build the XtReactor.
+# ace_flreactor Build the FlReactor.
+# ace_tkreactor Build the TkReactor.
+# ace_qtreactor Build the QtReactor.
# ssl Build with OpenSSL support.
# rapi Build with RAPI
# stlport Build with STLPort support
@@ -256,7 +255,7 @@ endif # static_libs
#### The system has X Windows and we want to include the XtReactor in
#### the library
-xt_reactor = 0
+ace_xtreactor = 0
#### Set up the build ACE version in case the platform_macros.GNU wants it.
ACE_MAJOR_VERSION := $(shell awk '/ACE_MAJOR_VERSION/ { print $$3}' ${ACE_ROOT}/ace/Version.h)
@@ -444,66 +443,49 @@ ifeq ($(threads),0)
override threads =
endif # threads
-ifeq ($(xt_reactor),0)
- override xt_reactor =
-endif # xt_reactor
-
-ifneq ($(xt_reactor),)
- override ace_with_x11=1
- CPPFLAGS += -DACE_HAS_XT $(PLATFORM_XT_CPPFLAGS)
- LIBS += $(PLATFORM_XT_LIBS)
- LDFLAGS += $(PLATFORM_XT_LDFLAGS)
- ACE_MAKE_OPTIONS += xt_reactor
-endif # xt_reactor
-
-fl_reactor ?=
-ifeq ($(fl_reactor),0)
- override fl_reactor =
-endif # fl_reactor
-
-ifneq ($(fl_reactor),)
- override ace_with_x11=1
- override ace_with_gl=1
- CPPFLAGS += -DACE_HAS_FL $(PLATFORM_FL_CPPFLAGS)
- LIBS += $(PLATFORM_FL_LIBS)
- LDFLAGS += $(PLATFORM_FL_LDFLAGS)
- ACE_MAKE_OPTIONS += fl_reactor
-endif # fl_reactor
-
-tk_reactor ?=
-ifeq ($(tk_reactor),0)
- override tk_reactor =
-endif # tk_reactor
-
-ifneq ($(tk_reactor),)
- override ace_with_tk=1
- CPPFLAGS += -DACE_HAS_TK $(PLATFORM_TK_CPPFLAGS)
- LIBS += $(PLATFORM_TK_LIBS)
- LDFLAGS += $(PLATFORM_TK_LDFLAGS)
- ACE_MAKE_OPTIONS += tk_reactor
-endif # tk_reactor
-
-qt_reactor ?=
+ifeq ($(ace_xtreactor),0)
+ override ace_xtreactor =
+endif # ace_xtreactor
+
+ifneq ($(ace_xtreactor),)
+ override x11=1
+ override xt=1
+ ACE_MAKE_OPTIONS += ace_xtreactor
+endif # ace_xtreactor
+
+ace_flreactor ?=
+ifeq ($(ace_flreactor),0)
+ override ace_flreactor =
+endif # ace_flreactor
+
+ifneq ($(ace_flreactor),)
+ override x11=1
+ override gl=1
+ ACE_MAKE_OPTIONS += ace_flreactor
+endif # ace_flreactor
+
+ace_tkreactor ?=
+ifeq ($(ace_tkreactor),0)
+ override ace_tkreactor =
+endif # ace_tkreactor
+
+ifneq ($(ace_tkreactor),)
+ override x11=1
+ override tk=1
+ ACE_MAKE_OPTIONS += ace_tkreactor
+endif # ace_tkreactor
+
+ace_qtreactor ?=
ifeq ($(qt_reactor),0)
- override qt_reactor =
-endif # qt_reactor
-
-ifneq ($(qt_reactor),)
- override ace_with_qt=1
- CPPFLAGS += -DACE_HAS_QT $(PLATFORM_QT_CPPFLAGS)
- LIBS += $(PLATFORM_QT_LIBS)
- LDFLAGS += $(PLATFORM_QT_LDFLAGS)
- ACE_MAKE_OPTIONS += qt_reactor
-endif # qt_reactor
-
-QTDIR ?=
-ifneq ($(QTDIR),)
- MOC = ${QTDIR}/bin/moc
-else
- MOC = moc
-endif
+ override ace_qtreactor =
+endif # ace_qtreactor
+ifneq ($(ace_qtreactor),)
+ override qt=1
+ ACE_MAKE_OPTIONS += ace_qtreactor
+endif # ace_qtreactor
gtk_reactor ?=
+
ifeq ($(gtk_reactor),0)
override gtk_reactor =
endif # gtk_reactor
@@ -516,6 +498,13 @@ ifneq ($(gtk_reactor),)
ACE_MAKE_OPTIONS += gtk_reactor
endif # gtk_reactor
+QTDIR ?=
+ifneq ($(QTDIR),)
+ MOC = ${QTDIR}/bin/moc
+else
+ MOC = moc
+endif
+
rapi ?=
ifeq ($(rapi),0)
override rapi =
@@ -541,30 +530,14 @@ ifneq ($(sctp),)
ACE_MAKE_OPTIONS += sctp
endif
-ace_with_gl ?=
-ifeq ($(ace_with_gl),0)
- override ace_with_gl =
-endif # ace_with_gl
-
-ifneq ($(ace_with_gl),)
- override ace_with_x11 = 1
- CPPFLAGS += $(PLATFORM_GL_CPPFLAGS)
- LIBS += $(PLATFORM_GL_LIBS)
- LDFLAGS += $(PLATFORM_GL_LDFLAGS)
- ACE_MAKE_OPTIONS += ace_with_gl
-endif # ace_with_gl
-
-ace_with_x11 ?=
-ifeq ($(ace_with_x11),0)
- override ace_with_x11 =
-endif # ace_with_x11
-
-ifneq ($(ace_with_x11),)
- CPPFLAGS += $(PLATFORM_X11_CPPFLAGS)
- LIBS += $(PLATFORM_X11_LIBS)
- LDFLAGS += $(PLATFORM_X11_LDFLAGS)
- ACE_MAKE_OPTIONS += ace_with_x11
-endif # ace_with_x11
+gl ?=
+ifeq ($(gl),0)
+ override gl =
+endif # gl
+
+ifneq ($(gl),)
+ ACE_MAKE_OPTIONS += gl
+endif # gl
ssl ?=
ifeq ($(ssl),0)
diff --git a/tests/.cvsignore b/tests/.cvsignore
index bfe9b1ba53f..cf6cf1aaa37 100755
--- a/tests/.cvsignore
+++ b/tests/.cvsignore
@@ -1,5 +1,310 @@
*.ilk
-*.pdb
-*.plg
*.ncb
*.opt
+*.pdb
+*.plg
+ACE_Init_Test
+ACE_Init_Test
+ACE_Test
+ACE_Test
+ARGV_Test
+ARGV_Test
+Aio_Platform_Test
+Aio_Platform_Test
+Arg_Shifter_Test
+Arg_Shifter_Test
+Atomic_Op_Test
+Atomic_Op_Test
+Auto_IncDec_Test
+Auto_IncDec_Test
+Barrier_Test
+Barrier_Test
+Basic_Types_Test
+Basic_Types_Test
+Bound_Ptr_Test
+Bound_Ptr_Test
+Buffer_Stream_Test
+Buffer_Stream_Test
+Bug_1576_Regression_Test
+Bug_1576_Regression_Test
+CDR_Array_Test
+CDR_Array_Test
+CDR_File_Test
+CDR_File_Test
+CDR_Test
+CDR_Test
+Cache_Map_Manager_Test
+Cache_Map_Manager_Test
+Cached_Accept_Conn_Test
+Cached_Accept_Conn_Test
+Cached_Allocator_Test
+Cached_Allocator_Test
+Cached_Conn_Test
+Cached_Conn_Test
+Capabilities_Test
+Capabilities_Test
+Codecs_Test
+Codecs_Test
+Collection_Test
+Collection_Test
+Config_Test
+Config_Test
+Conn_Test
+Conn_Test
+DLL_Test
+DLL_Test
+DLList_Test
+DLList_Test
+Date_Time_Test
+Date_Time_Test
+Dev_Poll_Reactor_Test
+Dev_Poll_Reactor_Test
+Dirent_Test
+Dirent_Test
+Dynamic_Priority_Test
+Dynamic_Priority_Test
+Enum_Interfaces_Test
+Enum_Interfaces_Test
+Env_Value_Test
+Env_Value_Test
+FIFO_Test
+FIFO_Test
+FlReactor_Test
+FlReactor_Test
+Framework_Component_Test
+Framework_Component_Test
+Future_Set_Test
+Future_Set_Test
+Future_Test
+Future_Test
+Get_Opt_Test
+Get_Opt_Test
+Handle_Set_Test
+Handle_Set_Test
+Hash_Map_Bucket_Iterator_Test
+Hash_Map_Bucket_Iterator_Test
+Hash_Map_Manager_Test
+Hash_Map_Manager_Test
+High_Res_Timer_Test
+High_Res_Timer_Test
+INET_Addr_Test
+INET_Addr_Test
+INET_Addr_Test_IPV6
+INET_Addr_Test_IPV6
+IOStream_Test
+IOStream_Test
+Lazy_Map_Manager_Test
+Lazy_Map_Manager_Test
+Log_Msg_Test
+Log_Msg_Test
+Logging_Strategy_Test
+Logging_Strategy_Test
+MEM_Stream_Test
+MEM_Stream_Test
+MM_Shared_Memory_Test
+MM_Shared_Memory_Test
+MT_Reactor_Timer_Test
+MT_Reactor_Timer_Test
+MT_Reactor_Upcall_Test
+MT_Reactor_Upcall_Test
+MT_Reference_Counted_Event_Handler_Test
+MT_Reference_Counted_Event_Handler_Test
+MT_Reference_Counted_Notify_Test
+MT_Reference_Counted_Notify_Test
+MT_SOCK_Test
+MT_SOCK_Test
+Malloc_Test
+Malloc_Test
+Map_Manager_Test
+Map_Manager_Test
+Map_Test
+Map_Test
+Max_Default_Port_Test
+Max_Default_Port_Test
+Max_Default_Port_Test_IPV6
+Max_Default_Port_Test_IPV6
+Mem_Map_Test
+Mem_Map_Test
+Message_Block_Test
+Message_Block_Test
+Message_Queue_Notifications_Test
+Message_Queue_Notifications_Test
+Message_Queue_Test
+Message_Queue_Test
+Message_Queue_Test_Ex
+Message_Queue_Test_Ex
+Multicast_Test
+Multicast_Test
+Multicast_Test_IPV6
+Multicast_Test_IPV6
+Multihomed_INET_Addr_Test
+Multihomed_INET_Addr_Test
+Multihomed_INET_Addr_Test_IPV6
+Multihomed_INET_Addr_Test_IPV6
+Naming_Test
+Naming_Test
+Network_Adapters_Test
+Network_Adapters_Test
+New_Fail_Test
+New_Fail_Test
+NonBlocking_Conn_Test
+NonBlocking_Conn_Test
+Notify_Performance_Test
+Notify_Performance_Test
+OS_Test
+OS_Test
+Object_Manager_Test
+Object_Manager_Test
+Obstack_Test
+Obstack_Test
+OrdMultiSet_Test
+OrdMultiSet_Test
+Pipe_Test
+Pipe_Test
+Priority_Buffer_Test
+Priority_Buffer_Test
+Priority_Reactor_Test
+Priority_Reactor_Test
+Priority_Task_Test
+Priority_Task_Test
+Proactor_Scatter_Gather_Test
+Proactor_Scatter_Gather_Test
+Proactor_Test
+Proactor_Test
+Proactor_Test_IPV6
+Proactor_Test_IPV6
+Proactor_Timer_Test
+Proactor_Timer_Test
+Process_Manager_Test
+Process_Manager_Test
+Process_Mutex_Test
+Process_Mutex_Test
+Process_Strategy_Test
+Process_Strategy_Test
+QtReactor_Test
+QtReactor_Test
+QtReactor_Test_moc.cpp
+QtReactor_Test_moc.cpp
+RB_Tree_Test
+RB_Tree_Test
+Reactor_Dispatch_Order_Test
+Reactor_Dispatch_Order_Test
+Reactor_Exceptions_Test
+Reactor_Exceptions_Test
+Reactor_Notification_Queue_Test
+Reactor_Notification_Queue_Test
+Reactor_Notify_Test
+Reactor_Notify_Test
+Reactor_Performance_Test
+Reactor_Performance_Test
+Reactor_Registration_Test
+Reactor_Registration_Test
+Reactor_Timer_Test
+Reactor_Timer_Test
+Reactors_Test
+Reactors_Test
+Reader_Writer_Test
+Reader_Writer_Test
+Recursive_Condition_Bug_Test
+Recursive_Condition_Bug_Test
+Recursive_Condition_Test
+Recursive_Condition_Test
+Recursive_Mutex_Test
+Recursive_Mutex_Test
+Refcounted_Auto_Ptr_Test
+Refcounted_Auto_Ptr_Test
+Reference_Counted_Event_Handler_Test
+Reference_Counted_Event_Handler_Test
+Reverse_Lock_Test
+Reverse_Lock_Test
+SOCK_Connector_Test
+SOCK_Connector_Test
+SOCK_Dgram_Bcast_Test
+SOCK_Dgram_Bcast_Test
+SOCK_Dgram_Test
+SOCK_Dgram_Test
+SOCK_SEQPACK_SCTP_Test
+SOCK_SEQPACK_SCTP_Test
+SOCK_Send_Recv_Test
+SOCK_Send_Recv_Test
+SOCK_Send_Recv_Test_IPV6
+SOCK_Send_Recv_Test_IPV6
+SOCK_Test
+SOCK_Test
+SOCK_Test_IPv6
+SOCK_Test_IPv6
+SPIPE_Test
+SPIPE_Test
+SString_Test
+SString_Test
+SV_Shared_Memory_Test
+SV_Shared_Memory_Test
+Semaphore_Test
+Semaphore_Test
+Service_Config_Test
+Service_Config_Test
+Signal_Test
+Signal_Test
+Sigset_Ops_Test
+Sigset_Ops_Test
+Simple_Message_Block_Test
+Simple_Message_Block_Test
+Svc_Handler_Test
+Svc_Handler_Test
+TP_Reactor_Test
+TP_Reactor_Test
+TSS_Static_Test
+TSS_Static_Test
+TSS_Test
+TSS_Test
+Task_Ex_Test
+Task_Ex_Test
+Task_Test
+Task_Test
+Thread_Manager_Test
+Thread_Manager_Test
+Thread_Mutex_Test
+Thread_Mutex_Test
+Thread_Pool_Reactor_Resume_Test
+Thread_Pool_Reactor_Resume_Test
+Thread_Pool_Reactor_Test
+Thread_Pool_Reactor_Test
+Thread_Pool_Test
+Thread_Pool_Test
+Time_Service_Test
+Time_Service_Test
+Time_Value_Test
+Time_Value_Test
+Timeprobe_Test
+Timeprobe_Test
+Timer_Cancellation_Test
+Timer_Cancellation_Test
+Timer_Queue_Reference_Counting_Test
+Timer_Queue_Reference_Counting_Test
+Timer_Queue_Test
+Timer_Queue_Test
+TkReactor_Test
+TkReactor_Test
+Token_Strategy_Test
+Token_Strategy_Test
+Tokens_Test
+Tokens_Test
+UPIPE_SAP_Test
+UPIPE_SAP_Test
+UUIDTest
+UUIDTest
+Unbounded_Set_Test
+Unbounded_Set_Test_Ex
+Unbounded_Set_Test_Ex
+Upgradable_RW_Test
+Upgradable_RW_Test
+Vector_Test
+Vector_Test
+WFMO_Reactor_Test
+WFMO_Reactor_Test
+XtAthenaReactor_Test
+XtAthenaReactor_Test
+XtMotifReactor_Test
+XtMotifReactor_Test
+XtReactor_Test
+test.reg
diff --git a/tests/FlReactor_Test.cpp b/tests/FlReactor_Test.cpp
index b5776bf7255..65ae1ed4bdc 100644
--- a/tests/FlReactor_Test.cpp
+++ b/tests/FlReactor_Test.cpp
@@ -26,21 +26,6 @@
ACE_RCSID(tests, FlReactor_Test, "$Id$")
-#if !defined (ACE_HAS_FL)
-
-int
-run_main (int, ACE_TCHAR*[])
-{
- ACE_START_TEST (ACE_TEXT ("FlReactor_Test"));
-
- ACE_ERROR ((LM_INFO,
- "FL not supported on this platform\n"));
- ACE_END_TEST;
-
- return 0;
-}
-
-#else
#include "ace/FlReactor.h"
#include "ace/Event_Handler.h"
@@ -299,5 +284,3 @@ template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-#endif /* ACE_HAS_FL */
diff --git a/tests/HTBP/Reactor_Tests/.cvsignore b/tests/HTBP/Reactor_Tests/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/tests/HTBP/Reactor_Tests/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/tests/HTBP/Send_Large_Msg/.cvsignore b/tests/HTBP/Send_Large_Msg/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/tests/HTBP/Send_Large_Msg/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/tests/HTBP/Send_Recv_Tests/.cvsignore b/tests/HTBP/Send_Recv_Tests/.cvsignore
new file mode 100644
index 00000000000..b82dc859445
--- /dev/null
+++ b/tests/HTBP/Send_Recv_Tests/.cvsignore
@@ -0,0 +1,2 @@
+SendRecv_Test
+SendRecv_Test
diff --git a/tests/HTBP/ping/.cvsignore b/tests/HTBP/ping/.cvsignore
new file mode 100644
index 00000000000..955ffdc75d5
--- /dev/null
+++ b/tests/HTBP/ping/.cvsignore
@@ -0,0 +1,4 @@
+client
+client
+server
+server
diff --git a/tests/QtReactor_Test.cpp b/tests/QtReactor_Test.cpp
index 1502a8ff373..544b7cd8b7b 100644
--- a/tests/QtReactor_Test.cpp
+++ b/tests/QtReactor_Test.cpp
@@ -59,7 +59,6 @@ ACE_RCSID (tests,
#include "ace/SOCK_Connector.h"
#include "ace/SOCK_Dgram.h"
-#if defined (ACE_HAS_QT)
// Qt specific code
#include "QtReactor_Test.h"
@@ -86,7 +85,6 @@ void QTestApplication::exec( int msec )
inherited::exec();
}
-#endif /* ACE_HAS_QT */
// maximum time for testing QtReactor (msec)
const int TotalTestTime = 8000;
@@ -892,7 +890,6 @@ void testNativeReactor( int argc, ACE_TCHAR *argv[] )
void testQtReactor( int argc, ACE_TCHAR *argv[] )
{
-#if defined (ACE_HAS_QT)
// Qt specific code
ACE_DEBUG ((LM_INFO, ACE_TEXT( "Testing QtReactor\n")));
@@ -914,7 +911,6 @@ void testQtReactor( int argc, ACE_TCHAR *argv[] )
else
ACE_ERROR ((LM_INFO, ACE_TEXT( "QtReactor_Test passed.\n")));
}
-#endif /* ACE_HAS_QT */
}
int
@@ -925,11 +921,6 @@ run_main ( int argc, ACE_TCHAR *argv[] )
testNativeReactor( argc, argv );
testQtReactor( argc, argv );
-#ifndef ACE_HAS_QT
- ACE_ERROR ( (LM_INFO,
- ACE_TEXT( "ACE is not configured for Qt on this platform\n" ) ) );
-#endif /* ACE_HAS_QT */
-
ACE_END_TEST;
return 0;
diff --git a/tests/QtReactor_Test.h b/tests/QtReactor_Test.h
index e2ce413521e..f2be9a5331c 100644
--- a/tests/QtReactor_Test.h
+++ b/tests/QtReactor_Test.h
@@ -3,7 +3,6 @@
#ifndef QTREACTOR_TEST_H
#define QTREACTOR_TEST_H
-#ifdef ACE_HAS_QT
#include <qapplication.h>
#include <qtimer.h>
@@ -21,6 +20,4 @@ private:
QTimer finishTimer_; //!< timer to finish the test
};
-#endif /*ACE_HAS_QT*/
-
#endif /*QTREACTOR_TEST_H*/
diff --git a/tests/RMCast/.cvsignore b/tests/RMCast/.cvsignore
new file mode 100644
index 00000000000..b9a09c88cd2
--- /dev/null
+++ b/tests/RMCast/.cvsignore
@@ -0,0 +1,12 @@
+RMCast_Fragment_Test
+RMCast_Fragment_Test
+RMCast_Membership_Test
+RMCast_Membership_Test
+RMCast_Reassembly_Test
+RMCast_Reassembly_Test
+RMCast_Reordering_Test
+RMCast_Reordering_Test
+RMCast_Retransmission_Test
+RMCast_Retransmission_Test
+RMCast_UDP_Best_Effort_Test
+RMCast_UDP_Best_Effort_Test
diff --git a/tests/TkReactor_Test.cpp b/tests/TkReactor_Test.cpp
index 5a21dbf71c1..26e2895d0e1 100644
--- a/tests/TkReactor_Test.cpp
+++ b/tests/TkReactor_Test.cpp
@@ -28,21 +28,6 @@ ACE_RCSID (tests,
TkReactor_Test,
"$Id$")
-#if !defined (ACE_HAS_TK)
-
-int run_main (int, ACE_TCHAR*[])
-{
- ACE_START_TEST (ACE_TEXT ("TkReactor_Test"));
-
- ACE_ERROR ((LM_ERROR,
- "Tk not supported on this platform\n"));
-
- ACE_END_TEST;
- return 0;
-}
-
-#else
-
#include "ace/Event_Handler.h"
#include "ace/Acceptor.h"
#include "ace/SOCK_Acceptor.h"
@@ -337,5 +322,3 @@ run_main (int, ACE_TCHAR *[])
ACE_END_TEST;
return 0;
}
-
-#endif /* ACE_HAS_TK */
diff --git a/tests/XtAthenaReactor_Test.cpp b/tests/XtAthenaReactor_Test.cpp
new file mode 100644
index 00000000000..68f6bae83c9
--- /dev/null
+++ b/tests/XtAthenaReactor_Test.cpp
@@ -0,0 +1,329 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// XtReactor_Test.cpp
+//
+// = DESCRIPTION
+// This is a simple test that illustrates the possibility to integrate
+// ACE to the X Main Loop. This program uses ACE_XtReactor class to
+// schedule three additional event sources:
+// 1. Events from button "Stop Test" (registed with XtAddCallback)
+// 2. Events from button "Press Me" (registed with XtAddCallback)
+// 3. Events from X timer (registed with XtAppAddTimeOut)
+// 4. Events from ACE timer (registed with ACE_XtReactor::schedule_timer)
+// 5. Events from the TCP/IP channel using ACE_Acceptor
+// No command line arguments are needed to run the test.
+// Programs needs Athena Widgets to be compiled and run.
+//
+// = AUTHOR
+// Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch>
+//
+// ============================================================================
+
+#include "test_config.h"
+
+ACE_RCSID (tests,
+ XtAthenaReactor_Test,
+ "$Id$")
+
+#include "ace/XtReactor.h"
+#include "ace/Event_Handler.h"
+#include "ace/Acceptor.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Service_Config.h"
+#include "ace/Thread_Manager.h"
+
+#include "ace/OS_NS_unistd.h"
+
+#include /**/ <X11/Intrinsic.h>
+#include /**/ <X11/Xatom.h>
+#include /**/ <X11/Shell.h>
+
+#include /**/ <X11/Xaw/Command.h>
+#include /**/ <X11/Xaw/Label.h>
+#include /**/ <X11/Xaw/Box.h>
+#include /**/ <X11/StringDefs.h>
+
+static void set_label(Widget w, const char *p)
+{
+ XtVaSetValues (w, XtNlabel, p, 0);
+}
+#define LABEL_WIDGET labelWidgetClass
+#define BUTTON_WIDGET commandWidgetClass
+#define PRESS_ME_CALLBACK XtNcallback
+static Widget create_box(Widget parent, const char * name)
+{
+ return XtCreateWidget( (char*) name, boxWidgetClass, parent, 0, 0);
+}
+
+// Port we listen on.
+static const u_short SERV_TCP_PORT = 6670;
+
+// counter for events from "Press Me" button.
+static int count1 = 0;
+
+// counter for events from X Timer.
+static int count2 = 0;
+
+// counter for events from ACE Timer.
+static int count3 = 0;
+
+// Callback for "Stop Test" buton - quit the program.
+void
+Quit (Widget, XtPointer, XtPointer)
+{
+ ACE_OS::exit (0);
+}
+
+static void *
+client (void *)
+{
+ char buf[100];
+ size_t mes_len;
+ ACE_OS::sleep (1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ " (%P) Client: Starting...\n"));
+
+ ACE_SOCK_Stream stream;
+ ACE_SOCK_Connector connector;
+ sprintf (buf, "Client: the life was good!");
+
+ mes_len = (int) htonl (ACE_OS::strlen (buf) + 1);
+
+ if (connector.connect (stream,
+ ACE_INET_Addr (SERV_TCP_PORT,
+ ACE_DEFAULT_SERVER_HOST)) == -1)
+ ACE_ERROR ((LM_ERROR,
+ "(%P) %p\n",
+ "Socket open"));
+
+ if (stream.send (4,
+ (void *) &mes_len,
+ sizeof (size_t),
+ (void *)buf,
+ ACE_OS::strlen (buf) + 1) == -1)
+
+ ACE_ERROR ((LM_ERROR,
+ "(%P) %p\n",
+ "Socket send"));
+
+ if (stream.close () == -1)
+ ACE_ERROR ((LM_ERROR,
+ "(%P) %p\n",
+ "Socket close"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P) Client: Message has been sent, about to exit...\n"));
+ return 0;
+}
+
+// Callback for "Press Me" button.
+
+static void
+inc_count (Widget, XtPointer client_data, XtPointer)
+{
+ char new_string[80];
+
+ sprintf (new_string,
+ "Events: [%d] [%d] [%d]",
+ count1++,
+ count2,
+ count3);
+ set_label((Widget) client_data, new_string);
+}
+
+// Callback for X Timer.
+
+static void
+inc_tmo (void *w,XtIntervalId *)
+{
+ char new_string[80];
+
+ if (count2 > 10)
+ ACE_OS::exit (0);
+ sprintf (new_string,
+ "Events: [%d] [%d] [%d]",
+ count1,
+ count2++,
+ count3);
+
+ set_label((Widget) w, new_string);
+
+ (void) XtAppAddTimeOut (XtWidgetToApplicationContext ((Widget) w),
+ 1000,
+ inc_tmo,
+ (Widget) w);
+}
+
+class EV_handler : public ACE_Event_Handler
+{
+public:
+ virtual int handle_timeout (const ACE_Time_Value &,
+ const void *arg)
+ {
+ char new_string[80];
+ sprintf (new_string,
+ "Events: [%d] [%d] [%d]",
+ count1,
+ count2,
+ count3++);
+ set_label((Widget) arg, new_string);
+ return 0;
+ }
+};
+
+class Connection_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+ virtual int open (void *)
+ {
+ char buf[100];
+ int head;
+ ssize_t ret = this->peer ().recv_n ((char *) &head,
+ sizeof (int));
+ if (ret != sizeof (int))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P) %p\n",
+ "read header"),
+ -1);
+
+ ret = this->peer ().recv_n (buf,
+ (int) ntohl (head));
+
+ if (ret != (int) ntohl (head))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P) %p\n",
+ "read message"),
+ -1);
+ ACE_DEBUG ((LM_DEBUG,
+ " (%P)Server (ACE_SOCKET channel message): [%s]\n",
+ buf));
+ return 0;
+ }
+};
+
+#if defined (HummingBird_X)
+extern "C" void HCLXmInit (void);
+#endif /* HummingBird_X */
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Acceptor<Connection_Handler, ACE_SOCK_ACCEPTOR>;
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Acceptor<Connection_Handler, ACE_SOCK_ACCEPTOR>
+#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("XtAthenaReactor_Test"));
+
+ XtAppContext app_context;
+ Widget topLevel, goodbye, PressMe, lbl, digits_rc;
+ Widget children[5];
+
+#if defined (HummingBird_X)
+ HCLXmInit ();
+#endif /* HummingBird_X */
+ topLevel = XtVaAppInitialize (&app_context,
+ "XTReactor_Test",
+ 0,
+ 0,
+ &argc,
+ argv,
+ 0,
+ 0);
+
+ digits_rc = create_box(topLevel, "digits_rc");
+
+ //"Stop Test" button.
+ goodbye = XtCreateWidget ( (char *) "goodbye",
+ BUTTON_WIDGET,
+ digits_rc,
+ 0,
+ 0);
+ set_label(goodbye, "Stop Test");
+
+ //"Press Me" button
+ PressMe = XtCreateWidget ((char *) "PressMe",
+ BUTTON_WIDGET,
+ digits_rc,
+ 0,
+ 0);
+
+ //Display for event counter
+ lbl = XtCreateWidget ((char *) "label_for_event_one",
+ LABEL_WIDGET,
+ digits_rc,
+ 0,
+ 0);
+ set_label(lbl, "label_for_all_events");
+ int ac = 0;
+ children[ac++] = goodbye;
+ children[ac++] = PressMe;
+ children[ac++] = lbl;
+ XtManageChildren (children, ac);
+ XtManageChild (digits_rc);
+
+ //Register callback for "Stop Test" button
+ XtAddCallback (goodbye, PRESS_ME_CALLBACK, Quit, 0);
+
+ //Register callback for "Press Me" button
+ XtAddCallback (PressMe,
+ PRESS_ME_CALLBACK,
+ inc_count,
+ (XtPointer) lbl);
+
+ // Register callback for X Timer
+ (void) XtAppAddTimeOut (app_context,
+ 1000,
+ inc_tmo,
+ (XtPointer) lbl);
+
+ XtRealizeWidget (topLevel);
+
+ // It will perform X Main Loop
+ ACE_XtReactor reactor (app_context);
+
+ ACE_Reactor r (&reactor);
+
+ //Event Handler for ACE Timer.
+ EV_handler evh;
+
+ ACE_Acceptor <Connection_Handler, ACE_SOCK_ACCEPTOR> acceptor;
+
+ if (acceptor.open (ACE_INET_Addr ((u_short) SERV_TCP_PORT),
+ &r) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p\n",
+ "open"),
+ -1);
+
+ if (reactor.schedule_timer (&evh,
+ (const void *) lbl,
+ ACE_Time_Value (2),
+ ACE_Time_Value (2))==-1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) can't register with reactor\n"),
+ -1);
+
+ ACE_Thread_Manager::instance ()->spawn ((ACE_THR_FUNC) client,
+ 0,
+ THR_NEW_LWP | THR_DETACHED);
+
+ XtAppMainLoop (XtWidgetToApplicationContext (topLevel));
+
+ ACE_END_TEST;
+ return 0;
+}
+
diff --git a/tests/XtReactor_Test.cpp b/tests/XtMotifReactor_Test.cpp
index 94143e9fede..e4451d5e0c0 100644
--- a/tests/XtReactor_Test.cpp
+++ b/tests/XtMotifReactor_Test.cpp
@@ -19,6 +19,7 @@
// 4. Events from ACE timer (registed with ACE_XtReactor::schedule_timer)
// 5. Events from the TCP/IP channel using ACE_Acceptor
// No command line arguments are needed to run the test.
+// The program needs Motif or lestiff to be compiled and run.
//
// = AUTHOR
// Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch>
@@ -28,11 +29,8 @@
#include "test_config.h"
ACE_RCSID (tests,
- XtReactor_Test,
+ XtMotifReactor_Test,
"$Id$")
-
-#if defined (ACE_HAS_XT)
-
#include "ace/XtReactor.h"
#include "ace/Event_Handler.h"
#include "ace/Acceptor.h"
@@ -47,8 +45,6 @@ ACE_RCSID (tests,
#include /**/ <X11/Xatom.h>
#include /**/ <X11/Shell.h>
-#if !defined (ACE_LACKS_MOTIF)
-
#include /**/ <Xm/Xm.h>
#include /**/ <Xm/Label.h>
#include /**/ <Xm/PushB.h>
@@ -74,26 +70,6 @@ static Widget create_box(Widget parent, const char *name)
return XmCreateRowColumn (parent, (char *) name, al, ac);
}
-#else // Athena Widgets
-
-#include /**/ <X11/Xaw/Command.h>
-#include /**/ <X11/Xaw/Label.h>
-#include /**/ <X11/Xaw/Box.h>
-#include /**/ <X11/StringDefs.h>
-
-static void set_label(Widget w, const char *p)
-{
- XtVaSetValues (w, XtNlabel, p, 0);
-}
-#define LABEL_WIDGET labelWidgetClass
-#define BUTTON_WIDGET commandWidgetClass
-#define PRESS_ME_CALLBACK XtNcallback
-static Widget create_box(Widget parent, const char * name)
-{
- return XtCreateWidget( (char*) name, boxWidgetClass, parent, 0, 0);
-}
-#endif /* ACE_HAS_MOTIF */
-
// Port we listen on.
static const u_short SERV_TCP_PORT = 6670;
@@ -253,14 +229,12 @@ template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-#endif /* ACE_HAS_XT */
int
run_main (int argc, ACE_TCHAR *argv[])
{
- ACE_START_TEST (ACE_TEXT ("XtReactor_Test"));
+ ACE_START_TEST (ACE_TEXT ("XtMotifReactor_Test"));
-#if defined (ACE_HAS_XT)
XtAppContext app_context;
Widget topLevel, goodbye, PressMe, lbl, digits_rc;
Widget children[5];
@@ -355,12 +329,8 @@ run_main (int argc, ACE_TCHAR *argv[])
THR_NEW_LWP | THR_DETACHED);
XtAppMainLoop (XtWidgetToApplicationContext (topLevel));
-#else
- ACE_UNUSED_ARG (argc);
- ACE_UNUSED_ARG (argv);
- ACE_ERROR ((LM_INFO,
- "Xt not supported on this platform\n"));
-#endif /* ACE_HAS_XT */
+
ACE_END_TEST;
return 0;
}
+
diff --git a/tests/tests.mpc b/tests/tests.mpc
index 9311eb0b7fe..2242cb04395 100644
--- a/tests/tests.mpc
+++ b/tests/tests.mpc
@@ -914,26 +914,31 @@ project(Thread Pool Reactor Resume Test) : acetest {
}
}
-project(XtReactor Test) : acetest {
- exename = XtReactor_Test
- requires += ace_other
+project(XtMotifReactor Test) : acetest, ace_xtreactor, ace_motif {
+ exename = XtMotifReactor_Test
+
+ Source_Files {
+ XtMotifReactor_Test.cpp
+ }
+}
+
+project(XtAthenaReactor Test) : acetest, ace_xtreactor, ace_athena {
+ exename = XtAthenaReactor_Test
Source_Files {
- XtReactor_Test.cpp
+ XtAthenaReactor_Test.cpp
}
}
-project(FlReactor Test) : acetest {
+project(FlReactor Test) : acetest, ace_flreactor {
exename = FlReactor_Test
- requires += ace_other
Source_Files {
FlReactor_Test.cpp
}
}
-project(TkReactor Test) : acetest {
+project(TkReactor Test) : acetest,ace_tkreactor {
exename = TkReactor_Test
- requires += ace_other
Source_Files {
TkReactor_Test.cpp
@@ -1138,9 +1143,8 @@ project(SOCK_SEQPACK_SCTP_Test) : acetest {
}
}
-project(QtReactor Test) : acetest, ace_qt, qt_moc {
+project(QtReactor Test) : acetest, ace_qtreactor {
exename = QtReactor_Test
- requires += qt
MOC_Files {
QtReactor_Test.h
}