summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-01-27 20:49:06 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-01-27 20:49:06 +0000
commit864296e21d3c36432a473bfde408b4ac13c4cfe4 (patch)
tree7cfb682fe320d071e2194184d943a2a1e39c611d
parentaa0142b33373c6b953dbe81cd741622964b156ea (diff)
downloadATCD-864296e21d3c36432a473bfde408b4ac13c4cfe4.tar.gz
This commit was manufactured by cvs2svn to create branch 'EC_DT_CS520'.
-rw-r--r--Kokyu/Kokyu.mwc5
-rw-r--r--Kokyu/README22
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Makefile20
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Makefile.archive.alt34
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile209
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile.alt19
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile15
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object60
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object.alt18
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph.hpp15
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.cpp121
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.hpp96
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.cpp33
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.hpp65
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.cpp76
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.hpp117
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile88
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile.alt18
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Traversal/Composition.tpp41
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.cpp15
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.hpp36
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.cpp195
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.hpp125
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Traversal/Makefile85
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/IndentationCxx.hpp245
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile58
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/Makefile56
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.cpp837
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.cpp57
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.hpp58
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Makefile20
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Makefile.archive.alt79
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Enum.hpp31
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Exception.hpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Elements.tpp94
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp69
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.hpp41
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.cpp69
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.hpp42
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile427
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile.alt35
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.cpp50
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.hpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.cpp209
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.hpp57
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.cpp146
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.hpp65
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile15
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object56
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object.alt19
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Native.hpp28
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Union.hpp49
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/ValueType.hpp49
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph.hpp28
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.cpp100
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.hpp127
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.cpp475
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp854
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.tpp14
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.cpp58
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp56
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.hpp50
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp438
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp.m498
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp405
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp.m498
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.m417
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.hpp79
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp164
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.cpp117
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.hpp175
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.cpp25
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.hpp56
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile224
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile.alt35
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.hpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.cpp33
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.hpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.cpp216
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.hpp186
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp33
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.hpp40
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp218
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.hpp344
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.cpp58
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.hpp65
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp35
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.hpp43
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.cpp255
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.hpp286
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.ipp73
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.cpp56
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.hpp96
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp142
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.hpp153
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp77
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp88
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.cpp132
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.hpp133
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.tpp128
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.cpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.hpp30
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.cpp38
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.hpp36
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.cpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.hpp101
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Interface.tpp99
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Makefile268
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.cpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.hpp24
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Operation.tpp201
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp81
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp63
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.cpp15
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp85
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.tpp132
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Makefile20
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Makefile.archive.alt43
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/HomeFinder.hpp32
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.cpp142
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp43
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile483
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile.alt30
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile11
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile.alt17
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph.hpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.cpp143
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.hpp195
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.cpp34
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.hpp67
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp80
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp78
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.cpp79
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.hpp147
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile102
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile.alt21
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Traversal/Component.tpp195
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Traversal/Elements.hpp21
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.tpp132
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Traversal/Makefile106
-rw-r--r--TAO/CIAO/CCF/CCF/Makefile21
-rw-r--r--TAO/CIAO/CCF/Example/CIDL/LocalExecutorMapping/LocalExecutorMapping.vcproj147
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.cpp32
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.hpp34
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/CxxMapping/GeneratorImpl.hpp533
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/CxxMapping/Makefile.alt30
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/CxxMapping/driver.cpp96
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/CxxMapping/test.idl12
-rw-r--r--TAO/CIAO/CCF/Example/IDL2/Makefile.alt18
-rw-r--r--TAO/CIAO/CCF/Makefile13
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp32
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp34
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp228
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/Makefile.alt33
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/driver.cpp97
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig14
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Compiler/test.cidl21
-rw-r--r--TAO/CIAO/CCF/Test/CIDL/Makefile.alt19
-rw-r--r--TAO/CIAO/CCF/Test/CompilerElements/CPP/Makefile.alt24
-rw-r--r--TAO/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp40
-rw-r--r--TAO/CIAO/CCF/Test/CompilerElements/Makefile.alt19
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Compiler/Makefile.alt31
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Compiler/driver.cpp94
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig88
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Compiler/test.idl151
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Makefile.alt24
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp165
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp17
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Makefile.alt29
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp16
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/SemanticGraph/Makefile.alt18
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Traversal/Makefile.alt18
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp32
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp34
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp682
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Makefile.alt33
-rw-r--r--TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp24
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp32
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp34
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp616
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/Makefile.alt31
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/driver.cpp97
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig103
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Compiler/test.idl166
-rw-r--r--TAO/CIAO/CCF/Test/IDL3/Makefile.alt19
-rw-r--r--TAO/CIAO/CCF/Test/Makefile.alt17
-rw-r--r--TAO/CIAO/CIDLC/Makefile858
-rw-r--r--TAO/CIAO/CIDLC/README.html48
-rw-r--r--TAO/CIAO/ciao/Makefile79
-rw-r--r--TAO/CIAO/ciao/Makefile.CIAO_Client1591
-rw-r--r--TAO/CIAO/ciao/Makefile.CIAO_Container3284
-rw-r--r--TAO/CIAO/ciao/Makefile.CIAO_Server3572
-rw-r--r--TAO/CIAO/docs/RT-Extension.html132
-rw-r--r--TAO/CIAO/docs/releasenotes/index.html403
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/CIAO_Installation_Data.ini3
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/README104
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/client.cpp117
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/config1
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello.cidl13
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello.csd75
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello.idl19
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello.mpc80
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello.ssd53
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello_exec.cpp52
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello_exec.h54
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello_exec_export.h54
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello_stub_export.h54
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/hello_svnt_export.h54
-rwxr-xr-xTAO/CIAO/docs/tutorial/Hello/run_simple_test.pl47
-rwxr-xr-xTAO/CIAO/docs/tutorial/Hello/run_test.pl113
-rw-r--r--TAO/CIAO/docs/tutorial/Hello/simple_client.cpp103
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl27
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc30
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/README7
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver.cidl22
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver.idl26
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver.mpc60
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl25
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp123
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h102
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender.cidl22
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender.idl37
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender.mpc73
-rw-r--r--TAO/CIAO/examples/Hello/Sender/SenderEI.idl23
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp136
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec.h150
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h54
-rw-r--r--TAO/CIAO/examples/Hello/Sender/starter.cpp86
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini5
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Receiver.csd44
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Receiver.ssd41
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Sender.csd42
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/Sender.ssd40
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/default.cad64
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/remote.cad67
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/remote.dat2
-rwxr-xr-xTAO/CIAO/examples/Hello/descriptors/run_test_default.pl60
-rwxr-xr-xTAO/CIAO/examples/Hello/descriptors/run_test_remote.pl64
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/test.cad33
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/test.dat2
-rw-r--r--TAO/CIAO/examples/Hello/descriptors/test1.cad32
-rw-r--r--TAO/CIAO/examples/Hello/step-by-step.html161
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/DualDisplay.cad114
-rw-r--r--TAO/CIAO/examples/Philosophers/Philosophers.idl75
-rw-r--r--TAO/CIAO/examples/Philosophers/README1
-rw-r--r--TAO/CIAO/performance-tests/Benchmark/descriptors/NOTE.txt65
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Makefile69
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Deployer717
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Manager2633
-rw-r--r--TAO/CIAO/tools/ComponentServer/Makefile69
-rw-r--r--TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer433
-rw-r--r--TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer_test_client394
-rw-r--r--TAO/CIAO/tools/Daemon/Makefile69
-rw-r--r--TAO/CIAO/tools/Daemon/Makefile.CIAO_Daemon1523
-rw-r--r--TAO/CIAO/tools/Daemon/Makefile.DaemonController1487
-rw-r--r--TAO/CIAO/tools/Makefile224
-rw-r--r--TAO/CIAO/tools/RTComponentServer/Makefile24
-rw-r--r--TAO/CIAO/tools/RTComponentServer/Makefile.RTComponentServer721
-rw-r--r--TAO/CIAO/tools/ServerActivator/Makefile69
-rw-r--r--TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator443
-rw-r--r--TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator_test_client394
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Makefile79
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server931
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server_test_client396
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Server_Stub432
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Makefile69
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Makefile.Helper_Test373
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Makefile.XML_Helpers1715
-rw-r--r--TAO/ChangeLogs/ChangeLog-oci_haft2675
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp231
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/amh_si.h31
-rw-r--r--TAO/docs/tutorials/Quoter/AMI/Quoter_AMI.mpc19
-rw-r--r--TAO/docs/tutorials/Quoter/Event_Service/Quoter_Event_Service.mpc21
-rw-r--r--TAO/docs/tutorials/Quoter/Naming_Service/Quoter_Naming_Service.mpc24
-rw-r--r--TAO/docs/tutorials/Quoter/On_Demand_Activation/Quoter_On_Demand_Activation.mpc20
-rw-r--r--TAO/docs/tutorials/Quoter/RT_Event_Service/Quoter_RT_Event_Service.mpc21
-rw-r--r--TAO/docs/tutorials/Quoter/Simple/Client/Quoter_Simple_Client.mpc9
-rw-r--r--TAO/docs/tutorials/Quoter/Simple/Impl-Repo/Quoter_Simple_Impl_Repo.mpc24
-rw-r--r--TAO/docs/tutorials/Quoter/Simple/ImprovedServer/Quoter_Simple_ImprovedServer.mpc8
-rw-r--r--TAO/docs/tutorials/Quoter/Simple/Persistent/Quoter_Simple_Persistent.mpc24
-rw-r--r--TAO/docs/tutorials/Quoter/Simple/Server/Quoter_Simple_Server.mpc9
-rw-r--r--TAO/docs/tutorials/Quoter/idl/Quoter_idl.mpc7
-rw-r--r--TAO/examples/Advanced/README_DOCGROUP15
-rw-r--r--TAO/examples/Advanced/ch_3/Advanced_ch_3.mpc16
-rw-r--r--TAO/examples/Advanced/ch_8_and_10/Advanced_ch_8_and_10.mpc17
-rw-r--r--TAO/examples/Buffered_AMI/Buffered_AMI.mpc15
-rw-r--r--TAO/examples/Buffered_Oneways/Buffered_Oneways.mpc15
-rw-r--r--TAO/examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc17
-rw-r--r--TAO/examples/Content_Server/AMI_Observer/AMI_Observer.mpc18
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/FP_Scheduling.idl61
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.idl58
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/MIF_Scheduling.idl61
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl63
-rw-r--r--TAO/examples/POA/Adapter_Activator/POA_Adapter_Activator.mpc12
-rw-r--r--TAO/examples/POA/DSI/POA_DSI.mpc15
-rw-r--r--TAO/examples/POA/Default_Servant/POA_Default_Servant.mpc17
-rw-r--r--TAO/examples/POA/Explicit_Activation/Alt_Resources/Alt_Resource.mpc19
-rw-r--r--TAO/examples/POA/Explicit_Activation/POA_Explicit_Activation.mpc12
-rw-r--r--TAO/examples/POA/FindPOA/POA_FindPOA.mpc7
-rw-r--r--TAO/examples/POA/Forwarding/POA_Forwarding.mpc18
-rw-r--r--TAO/examples/POA/Generic_Servant/POA_Generic_Servant.mpc21
-rw-r--r--TAO/examples/POA/Loader/POA_Loader.mpc10
-rw-r--r--TAO/examples/POA/NewPOA/POA_NewPOA.mpc4
-rw-r--r--TAO/examples/POA/On_Demand_Activation/POA_On_Demand_Activation.mpc14
-rw-r--r--TAO/examples/POA/On_Demand_Loading/POA_On_Demand_Loading.mpc13
-rw-r--r--TAO/examples/POA/POA_BiDir/POA_BiDir.mpc8
-rw-r--r--TAO/examples/POA/Reference_Counted_Servant/Reference_Counted_Servant.mpc13
-rw-r--r--TAO/examples/POA/RootPOA/RootPOA.mpc9
-rw-r--r--TAO/examples/POA/TIE/POA_TIE.mpc20
-rw-r--r--TAO/examples/Simple/time-date/Simple_time_date.mpc38
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp169
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h86
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp29
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h85
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp299
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h167
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp91
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h76
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp242
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.h93
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp1158
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h525
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc26
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp1128
-rwxr-xr-xTAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h194
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerLib_export.h60
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp35
-rw-r--r--TAO/orbsvcs/FT_ReplicationManager/README12
-rw-r--r--TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp722
-rw-r--r--TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h347
-rw-r--r--TAO/orbsvcs/Fault_Detector/Fault_Detector.mpc10
-rw-r--r--TAO/orbsvcs/Fault_Detector/Fault_Detector_Main.cpp34
-rw-r--r--TAO/orbsvcs/Fault_Detector/Fault_Detector_i.cpp203
-rw-r--r--TAO/orbsvcs/Fault_Detector/Fault_Detector_i.h185
-rw-r--r--TAO/orbsvcs/Fault_Notifier/.cvsignore4
-rw-r--r--TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.cpp774
-rw-r--r--TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.h276
-rw-r--r--TAO/orbsvcs/Fault_Notifier/Fault_Notifier.mpc8
-rw-r--r--TAO/orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp37
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp107
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h58
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp830
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Options.h166
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp26
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/INS_Locator.h49
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp95
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h60
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp488
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Options.h102
-rw-r--r--TAO/orbsvcs/PSS/PSDL.mpc54
-rw-r--r--TAO/orbsvcs/examples/CosEC/Factory/CosEC_Factory.mpc17
-rw-r--r--TAO/orbsvcs/examples/CosEC/RtEC_Based/bin/CosEC_RtEC_Based_bin.mpc9
-rw-r--r--TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEC_RtEC_Based_lib.mpc8
-rw-r--r--TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/CosEC_RtEC_Based_tests_Basic.mpc9
-rw-r--r--TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/CosEC_RtEC_Based_tests_Multiple.mpc24
-rw-r--r--TAO/orbsvcs/examples/CosEC/Simple/CosEC_Simple.mpc20
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/Makefile26
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.cpp7
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.h19
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Log.h10
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogACE_RB_Tree.h66
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogStdMap.h56
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Makefile2387
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp49
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.h28
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/README105
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp540
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.h138
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.idl15
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp71
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.h44
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/StateUpdate.h27
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/client.cpp197
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/RolyPoly/server.cpp139
-rw-r--r--TAO/orbsvcs/examples/Log/Basic/Log_Basic.mpc6
-rw-r--r--TAO/orbsvcs/examples/Log/Event/Log_Event.mpc16
-rw-r--r--TAO/orbsvcs/examples/Log/Notify/Log_Notify.mpc16
-rw-r--r--TAO/orbsvcs/examples/Log/RTEvent/Log_RTEvent.mpc18
-rw-r--r--TAO/orbsvcs/examples/Notify/Filter/Notify_Filter.mpc5
-rw-r--r--TAO/orbsvcs/examples/Notify/Subscribe/Notify_Subscribe.mpc6
-rw-r--r--TAO/orbsvcs/examples/ORT/ORT.mpc48
-rw-r--r--TAO/orbsvcs/examples/PSS/oldmpc_pss44
-rw-r--r--TAO/orbsvcs/examples/RtEC/MCast/RtEC_MCast.mpc5
-rw-r--r--TAO/orbsvcs/examples/RtEC/Schedule/RtEC_Schedule.mpc5
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/RtEC_Simple.mpc20
-rw-r--r--TAO/orbsvcs/examples/Security/Send_File/Security_Send_File.mpc15
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/md5c.cpp326
-rw-r--r--TAO/orbsvcs/orbsvcs/FTORB_Utils.bor75
-rw-r--r--TAO/orbsvcs/orbsvcs/FTORB_Utils.dsp293
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_ClientORB.bor81
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_ClientORB.dsp194
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl119
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_Notifier.idl62
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_Replica.idl51
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl75
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_ServerORB.bor81
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_ServerORB.dsp162
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h60
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.i31
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp139
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h77
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h60
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp37
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h61
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp255
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h213
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.i70
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl73
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h60
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp82
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i1
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl66
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp760
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h254
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp271
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h178
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp827
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h384
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp189
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h118
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp67
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h68
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp173
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h210
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp373
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h193
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h50
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp169
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h55
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp86
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h64
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl41
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/export.h40
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_Regression.dsw29
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsp82
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsw29
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/Makefile19
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/Makefile.Bug_1334_client97
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/README5
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/client.cpp44
-rwxr-xr-xTAO/orbsvcs/tests/Bug_1334_Regression/run_test.pl101
-rw-r--r--TAO/orbsvcs/tests/Bug_1334_Regression/test.mpc9
-rw-r--r--TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_Regression.dsw29
-rw-r--r--TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_testclient.dsp77
-rw-r--r--TAO/orbsvcs/tests/Bug_1630_Regression/Makefile19
-rw-r--r--TAO/orbsvcs/tests/Bug_1630_Regression/Makefile.Bug_1630_testclient90
-rwxr-xr-xTAO/orbsvcs/tests/Bug_1630_Regression/run_test.pl60
-rw-r--r--TAO/orbsvcs/tests/Bug_1630_Regression/test.mpc15
-rw-r--r--TAO/orbsvcs/tests/Bug_1630_Regression/testclient.cpp221
-rw-r--r--TAO/orbsvcs/tests/EC_MT_Mcast/EC_MT_Mcast.mpc6
-rw-r--r--TAO/orbsvcs/tests/FT_App/.cvsignore16
-rw-r--r--TAO/orbsvcs/tests/FT_App/FTAPP_Analyzer_Main.cpp33
-rw-r--r--TAO/orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp33
-rw-r--r--TAO/orbsvcs/tests/FT_App/FTAPP_FaultConsumer_Main.cpp33
-rw-r--r--TAO/orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp34
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_App.mpc145
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_Client.cpp627
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_Creator.cpp296
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_Creator.h114
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_Replica.cpp28
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp777
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h293
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp197
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_TestReplica.idl117
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.cpp496
-rw-r--r--TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.h217
-rw-r--r--TAO/orbsvcs/tests/FT_App/README88
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp384
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h150
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubBatchConsumer.cpp180
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubBatchConsumer.h149
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp279
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.h132
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubFaultConsumer.cpp318
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubFaultConsumer.h149
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubFaultNotifier.cpp493
-rw-r--r--TAO/orbsvcs/tests/FT_App/StubFaultNotifier.h187
-rw-r--r--TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp478
-rw-r--r--TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h108
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/replica.cmd9
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_basic.pl107
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_demo.pl433
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_detector.pl221
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_fault_consumer.pl270
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_notifier.pl248
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_registry.pl438
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_rmnotifier.pl319
-rwxr-xr-xTAO/orbsvcs/tests/FT_App/run_test_rmregistry.pl385
-rw-r--r--TAO/orbsvcs/tests/FT_App/testscript10
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Application_Controlled.mpc16
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.cpp81
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.h67
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.cpp349
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.h107
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile1978
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.bor7
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.dsw28
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.mpc11
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.cpp81
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.h69
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Test.idl38
-rwxr-xr-xTAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/run_test.pl54
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.bor51
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp132
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.dsp227
-rw-r--r--TAO/orbsvcs/tests/Log/Basic_Log_Test/Log_Basic_Log_Test.mpc5
-rw-r--r--TAO/orbsvcs/tests/Security/Crash_Test/Security_Crash_Test.mpc16
-rw-r--r--TAO/orbsvcs/tests/Trading/ttest_export.h40
-rw-r--r--TAO/performance-tests/Memory/IORsize/Memory_IORsize.mpc16
-rw-r--r--TAO/performance-tests/Sequence_Latency/DII/DII.mpc22
-rw-r--r--TAO/tao/Auto_Functor.cpp40
-rw-r--r--TAO/tao/Auto_Functor.h147
-rw-r--r--TAO/tao/Auto_Functor.inl143
-rw-r--r--TAO/tao/BoundsA.cpp135
-rw-r--r--TAO/tao/BoundsA.h47
-rw-r--r--TAO/tao/CONV_FRAMEA.cpp691
-rw-r--r--TAO/tao/CONV_FRAMEA.h81
-rw-r--r--TAO/tao/CurrentA.cpp153
-rw-r--r--TAO/tao/CurrentA.h61
-rw-r--r--TAO/tao/DomainA.cpp239
-rw-r--r--TAO/tao/DomainA.h61
-rw-r--r--TAO/tao/DynamicA.cpp176
-rw-r--r--TAO/tao/DynamicA.h55
-rw-r--r--TAO/tao/Dynamic_ParameterA.cpp108
-rw-r--r--TAO/tao/Dynamic_ParameterA.h47
-rw-r--r--TAO/tao/Dynamic_ParameterC.i53
-rw-r--r--TAO/tao/GIOPA.cpp244
-rw-r--r--TAO/tao/GIOPA.h63
-rw-r--r--TAO/tao/IIOPA.cpp466
-rw-r--r--TAO/tao/IIOPA.h78
-rw-r--r--TAO/tao/IIOP_EndpointsA.cpp310
-rw-r--r--TAO/tao/IIOP_EndpointsA.h69
-rw-r--r--TAO/tao/IIOP_EndpointsC.i73
-rw-r--r--TAO/tao/IOP_CodecA.cpp595
-rw-r--r--TAO/tao/IOP_CodecA.h93
-rw-r--r--TAO/tao/IOP_IORA.cpp1541
-rw-r--r--TAO/tao/IOP_IORA.h136
-rw-r--r--TAO/tao/Messaging/Asynch_Invocation_Adapter.inl16
-rw-r--r--TAO/tao/Messaging_PolicyValueA.cpp176
-rw-r--r--TAO/tao/Messaging_PolicyValueA.h55
-rw-r--r--TAO/tao/OctetSeqA.cpp151
-rw-r--r--TAO/tao/OctetSeqA.h62
-rw-r--r--TAO/tao/PolicyA.cpp454
-rw-r--r--TAO/tao/PolicyA.h76
-rw-r--r--TAO/tao/Policy_ForwardA.cpp213
-rw-r--r--TAO/tao/Policy_ForwardA.h68
-rw-r--r--TAO/tao/PortableInterceptorA.cpp1185
-rw-r--r--TAO/tao/PortableInterceptorA.h148
-rw-r--r--TAO/tao/RTCORBA/RTCORBA_include.pidl37
-rw-r--r--TAO/tao/RTCORBA/RTCORBA_includeC.h98
-rw-r--r--TAO/tao/RTPortableServer/RTPortableServerA.cpp153
-rw-r--r--TAO/tao/RTPortableServer/RTPortableServerA.h60
-rw-r--r--TAO/tao/RTPortableServer/diffs/RTPortableServer.diff129
-rw-r--r--TAO/tao/RTScheduling/RTScheduler_include.pidl38
-rw-r--r--TAO/tao/RTScheduling/RTScheduler_includeC.h98
-rw-r--r--TAO/tao/RTScheduling/diffs/RTScheduler.diff45
-rw-r--r--TAO/tao/ServicesA.cpp194
-rw-r--r--TAO/tao/ServicesA.h55
-rw-r--r--TAO/tao/StringSeqA.cpp174
-rw-r--r--TAO/tao/StringSeqA.h39
-rw-r--r--TAO/tao/TAOA.cpp188
-rw-r--r--TAO/tao/TAOA.h54
-rw-r--r--TAO/tao/TimeBaseA.cpp176
-rw-r--r--TAO/tao/TimeBaseA.h54
-rw-r--r--TAO/tao/UShortSeq.pidl32
-rw-r--r--TAO/tao/Utils/Server_Main.cpp127
-rw-r--r--TAO/tao/Utils/Server_Main.h91
-rw-r--r--TAO/tao/WrongTransactionA.cpp135
-rw-r--r--TAO/tao/WrongTransactionA.h47
-rw-r--r--TAO/tao/diffs/CONV_FRAME.diff1068
-rw-r--r--TAO/tao/diffs/IIOP.diff590
-rw-r--r--TAO/tao/diffs/IIOP_Endpoints.diff396
-rw-r--r--TAO/tao/diffs/TAO.diff23
-rw-r--r--TAO/tests/AMH_Exceptions/AMH_Exceptions.mpc14
-rw-r--r--TAO/tests/AMH_Oneway/AMH_Oneway.mpc14
-rw-r--r--TAO/tests/Abstract_Interface/Abstract_Interface.mpc15
-rw-r--r--TAO/tests/Bug_1020_Basic_Regression/Bug_1020_Basic_Regression.mpc18
-rw-r--r--TAO/tests/Bug_1020_Regression/Bug_1020_Regression.mpc19
-rw-r--r--TAO/tests/Bug_1269_Regression/Bug_1269_Regression.mpc17
-rw-r--r--TAO/tests/Bug_1270_Regression/Bug_1270_Regression.mpc23
-rw-r--r--TAO/tests/Bug_1330_Regression/Bug_1330_Client.dsp177
-rw-r--r--TAO/tests/Bug_1330_Regression/Bug_1330_Regression.mpc16
-rw-r--r--TAO/tests/Bug_1330_Regression/Bug_1330_Server.dsp195
-rw-r--r--TAO/tests/Bug_1330_Regression/Makefile21
-rw-r--r--TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Client70
-rw-r--r--TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Server72
-rw-r--r--TAO/tests/Bug_1330_Regression/README3
-rw-r--r--TAO/tests/Bug_1330_Regression/Test.idl8
-rw-r--r--TAO/tests/Bug_1330_Regression/Test_i.cpp21
-rw-r--r--TAO/tests/Bug_1330_Regression/Test_i.h26
-rw-r--r--TAO/tests/Bug_1330_Regression/client.cpp83
-rwxr-xr-xTAO/tests/Bug_1330_Regression/run_test.pl58
-rw-r--r--TAO/tests/Bug_1330_Regression/server.cpp125
-rw-r--r--TAO/tests/Bug_1361_Regression/Bug_1361_Regression.mpc25
-rw-r--r--TAO/tests/Bug_1482_Regression/test.mpc20
-rw-r--r--TAO/tests/Bug_1551_Regression/test.mpc20
-rw-r--r--TAO/tests/Bug_1568_Regression/Bug_1568_Regression.dsw40
-rw-r--r--TAO/tests/Bug_1568_Regression/Bug_1568_Regression.mpc17
-rw-r--r--TAO/tests/Bug_1568_Regression/Makefile1484
-rw-r--r--TAO/tests/Bug_1568_Regression/Makefile.bor7
-rw-r--r--TAO/tests/Bug_1568_Regression/Test.idl31
-rw-r--r--TAO/tests/Bug_1568_Regression/client.bor41
-rw-r--r--TAO/tests/Bug_1568_Regression/client.cpp88
-rw-r--r--TAO/tests/Bug_1568_Regression/client.dsp206
-rwxr-xr-xTAO/tests/Bug_1568_Regression/run_test.pl42
-rw-r--r--TAO/tests/Bug_1568_Regression/server.bor42
-rw-r--r--TAO/tests/Bug_1568_Regression/server.cpp200
-rw-r--r--TAO/tests/Bug_1568_Regression/server.dsp218
-rw-r--r--TAO/tests/Bug_1627_Regression/Bug_1627_Client.dsp183
-rw-r--r--TAO/tests/Bug_1627_Regression/Bug_1627_Regression.dsw41
-rw-r--r--TAO/tests/Bug_1627_Regression/Bug_1627_Server.dsp203
-rw-r--r--TAO/tests/Bug_1627_Regression/Makefile59
-rw-r--r--TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Client112
-rw-r--r--TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Server114
-rw-r--r--TAO/tests/Bug_1627_Regression/README4
-rw-r--r--TAO/tests/Bug_1627_Regression/Test.idl7
-rw-r--r--TAO/tests/Bug_1627_Regression/Test_i.cpp21
-rw-r--r--TAO/tests/Bug_1627_Regression/Test_i.h25
-rw-r--r--TAO/tests/Bug_1627_Regression/client.cpp83
-rwxr-xr-xTAO/tests/Bug_1627_Regression/run_test.pl51
-rw-r--r--TAO/tests/Bug_1627_Regression/server.cpp125
-rw-r--r--TAO/tests/Bug_1627_Regression/test.mpc16
-rw-r--r--TAO/tests/Bug_1628_Regression/TestCase.idl16
-rw-r--r--TAO/tests/Bug_1628_Regression/TestType.idl16
-rwxr-xr-xTAO/tests/Bug_1628_Regression/run_test.pl62
-rw-r--r--TAO/tests/Bug_1635_Regression/Bug_1635_Client.dsp85
-rw-r--r--TAO/tests/Bug_1635_Regression/Bug_1635_Regression.dsw29
-rw-r--r--TAO/tests/Bug_1635_Regression/Bug_1635_Regression.mpc9
-rw-r--r--TAO/tests/Bug_1635_Regression/Makefile19
-rw-r--r--TAO/tests/Bug_1635_Regression/Makefile.Bug_1635_Client88
-rw-r--r--TAO/tests/Bug_1635_Regression/README7
-rw-r--r--TAO/tests/Bug_1635_Regression/client.cpp26
-rwxr-xr-xTAO/tests/Bug_1635_Regression/run_test.pl78
-rw-r--r--TAO/tests/Bug_1636_Regression/Bug_1636_Regression.dsw29
-rw-r--r--TAO/tests/Bug_1636_Regression/Makefile19
-rw-r--r--TAO/tests/Bug_1636_Regression/Makefile.bug_1636_testclient113
-rw-r--r--TAO/tests/Bug_1636_Regression/README14
-rw-r--r--TAO/tests/Bug_1636_Regression/bug_1636_testclient.dsp195
-rw-r--r--TAO/tests/Bug_1636_Regression/client.cpp91
-rwxr-xr-xTAO/tests/Bug_1636_Regression/run_test.pl25
-rw-r--r--TAO/tests/Bug_1636_Regression/test.idl26
-rw-r--r--TAO/tests/Bug_1636_Regression/test.mpc17
-rw-r--r--TAO/tests/Bug_1639_Regression/Bug_1639_Regression.dsw29
-rw-r--r--TAO/tests/Bug_1639_Regression/Bug_1639_testclient.dsp187
-rw-r--r--TAO/tests/Bug_1639_Regression/Makefile19
-rw-r--r--TAO/tests/Bug_1639_Regression/Makefile.Bug_1639_testclient131
-rwxr-xr-xTAO/tests/Bug_1639_Regression/run_test.pl26
-rw-r--r--TAO/tests/Bug_1639_Regression/struct.idl20
-rw-r--r--TAO/tests/Bug_1639_Regression/struct_client.cpp117
-rw-r--r--TAO/tests/Bug_1639_Regression/test.mpc19
-rw-r--r--TAO/tests/Bug_1670_Regression/Bug_1670_Regression.dsw40
-rw-r--r--TAO/tests/Bug_1670_Regression/Bug_1670_Regression.mpc17
-rw-r--r--TAO/tests/Bug_1670_Regression/Makefile1484
-rw-r--r--TAO/tests/Bug_1670_Regression/Makefile.bor7
-rw-r--r--TAO/tests/Bug_1670_Regression/Test.idl31
-rw-r--r--TAO/tests/Bug_1670_Regression/client.bor41
-rw-r--r--TAO/tests/Bug_1670_Regression/client.cpp133
-rw-r--r--TAO/tests/Bug_1670_Regression/client.dsp206
-rwxr-xr-xTAO/tests/Bug_1670_Regression/run_test.pl42
-rw-r--r--TAO/tests/Bug_1670_Regression/server.bor42
-rw-r--r--TAO/tests/Bug_1670_Regression/server.cpp200
-rw-r--r--TAO/tests/Bug_1670_Regression/server.dsp218
-rw-r--r--TAO/tests/Bug_1693_Test/Bug_1693_Test.dsw29
-rw-r--r--TAO/tests/Bug_1693_Test/Bug_1693_Test.mpc10
-rw-r--r--TAO/tests/Bug_1693_Test/Makefile495
-rw-r--r--TAO/tests/Bug_1693_Test/Makefile.bor8
-rw-r--r--TAO/tests/Bug_1693_Test/client.bor36
-rw-r--r--TAO/tests/Bug_1693_Test/client.cpp100
-rw-r--r--TAO/tests/Bug_1693_Test/client.dsp205
-rwxr-xr-xTAO/tests/Bug_1693_Test/run_test.pl22
-rw-r--r--TAO/tests/Bug_1693_Test/test.idl18
-rw-r--r--TAO/tests/CodeSets/libs/IBM1047_ISO8859/CodeSets_libs_IMB1047_ISO8859.mpc7
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/CodeSets_libs_UCS4_UTF16.mpc7
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/Makefile341
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.cpp250
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.h83
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.cpp25
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.h30
-rw-r--r--TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_export.h40
-rw-r--r--TAO/tests/CodeSets/simple/CodeSets_simple.mpc14
-rw-r--r--TAO/tests/CodeSets/simple/wcs_test.conf13
-rw-r--r--TAO/tests/Collocation_Tests/Collocation_Tests.mpc6
-rw-r--r--TAO/tests/FL_Cube/FL_Cube.mpc14
-rw-r--r--TAO/tests/OBV/Collocated/Forward/Makefile5829
-rw-r--r--TAO/tests/OBV/Collocated/Makefile29
-rw-r--r--TAO/tests/POA/Persistent_ID/Persistent_ID.mpc14
-rw-r--r--TAO/tests/Portable_Interceptors/AMI/Portable_Interceptors_AMI.mpc22
-rw-r--r--TAO/tests/RTCORBA/Diffserv/RTCORBA_Diffserv.mpc18
-rw-r--r--TAO/tests/RTCORBA/Profile_And_Endpoint_Selection/Profile_And_Endpoint_Selection.mpc14
-rw-r--r--TAO/tests/RTScheduling/VoidData/test.idl6
-rw-r--r--TAO/tests/Servant_To_Reference_Test/Makefile1266
-rw-r--r--TAO/tests/Servant_To_Reference_Test/Servant_to_Reference.mpc19
-rw-r--r--TAO/tests/Servant_To_Reference_Test/Test.idl24
-rw-r--r--TAO/tests/Servant_To_Reference_Test/Test_i.cpp43
-rw-r--r--TAO/tests/Servant_To_Reference_Test/Test_i.h77
-rwxr-xr-xTAO/tests/Servant_To_Reference_Test/run_test.pl28
-rw-r--r--TAO/tests/Servant_To_Reference_Test/server.cpp208
-rw-r--r--TAO/tests/Server_Connection_Purging/Server_Connection_Purging.mpc16
-rw-r--r--TAO/tests/Smart_Proxies/Benchmark/Smart_Proxies_Benchmark.mpc16
-rw-r--r--TAO/tests/Smart_Proxies/Collocation/Makefile35
-rw-r--r--TAO/tests/Smart_Proxies/Collocation/Makefile.Coll_Test_Stubs1092
-rw-r--r--TAO/tests/Smart_Proxies/Collocation/Makefile.Diamond1110
-rw-r--r--TAO/tests/Smart_Proxies/Collocation/Makefile.main956
-rw-r--r--TAO/tests/Smart_Proxies/Collocation/Smart_Proxies_Collocation.mpc36
-rw-r--r--TAO/tests/Smart_Proxies/On_Demand/Smart_Proxies_On_Demand.mpc17
-rw-r--r--TAO/tests/Smart_Proxies/Policy/Smart_Proxies_Policy.mpc16
-rw-r--r--TAO/tests/TestUtils/TestUtils.mpc11
-rw-r--r--TAO/utils/IOR-parser/IOR-parser.mpc5
-rw-r--r--TAO/utils/NamingViewer/NamingViewer.mpc6
-rw-r--r--TAO/utils/wxNamingViewer/wxNamingViewer.mpc6
-rw-r--r--ace/OS_main.cpp170
-rw-r--r--ace/TMCast/TMCast.mpc8
-rw-r--r--ace/Task_Ex_T.cpp112
-rw-r--r--ace/Task_Ex_T.h198
-rw-r--r--ace/Task_Ex_T.i109
-rw-r--r--ace/codecs.mpb12
-rw-r--r--ace/config-lite.h709
-rw-r--r--ace/config-macosx-panther.h206
-rw-r--r--ace/config-tandem-nsk-mips-v2.h424
-rw-r--r--ace/filecache.mpb10
-rw-r--r--ace/other.mpb19
-rw-r--r--ace/svcconf.mpb26
-rw-r--r--ace/token.mpb17
-rw-r--r--ace/uuid.mpb12
-rw-r--r--apps/JAWS3/bench/mkfiles.cpp156
-rw-r--r--apps/JAWS3/bench/rqfiles.cpp271
-rw-r--r--apps/JAWS3/http/HTTP_States.h75
-rw-r--r--apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.cpp82
-rw-r--r--apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.h87
-rw-r--r--apps/JAWS3/jaws3/Asynch_IO_Helpers.h55
-rw-r--r--apps/JAWS3/jaws3/Options.cpp25
-rw-r--r--apps/JAWS3/jaws3/Options.h41
-rw-r--r--apps/JAWS3/jaws3/Reactive_IO_Helpers.h305
-rw-r--r--apps/JAWS3/jaws3/Templates.cpp101
-rw-r--r--apps/JAWS3/jaws3/Timer_Helpers.cpp40
-rw-r--r--apps/JAWS3/jaws3/Timer_Helpers.h45
-rw-r--r--apps/JAWS3/jaws3/jaws3.mpc78
-rw-r--r--apps/JAWS3/small/SS_Templates.cpp23
-rw-r--r--apps/gperf/tests/cpp-res.exp73
-rw-r--r--apps/gperf/tests/cpp.gperf73
-rw-r--r--bin/MakeProjectCreator/config/amh.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ami.mpb7
-rw-r--r--bin/MakeProjectCreator/config/dseventlogadmin.mpb7
-rw-r--r--bin/MakeProjectCreator/config/dsnotifylogadmin.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ec_use_typed_events.mpb8
-rw-r--r--bin/MakeProjectCreator/config/fault_tolerance.mpb8
-rw-r--r--bin/MakeProjectCreator/config/ftrteventchannel.mpb8
-rw-r--r--bin/MakeProjectCreator/config/mfc.mpb7
-rw-r--r--bin/MakeProjectCreator/config/psdl.mpb18
-rw-r--r--bin/MakeProjectCreator/config/rpc.mpb13
-rw-r--r--bin/MakeProjectCreator/config/rteventlogadmin.mpb7
-rw-r--r--bin/MakeProjectCreator/config/ssliop.mpb8
-rw-r--r--bin/MakeProjectCreator/config/taodefaults.mpb8
-rw-r--r--bin/MakeProjectCreator/config/taoidldefaults.mpb8
-rw-r--r--bin/MakeProjectCreator/config/tmcast.mpb9
-rw-r--r--bin/MakeProjectCreator/config/utils.mpb7
-rw-r--r--bin/MakeProjectCreator/config/wfmo.mpb6
-rw-r--r--bin/MakeProjectCreator/config/wxwindows.mpb14
-rw-r--r--bin/MakeProjectCreator/modules/Version.pm30
-rwxr-xr-xbin/msvc_mpc_auto_compile.pl257
-rwxr-xr-xbin/msvc_static_compile.pl314
-rw-r--r--bin/msvc_static_order.lst57
-rw-r--r--etc/ciao.doxygen172
-rw-r--r--etc/ciao_assembly_deployer.doxygen171
-rw-r--r--etc/ciao_componentserver.doxygen171
-rw-r--r--etc/ciao_daemon.doxygen171
-rw-r--r--etc/ciao_serveractivator.doxygen171
-rw-r--r--etc/ciao_xml_helpers.doxygen171
-rw-r--r--etc/tao_ifr.doxygen165
-rw-r--r--examples/APG/Active_Objects/AO.cpp190
-rw-r--r--examples/APG/Active_Objects/AO2.cpp200
-rw-r--r--examples/APG/Active_Objects/Makefile534
-rw-r--r--examples/APG/Active_Objects/active_objects.mpc13
-rw-r--r--examples/APG/Active_Objects/active_objects.mwc3
-rw-r--r--examples/APG/Config/ARGV_Example.cpp62
-rw-r--r--examples/APG/Config/Get_Opt.cpp59
-rw-r--r--examples/APG/Config/Get_Opt_Long.cpp48
-rw-r--r--examples/APG/Config/HASTATUS_export.h54
-rw-r--r--examples/APG/Config/HA_Status.cpp93
-rw-r--r--examples/APG/Config/HA_Status.h85
-rw-r--r--examples/APG/Config/Makefile626
-rw-r--r--examples/APG/Config/config.mpc28
-rw-r--r--examples/APG/Config/config.mwc3
-rw-r--r--examples/APG/Containers/Allocator.cpp108
-rw-r--r--examples/APG/Containers/Array.cpp50
-rw-r--r--examples/APG/Containers/DLList.cpp129
-rw-r--r--examples/APG/Containers/DataElement.h52
-rw-r--r--examples/APG/Containers/Hash_Map.cpp134
-rw-r--r--examples/APG/Containers/Hash_Map_Hash.cpp126
-rw-r--r--examples/APG/Containers/Hash_Map_Hash.h52
-rw-r--r--examples/APG/Containers/KeyType.h28
-rw-r--r--examples/APG/Containers/Makefile1680
-rw-r--r--examples/APG/Containers/Map_Manager.cpp135
-rw-r--r--examples/APG/Containers/Map_Manager_Specialization.cpp170
-rw-r--r--examples/APG/Containers/Queues.cpp130
-rw-r--r--examples/APG/Containers/RB_Tree.cpp158
-rw-r--r--examples/APG/Containers/RB_Tree_Functors.cpp156
-rw-r--r--examples/APG/Containers/RB_Tree_Functors.h32
-rw-r--r--examples/APG/Containers/Sets.cpp134
-rw-r--r--examples/APG/Containers/Stacks.cpp162
-rw-r--r--examples/APG/Containers/containers.mpc86
-rw-r--r--examples/APG/Containers/containers.mwc3
-rw-r--r--examples/APG/Logging/Callback-2.h39
-rw-r--r--examples/APG/Logging/Callback-3.h59
-rw-r--r--examples/APG/Logging/Callback.h15
-rw-r--r--examples/APG/Logging/Change_Instance_Default.cpp37
-rw-r--r--examples/APG/Logging/Change_Mask.cpp29
-rw-r--r--examples/APG/Logging/Howto_Syslog.cpp28
-rw-r--r--examples/APG/Logging/LogManager.h105
-rw-r--r--examples/APG/Logging/Log_Msg_Alt.h19
-rw-r--r--examples/APG/Logging/Makefile36
-rw-r--r--examples/APG/Logging/Simple1.cpp23
-rw-r--r--examples/APG/Logging/Simple2.cpp25
-rw-r--r--examples/APG/Logging/Trace.h151
-rw-r--r--examples/APG/Logging/Trace_Return.cpp39
-rw-r--r--examples/APG/Logging/Use_Callback.cpp20
-rw-r--r--examples/APG/Logging/Use_Callback2.cpp20
-rw-r--r--examples/APG/Logging/Use_LogManager.cpp37
-rw-r--r--examples/APG/Logging/Use_Logger.cpp17
-rw-r--r--examples/APG/Logging/Use_Logging_Server.cpp20
-rw-r--r--examples/APG/Logging/Use_Logging_Strategy.cpp33
-rw-r--r--examples/APG/Logging/Use_Multiple_Sinks.cpp36
-rw-r--r--examples/APG/Logging/Use_Ostream.cpp39
-rw-r--r--examples/APG/Logging/Use_Stderr.cpp39
-rw-r--r--examples/APG/Logging/Use_Syslog.cpp32
-rw-r--r--examples/APG/Logging/Wrap_Macros.cpp36
-rw-r--r--examples/APG/Logging/Wrap_Macros_Alt.cpp18
-rw-r--r--examples/APG/Logging/client.conf1
-rw-r--r--examples/APG/Logging/logging.mpc125
-rw-r--r--examples/APG/Logging/logging.mwc3
-rw-r--r--examples/APG/Logging/logging_strategy.conf1
-rw-r--r--examples/APG/Logging/server.conf3
-rw-r--r--examples/APG/Makefile49
-rw-r--r--examples/APG/Misc_IPC/Makefile14
-rw-r--r--examples/APG/Misc_IPC/UDP_Broadcast.cpp34
-rw-r--r--examples/APG/Misc_IPC/UDP_Multicast.cpp37
-rw-r--r--examples/APG/Misc_IPC/UDP_Unicast.cpp71
-rw-r--r--examples/APG/Misc_IPC/misc_ipc.mpc20
-rw-r--r--examples/APG/Misc_IPC/misc_ipc.mwc3
-rw-r--r--examples/APG/Naming/EMail.h28
-rw-r--r--examples/APG/Naming/Graph.cpp48
-rw-r--r--examples/APG/Naming/Graph.h18
-rw-r--r--examples/APG/Naming/Graphable_Element.cpp13
-rw-r--r--examples/APG/Naming/Graphable_Element.h53
-rw-r--r--examples/APG/Naming/Makefile39
-rw-r--r--examples/APG/Naming/Makefile.netlocal14
-rw-r--r--examples/APG/Naming/Makefile.netlocal_reader14
-rw-r--r--examples/APG/Naming/Makefile.nodelocal14
-rw-r--r--examples/APG/Naming/Makefile.nodelocal_shared14
-rw-r--r--examples/APG/Naming/Makefile.nodelocal_shared_reader17
-rw-r--r--examples/APG/Naming/Name_Binding.h60
-rw-r--r--examples/APG/Naming/Naming_Context.h68
-rw-r--r--examples/APG/Naming/Netlocal.cpp40
-rw-r--r--examples/APG/Naming/Netlocal_reader.cpp23
-rw-r--r--examples/APG/Naming/Nodelocal.cpp37
-rw-r--r--examples/APG/Naming/Nodelocal_shared.cpp43
-rw-r--r--examples/APG/Naming/Nodelocal_shared_reader.cpp23
-rw-r--r--examples/APG/Naming/Temperature_Grapher.cpp81
-rw-r--r--examples/APG/Naming/Temperature_Grapher.h30
-rw-r--r--examples/APG/Naming/Temperature_Grapher_Options.h21
-rw-r--r--examples/APG/Naming/Temperature_Monitor.cpp133
-rw-r--r--examples/APG/Naming/Temperature_Monitor.h29
-rw-r--r--examples/APG/Naming/Temperature_Monitor2.cpp144
-rw-r--r--examples/APG/Naming/Temperature_Monitor2.h36
-rw-r--r--examples/APG/Naming/Temperature_Monitor_Options.h48
-rw-r--r--examples/APG/Naming/Thermometer.h48
-rw-r--r--examples/APG/Naming/naming.mpc42
-rw-r--r--examples/APG/Naming/naming.mwc3
-rw-r--r--examples/APG/Naming/svc.conf1
-rw-r--r--examples/APG/Proactor/HA_Proactive_Status.cpp170
-rw-r--r--examples/APG/Proactor/HA_Proactive_Status.h86
-rw-r--r--examples/APG/Proactor/Makefile12
-rw-r--r--examples/APG/Proactor/proactor.mpc6
-rw-r--r--examples/APG/Proactor/proactor.mwc3
-rw-r--r--examples/APG/Processes/Makefile17
-rw-r--r--examples/APG/Processes/Process_Manager_Death.cpp67
-rw-r--r--examples/APG/Processes/Process_Manager_Spawn.cpp59
-rw-r--r--examples/APG/Processes/Process_Mutex.cpp79
-rw-r--r--examples/APG/Processes/Spawn.cpp205
-rw-r--r--examples/APG/Processes/processes.mpc27
-rw-r--r--examples/APG/Processes/processes.mwc3
-rw-r--r--examples/APG/Reactor/Client.cpp123
-rw-r--r--examples/APG/Reactor/Client.h52
-rw-r--r--examples/APG/Reactor/ClientService.h40
-rw-r--r--examples/APG/Reactor/HAStatus-AC.cpp147
-rw-r--r--examples/APG/Reactor/HAStatus.cpp332
-rw-r--r--examples/APG/Reactor/Makefile27
-rw-r--r--examples/APG/Reactor/Reschedule.cpp83
-rw-r--r--examples/APG/Reactor/Schedule_Timers.cpp65
-rw-r--r--examples/APG/Reactor/Timer_Cancel.cpp106
-rw-r--r--examples/APG/Reactor/Timer_State_Data.cpp153
-rw-r--r--examples/APG/Reactor/Timers.cpp79
-rw-r--r--examples/APG/Reactor/reactor.mpc55
-rw-r--r--examples/APG/Reactor/reactor.mwc3
-rw-r--r--examples/APG/Shared_Memory/Hash_Map.cpp272
-rw-r--r--examples/APG/Shared_Memory/Makefile21
-rw-r--r--examples/APG/Shared_Memory/Malloc.cpp128
-rw-r--r--examples/APG/Shared_Memory/Mem_Map.cpp34
-rw-r--r--examples/APG/Shared_Memory/PI_Malloc.cpp150
-rw-r--r--examples/APG/Shared_Memory/Pool_Growth.cpp268
-rw-r--r--examples/APG/Shared_Memory/Record.h45
-rw-r--r--examples/APG/Shared_Memory/shared_memory.mpc34
-rw-r--r--examples/APG/Shared_Memory/shared_memory.mwc3
-rw-r--r--examples/APG/Signals/Makefile18
-rw-r--r--examples/APG/Signals/SigAction.cpp71
-rw-r--r--examples/APG/Signals/SigGuard.cpp42
-rw-r--r--examples/APG/Signals/SigHandler.cpp59
-rw-r--r--examples/APG/Signals/SigHandlers.cpp53
-rw-r--r--examples/APG/Signals/SigInfo.cpp166
-rw-r--r--examples/APG/Signals/signals.mpc34
-rw-r--r--examples/APG/Signals/signals.mwc3
-rw-r--r--examples/APG/Sockets/Basic.cpp35
-rw-r--r--examples/APG/Sockets/Basic_Robust.cpp136
-rw-r--r--examples/APG/Sockets/Iovec.cpp84
-rw-r--r--examples/APG/Sockets/Makefile14
-rw-r--r--examples/APG/Sockets/Server.cpp94
-rw-r--r--examples/APG/Sockets/sockets.mpc27
-rw-r--r--examples/APG/Sockets/sockets.mwc3
-rw-r--r--examples/APG/Streams/Answerer.cpp403
-rw-r--r--examples/APG/Streams/BasicTask.h144
-rw-r--r--examples/APG/Streams/Command.h40
-rw-r--r--examples/APG/Streams/CommandModule.cpp20
-rw-r--r--examples/APG/Streams/CommandModule.h27
-rw-r--r--examples/APG/Streams/CommandStream.cpp97
-rw-r--r--examples/APG/Streams/CommandStream.h44
-rw-r--r--examples/APG/Streams/CommandTask.cpp153
-rw-r--r--examples/APG/Streams/CommandTask.h39
-rw-r--r--examples/APG/Streams/CommandTasks.cpp221
-rw-r--r--examples/APG/Streams/CommandTasks.h108
-rw-r--r--examples/APG/Streams/EndTask.h27
-rw-r--r--examples/APG/Streams/Makefile1825
-rw-r--r--examples/APG/Streams/Message.h92
-rw-r--r--examples/APG/Streams/MessageInfo.h100
-rw-r--r--examples/APG/Streams/RecordingDevice.h119
-rw-r--r--examples/APG/Streams/RecordingDeviceFactory.cpp25
-rw-r--r--examples/APG/Streams/RecordingDeviceFactory.h22
-rw-r--r--examples/APG/Streams/RecordingDevice_QC.h5
-rw-r--r--examples/APG/Streams/RecordingDevice_Text.cpp197
-rw-r--r--examples/APG/Streams/RecordingDevice_Text.h84
-rw-r--r--examples/APG/Streams/RecordingDevice_USRVM.h5
-rw-r--r--examples/APG/Streams/Util.h92
-rw-r--r--examples/APG/Streams/streams.mpc12
-rw-r--r--examples/APG/Streams/streams.mwc3
-rw-r--r--examples/APG/Svc_Config/HASTATUS_export.h53
-rw-r--r--examples/APG/Svc_Config/HA_Configurable_Server_Dynamic.cpp14
-rw-r--r--examples/APG/Svc_Config/HA_Configurable_Server_Static.cpp18
-rw-r--r--examples/APG/Svc_Config/HA_Status_Dynamic.cpp119
-rw-r--r--examples/APG/Svc_Config/HA_Status_Dynamic.h43
-rw-r--r--examples/APG/Svc_Config/HA_Status_Static.cpp127
-rw-r--r--examples/APG/Svc_Config/HA_Status_Static.h39
-rw-r--r--examples/APG/Svc_Config/Makefile35
-rw-r--r--examples/APG/Svc_Config/Makefile.dynamic22
-rw-r--r--examples/APG/Svc_Config/Makefile.static14
-rw-r--r--examples/APG/Svc_Config/status.ini2
-rw-r--r--examples/APG/Svc_Config/svc.conf.dynamic2
-rw-r--r--examples/APG/Svc_Config/svc.conf.static1
-rw-r--r--examples/APG/Svc_Config/svc_config.mpc22
-rw-r--r--examples/APG/Svc_Config/svc_config.mwc3
-rw-r--r--examples/APG/ThreadManagement/Async_Cancel.cpp69
-rw-r--r--examples/APG/ThreadManagement/Coop_Cancel.cpp53
-rw-r--r--examples/APG/ThreadManagement/ExitHandler.cpp71
-rw-r--r--examples/APG/ThreadManagement/Makefile2098
-rw-r--r--examples/APG/ThreadManagement/Pool.cpp31
-rw-r--r--examples/APG/ThreadManagement/Priorities.cpp70
-rw-r--r--examples/APG/ThreadManagement/SecurityContext.h16
-rw-r--r--examples/APG/ThreadManagement/Signals.cpp82
-rw-r--r--examples/APG/ThreadManagement/Signals2.cpp87
-rw-r--r--examples/APG/ThreadManagement/Start_Hook.cpp65
-rw-r--r--examples/APG/ThreadManagement/State.cpp39
-rw-r--r--examples/APG/ThreadManagement/threadmgmt.mpc62
-rw-r--r--examples/APG/ThreadManagement/threadmgmt.mwc3
-rw-r--r--examples/APG/ThreadPools/Futures.cpp328
-rw-r--r--examples/APG/ThreadPools/LF_ThreadPool.cpp249
-rw-r--r--examples/APG/ThreadPools/Makefile1456
-rw-r--r--examples/APG/ThreadPools/Request_Handler.h31
-rw-r--r--examples/APG/ThreadPools/TP_Reactor.cpp270
-rw-r--r--examples/APG/ThreadPools/Task_ThreadPool.cpp133
-rw-r--r--examples/APG/ThreadPools/ThreadPool.cpp266
-rw-r--r--examples/APG/ThreadPools/threadpools.mpc34
-rw-r--r--examples/APG/ThreadPools/threadpools.mwc3
-rw-r--r--examples/APG/ThreadSafety/Atomic_Op.cpp138
-rw-r--r--examples/APG/ThreadSafety/Barrier.cpp77
-rw-r--r--examples/APG/ThreadSafety/ClientContext.h30
-rw-r--r--examples/APG/ThreadSafety/Makefile1884
-rw-r--r--examples/APG/ThreadSafety/Mutex.cpp54
-rw-r--r--examples/APG/ThreadSafety/RW_Lock.cpp130
-rw-r--r--examples/APG/ThreadSafety/Semaphore.cpp133
-rw-r--r--examples/APG/ThreadSafety/TSS.cpp72
-rw-r--r--examples/APG/ThreadSafety/Tokens.cpp101
-rw-r--r--examples/APG/ThreadSafety/Tokens_Deadlock.cpp68
-rw-r--r--examples/APG/ThreadSafety/threadsafety.mpc55
-rw-r--r--examples/APG/ThreadSafety/threadsafety.mwc3
-rw-r--r--examples/APG/Threads/Activate.cpp33
-rw-r--r--examples/APG/Threads/Condition_Variables.cpp109
-rw-r--r--examples/APG/Threads/Guards.cpp52
-rw-r--r--examples/APG/Threads/Makefile1075
-rw-r--r--examples/APG/Threads/Message_Blocks.cpp40
-rw-r--r--examples/APG/Threads/Message_Queue.cpp172
-rw-r--r--examples/APG/Threads/Message_Receiver.h90
-rw-r--r--examples/APG/Threads/Mutexes.cpp61
-rw-r--r--examples/APG/Threads/threads.mpc41
-rw-r--r--examples/APG/Threads/threads.mwc3
-rw-r--r--examples/APG/Timers/Alarm.cpp62
-rw-r--r--examples/APG/Timers/CB.cpp67
-rw-r--r--examples/APG/Timers/CB.h36
-rw-r--r--examples/APG/Timers/Makefile36
-rw-r--r--examples/APG/Timers/Makefile.singles14
-rw-r--r--examples/APG/Timers/Makefile.timers14
-rw-r--r--examples/APG/Timers/Makefile.upcall14
-rw-r--r--examples/APG/Timers/PCB.cpp75
-rw-r--r--examples/APG/Timers/PCB.h28
-rw-r--r--examples/APG/Timers/PTimerDispatcher.cpp73
-rw-r--r--examples/APG/Timers/PTimerDispatcher.h39
-rw-r--r--examples/APG/Timers/Task.cpp78
-rw-r--r--examples/APG/Timers/TimerDispatcher.cpp77
-rw-r--r--examples/APG/Timers/TimerDispatcher.h40
-rw-r--r--examples/APG/Timers/Timers.cpp57
-rw-r--r--examples/APG/Timers/Upcall.cpp195
-rw-r--r--examples/APG/Timers/Upcall.h87
-rw-r--r--examples/APG/Timers/timers.mpc31
-rw-r--r--examples/APG/Timers/timers.mwc3
-rw-r--r--examples/Bounded_Packet_Relay/Bounded_Packet_Relay.mpc6
-rw-r--r--examples/NT_Service/NT_Service.mpc19
-rw-r--r--examples/Reactor/WFMO_Reactor/APCTest.dsp158
-rw-r--r--examples/Synch/Synch.mpc6
-rw-r--r--examples/TMCast/Member/Member.mpc6
-rw-r--r--include/makeinclude/all_in_one.GNU76
-rw-r--r--include/makeinclude/component_check.GNU16
-rw-r--r--include/makeinclude/platform_macosx_panther.GNU40
-rw-r--r--m4/aio.m4623
-rw-r--r--m4/tls.m4147
-rw-r--r--performance-tests/Misc/Misc.mpc52
-rw-r--r--performance-tests/RPC/RPC.mpc17
-rw-r--r--performance-tests/Server_Concurrency/Leader_Follower/Server_Concurrency_Leader_Follower.mpc14
-rw-r--r--performance-tests/Server_Concurrency/Queue_Based_Workers/Server_Concurrency_Queue_Based_Workers.mpc14
-rw-r--r--performance-tests/Synch-Benchmarks/Base_Test/Synch_Benchmarks_Base_Test.mpc9
-rw-r--r--performance-tests/Synch-Benchmarks/Perf_Test/Synch_Benchmarks_Perf_Test.mpc9
-rw-r--r--performance-tests/Synch-Benchmarks/Synch_Benchmarks.mpc11
-rw-r--r--performance-tests/Synch-Benchmarks/Synch_Lib/Synch_Benchmarks_Synch_Lib.mpc7
-rw-r--r--performance-tests/TCP/TCP.mpc5
-rw-r--r--performance-tests/UDP/UDP.mpc8
-rw-r--r--tests/Bound_Ptr_Test.h87
-rw-r--r--tests/INET_Addr_Test_IPV6.cpp167
-rw-r--r--tests/INET_Addr_Test_IPV6.dsp162
-rw-r--r--tests/Max_Default_Port_Test_IPV6.cpp256
-rw-r--r--tests/Max_Default_Port_Test_IPV6.dsp166
-rw-r--r--tests/Multicast_Test_IPV6.cpp1011
-rw-r--r--tests/Multicast_Test_IPV6.dsp166
-rw-r--r--tests/Multihomed_INET_Addr_Test_IPV6.cpp191
-rw-r--r--tests/Multihomed_INET_Addr_Test_IPV6.dsp162
-rw-r--r--tests/NonBlocking_Conn_Test.h54
-rw-r--r--tests/Proactor_Test_IPV6.cpp2113
-rw-r--r--tests/Proactor_Test_IPV6.dsp107
-rw-r--r--tests/SOCK_Dgram_Test.cpp220
-rw-r--r--tests/SOCK_Send_Recv_Test_IPV6.cpp399
-rw-r--r--tests/SOCK_Send_Recv_Test_IPV6.dsp166
-rw-r--r--tests/SOCK_Test_IPv6.cpp284
-rw-r--r--tests/SOCK_Test_IPv6.dsp166
-rw-r--r--tests/SSL/Makefile.am52
-rw-r--r--tests/TSS_Static_Test.cpp113
-rw-r--r--tests/TSS_Static_Test.dsp165
-rw-r--r--tests/Task_Ex_Test.cpp165
-rw-r--r--tests/Task_Ex_Test.dsp170
-rw-r--r--tests/Task_Ex_Test.h34
-rw-r--r--tests/Task_Ex_Test.icc22
-rw-r--r--tests/aix_hack_for_main.cpp32
1075 files changed, 157477 insertions, 0 deletions
diff --git a/Kokyu/Kokyu.mwc b/Kokyu/Kokyu.mwc
new file mode 100644
index 00000000000..dd297256b34
--- /dev/null
+++ b/Kokyu/Kokyu.mwc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+workspace {
+}
diff --git a/Kokyu/README b/Kokyu/README
new file mode 100644
index 00000000000..2cd0f79a6f4
--- /dev/null
+++ b/Kokyu/README
@@ -0,0 +1,22 @@
+# $Id:
+
+Kokyu is a portable middleware scheduling framework designed to
+provide flexible scheduling and dispatching services within the
+context of higher-level middleware. Kokyu currently provides real-time
+scheduling and dispatching services for TAO's real-time Event Service
+which mediates supplier-consumer relationships between application
+operations. Kokyu also provides a scheduling and dispatching framework
+for threads. This is being used by the TAO RTCORBA 2.0 scheduler
+implementations. For more information, see
+
+ACE_wrappers/Kokyu/docs/Kokyu.html
+
+To build Kokyu on Unix systems, from under $ACE_ROOT/Kokyu do
+
+make
+
+To build Kokyu on Windows, open the workspace
+$ACE_ROOT/Kokyu/Kokyu.dsw and build it.
+
+An mpc file has also been provided - $ACE_ROOT/Kokyu/Kokyu.mpc from
+which IDE specific build files can be generated.
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Makefile b/TAO/CIAO/CCF/CCF/CIDL/Makefile
new file mode 100644
index 00000000000..9773b6a4370
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Makefile
@@ -0,0 +1,20 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -C SemanticGraph $@
+ @$(MAKE) -C SemanticAction $@
+ @$(MAKE) -C Traversal $@
+ @$(MAKE) -f Makefile.archive $@
+
+
+.PHONY: all
+
+all:
+ @$(MAKE) -C SemanticGraph objects
+ @$(MAKE) -C SemanticAction objects
+ @$(MAKE) -C Traversal objects
+ @$(MAKE) -f Makefile.archive
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Makefile.archive.alt b/TAO/CIAO/CCF/CCF/CIDL/Makefile.archive.alt
new file mode 100644
index 00000000000..47043b77347
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Makefile.archive.alt
@@ -0,0 +1,34 @@
+# file : CCF/CIDL/Makefile.archive
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Archive.pre.rules)
+
+cxx_translation_units := LexicalAnalyzer.cpp Parser.cpp
+
+translated_units := SemanticGraph/Composition.o \
+ SemanticGraph/Elements.o \
+ SemanticGraph/Executor.o
+
+translated_units += Traversal/Elements.o \
+ Traversal/Executor.o
+
+translated_units += SemanticAction/Composition.o
+
+translated_units += SemanticAction/Impl/Composition.o \
+ SemanticAction/Impl/Factory.o \
+ SemanticAction/Impl/HomeExecutor.o
+
+module_base := CIDL
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Archive.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile
new file mode 100644
index 00000000000..38306039c3d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile
@@ -0,0 +1,209 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Composition Factory HomeExecutor
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Composition.o .obj/Composition.o .obj/Composition.o .obj/Composition.o: Composition.cpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/Composition.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/CIDL/SemanticAction/Composition.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp ../../../../CCF/CIDL/Token.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Factory.o .obj/Factory.o .obj/Factory.o .obj/Factory.o: Factory.cpp ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Module.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/Factory.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Factory.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Factory.hpp \
+ ../../../../CCF/CompilerElements/Diagnostic.hpp \
+ ../../../../CCF/CompilerElements/ExH.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Union.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticAction/ValueType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Component.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Component.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Uses.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Uses.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Home.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Include.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/Composition.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Composition.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Elements.hpp \
+ ../../../../CCF/CIDL/Token.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/HomeExecutor.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../../../../CCF/CIDL/SemanticAction/HomeExecutor.hpp
+
+.obj/HomeExecutor.o .obj/HomeExecutor.o .obj/HomeExecutor.o .obj/HomeExecutor.o: HomeExecutor.cpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/HomeExecutor.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../../CCF/CIDL/SemanticAction/HomeExecutor.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp ../../../../CCF/CIDL/Token.hpp \
+ ../../../../CCF/CIDL/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile.alt b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile.alt
new file mode 100644
index 00000000000..3f2dcc45f8a
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Impl/Makefile.alt
@@ -0,0 +1,19 @@
+# file : CCF/CIDL/SemanticAction/Impl/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+
+cxx_translation_units := Composition.cpp Factory.cpp HomeExecutor.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile
new file mode 100644
index 00000000000..5c6f8abd6ad
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile
@@ -0,0 +1,15 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -f Makefile.object $@
+ @$(MAKE) -C Impl $@
+
+.PHONY: all
+
+all:
+ @$(MAKE) -f Makefile.object objects
+ @$(MAKE) -C Impl objects
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object
new file mode 100644
index 00000000000..ca60528ae93
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object
@@ -0,0 +1,60 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+MAKEFILE = Makefile.object
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Composition
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Composition.o .obj/Composition.o .obj/Composition.o .obj/Composition.o: Composition.cpp \
+ ../../../CCF/CIDL/SemanticAction/Composition.hpp \
+ ../../../CCF/CIDL/SemanticAction/Elements.hpp \
+ ../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../CCF/IDL2/Token.hpp \
+ ../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../CCF/IDL3/Token.hpp ../../../CCF/CIDL/Token.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object.alt b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object.alt
new file mode 100644
index 00000000000..f88e057dfb5
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticAction/Makefile.object.alt
@@ -0,0 +1,18 @@
+# file : CCF/CIDL/SemanticAction/Makefile.object
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+cxx_translation_units := Composition.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph.hpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph.hpp
new file mode 100644
index 00000000000..9e4d2006029
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph.hpp
@@ -0,0 +1,15 @@
+// file : CCF/CIDL/SemanticGraph.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CIDL_SEMANTIC_GRAPH_HPP
+#define CCF_CIDL_SEMANTIC_GRAPH_HPP
+
+#include "CCF/IDL3/SemanticGraph.hpp"
+
+#include "CCF/CIDL/SemanticGraph/Elements.hpp"
+
+#include "CCF/CIDL/SemanticGraph/Composition.hpp"
+#include "CCF/CIDL/SemanticGraph/Executor.hpp"
+
+#endif // CCF_CIDL_SEMANTIC_GRAPH_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.cpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.cpp
new file mode 100644
index 00000000000..61cd626d02a
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.cpp
@@ -0,0 +1,121 @@
+// file : CCF/CIDL/SemanticGraph/Composition.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CIDL/SemanticGraph/Composition.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+
+ // Composition
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ composition_init_ ()
+ {
+ TypeInfo ti (typeid (Composition));
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo composition_ (composition_init_ ());
+ }
+
+ TypeInfo const& Composition::
+ static_type_info () { return composition_; }
+
+
+ // EntityComposition
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ entity_composition_init_ ()
+ {
+ TypeInfo ti (typeid (EntityComposition));
+ ti.add_base (
+ Access::PUBLIC, true, Composition::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo entity_composition_ (entity_composition_init_ ());
+ }
+
+ TypeInfo const& EntityComposition::
+ static_type_info () { return entity_composition_; }
+
+
+ // ProcessComposition
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ process_composition_init_ ()
+ {
+ TypeInfo ti (typeid (ProcessComposition));
+ ti.add_base (
+ Access::PUBLIC, true, Composition::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo process_composition_ (process_composition_init_ ());
+ }
+
+ TypeInfo const& ProcessComposition::
+ static_type_info () { return process_composition_; }
+
+
+ // ServiceComposition
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ service_composition_init_ ()
+ {
+ TypeInfo ti (typeid (ServiceComposition));
+ ti.add_base (
+ Access::PUBLIC, true, Composition::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo service_composition_ (service_composition_init_ ());
+ }
+
+ TypeInfo const& ServiceComposition::
+ static_type_info () { return service_composition_; }
+
+
+ // SessionComposition
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ session_composition_init_ ()
+ {
+ TypeInfo ti (typeid (SessionComposition));
+ ti.add_base (
+ Access::PUBLIC, true, Composition::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo session_composition_ (session_composition_init_ ());
+ }
+
+ TypeInfo const& SessionComposition::
+ static_type_info () { return session_composition_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.hpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.hpp
new file mode 100644
index 00000000000..62b1e3afa7f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Composition.hpp
@@ -0,0 +1,96 @@
+// file : CCF/CIDL/SemanticGraph/Composition.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CIDL_SEMANTIC_GRAPH_COMPOSITION_HPP
+#define CCF_CIDL_SEMANTIC_GRAPH_COMPOSITION_HPP
+
+#include "CCF/CIDL/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace SemanticGraph
+ {
+ class Composition : public virtual Scope
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Composition ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class EntityComposition : public virtual Composition
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ EntityComposition ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class ProcessComposition : public virtual Composition
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ProcessComposition ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class ServiceComposition : public virtual Composition
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ServiceComposition ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class SessionComposition : public virtual Composition
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ SessionComposition ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_CIDL_SEMANTIC_GRAPH_COMPOSITION_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.cpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.cpp
new file mode 100644
index 00000000000..82220fe9bb7
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.cpp
@@ -0,0 +1,33 @@
+// file : CCF/CIDL/SemanticGraph/Elements.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CIDL/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ implements_init_ ()
+ {
+ TypeInfo ti (typeid (Implements));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo implements_ (implements_init_ ());
+ }
+
+ TypeInfo const& Implements::
+ static_type_info () { return implements_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.hpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.hpp
new file mode 100644
index 00000000000..625221116e7
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Elements.hpp
@@ -0,0 +1,65 @@
+// file : CCF/CIDL/SemanticGraph/Elements.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CIDL_SEMANTIC_GRAPH_ELEMENTS_HPP
+#define CCF_CIDL_SEMANTIC_GRAPH_ELEMENTS_HPP
+
+#include "CCF/IDL3/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace SemanticGraph
+ {
+ using namespace IDL3::SemanticGraph;
+
+
+ class Implements : public virtual Edge
+ {
+ public:
+ Type&
+ implementer () const
+ {
+ return *implementer_;
+ }
+
+ Type&
+ implementee () const
+ {
+ return *implementee_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Implements ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Type& n)
+ {
+ implementer_ = &n;
+ }
+
+ void
+ set_right_node (Type& n)
+ {
+ implementee_ = &n;
+ }
+
+ private:
+ Type* implementer_;
+ Type* implementee_;
+ };
+ }
+ }
+}
+
+#endif // CCF_CIDL_SEMANTIC_GRAPH_ELEMENTS_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.cpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.cpp
new file mode 100644
index 00000000000..f464f0272be
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.cpp
@@ -0,0 +1,76 @@
+// file : CCF/CIDL/SemanticGraph/Executor.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CIDL/SemanticGraph/Executor.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Executor
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ executor_init_ ()
+ {
+ TypeInfo ti (typeid (Executor));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo executor_ (executor_init_ ());
+ }
+
+ TypeInfo const& Executor::
+ static_type_info () { return executor_; }
+
+
+ // ComponentExecutor
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ component_executorinit_ ()
+ {
+ TypeInfo ti (typeid (ComponentExecutor));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo component_executor (component_executorinit_ ());
+ }
+
+ TypeInfo const& ComponentExecutor::
+ static_type_info () { return component_executor; }
+
+
+ // HomeExecutor
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ home_executorinit_ ()
+ {
+ TypeInfo ti (typeid (HomeExecutor));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo home_executor (home_executorinit_ ());
+ }
+
+ TypeInfo const& HomeExecutor::
+ static_type_info () { return home_executor; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.hpp b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.hpp
new file mode 100644
index 00000000000..55f0fa0919c
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Executor.hpp
@@ -0,0 +1,117 @@
+// file : CCF/CIDL/SemanticGraph/Executor.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CIDL_SEMANTIC_GRAPH_EXECUTOR_HPP
+#define CCF_CIDL_SEMANTIC_GRAPH_EXECUTOR_HPP
+
+#include "CCF/IDL3/SemanticGraph/Component.hpp"
+#include "CCF/IDL3/SemanticGraph/Home.hpp"
+#include "CCF/CIDL/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class Executor : public virtual Type
+ {
+ public:
+ Implements&
+ implements () const
+ {
+ return *implements_;
+ }
+
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Executor ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_left (Implements& e)
+ {
+ implements_ = &e;
+ }
+
+ private:
+ Implements* implements_;
+ };
+
+
+ //
+ //
+ //
+ class ComponentExecutor : public virtual Executor
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ComponentExecutor ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class HomeExecutor : public virtual Executor
+ {
+ public:
+ Manages&
+ manages () const
+ {
+ return *manages_;
+ }
+
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ HomeExecutor ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using Executor::add_edge_left;
+
+ void
+ add_edge_left (Manages& e)
+ {
+ manages_ = &e;
+ }
+
+ private:
+ Manages* manages_;
+ };
+
+ }
+ }
+}
+
+#endif // CCF_CIDL_SEMANTIC_GRAPH_EXECUTOR_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile
new file mode 100644
index 00000000000..c959a9a8b3a
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile
@@ -0,0 +1,88 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Composition Elements Executor
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Composition.o .obj/Composition.o .obj/Composition.o .obj/Composition.o: Composition.cpp \
+ ../../../CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Elements.o .obj/Elements.o .obj/Elements.o .obj/Elements.o: Elements.cpp ../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Executor.o .obj/Executor.o .obj/Executor.o .obj/Executor.o: Executor.cpp ../../../CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../CCF/CIDL/SemanticGraph/Elements.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile.alt b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile.alt
new file mode 100644
index 00000000000..6215cddb324
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/SemanticGraph/Makefile.alt
@@ -0,0 +1,18 @@
+# file : CCF/CIDL/SemanticGraph/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+cxx_translation_units := Composition.cpp Elements.cpp Executor.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Traversal/Composition.tpp b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Composition.tpp
new file mode 100644
index 00000000000..8a6ff03e496
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Composition.tpp
@@ -0,0 +1,41 @@
+// file : CCF/CIDL/Traversal/Composition.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace Traversal
+ {
+
+ template <typename T>
+ void CompositionTemplate<T>::
+ traverse (T& c)
+ {
+ pre (c);
+ name (c);
+ names (c);
+ post (c);
+ }
+
+ template <typename T>
+ void CompositionTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template <typename T>
+ void CompositionTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template <typename T>
+ void CompositionTemplate<T>::
+ post (T&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.cpp b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.cpp
new file mode 100644
index 00000000000..23e73c8b563
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.cpp
@@ -0,0 +1,15 @@
+// file : CCF/CIDL/Traversal/Elements.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CIDL/Traversal/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace Traversal
+ {
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.hpp b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.hpp
new file mode 100644
index 00000000000..72ffd2613db
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Elements.hpp
@@ -0,0 +1,36 @@
+// file : CCF/CIDL/Traversal/Elements.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CIDL_TRAVERSAL_ELEMENTS_HPP
+#define CCF_CIDL_TRAVERSAL_ELEMENTS_HPP
+
+#include "CCF/IDL3/Traversal/Elements.hpp"
+
+#include "CCF/CIDL/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace Traversal
+ {
+ using namespace IDL3::Traversal;
+
+ //
+ //
+ //
+ struct Implements : Edge<SemanticGraph::Implements>
+ {
+ virtual void
+ traverse (Type& e)
+ {
+ node_traverser ().traverse (e.implementee ());
+ }
+ };
+
+ }
+ }
+}
+
+#endif // CCF_CIDL_TRAVERSAL_ELEMENTS_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.cpp b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.cpp
new file mode 100644
index 00000000000..efcb9681d66
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.cpp
@@ -0,0 +1,195 @@
+// file : CCF/CIDL/Traversal/Executor.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CIDL/Traversal/Executor.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace Traversal
+ {
+ // Executor
+ //
+ //
+ void Executor::
+ traverse (Type& e)
+ {
+ pre (e);
+ name (e);
+ implements (e);
+ post (e);
+ }
+
+ void Executor::
+ pre (Type&)
+ {
+ }
+
+ void Executor::
+ name (Type&)
+ {
+ }
+
+ void Executor::
+ implements (Type& e, EdgeDispatcherBase& d)
+ {
+ d.traverse (e.implements ());
+ }
+
+ void Executor::
+ implements (Type& e)
+ {
+ implements_pre (e);
+ implements (e, edge_traverser ());
+ implements_post (e);
+ }
+
+ void Executor::
+ implements_pre (Type&)
+ {
+ }
+
+ void Executor::
+ implements_post (Type&)
+ {
+ }
+
+ void Executor::
+ post (Type&)
+ {
+ }
+
+
+ // ComponentExecutor
+ //
+ //
+ void ComponentExecutor::
+ traverse (Type& e)
+ {
+ pre (e);
+ name (e);
+ implements (e);
+ post (e);
+ }
+
+ void ComponentExecutor::
+ pre (Type&)
+ {
+ }
+
+ void ComponentExecutor::
+ name (Type&)
+ {
+ }
+
+ void ComponentExecutor::
+ implements (Type& e, EdgeDispatcherBase& d)
+ {
+ d.traverse (e.implements ());
+ }
+
+ void ComponentExecutor::
+ implements (Type& e)
+ {
+ implements_pre (e);
+ implements (e, edge_traverser ());
+ implements_post (e);
+ }
+
+ void ComponentExecutor::
+ implements_pre (Type&)
+ {
+ }
+
+ void ComponentExecutor::
+ implements_post (Type&)
+ {
+ }
+
+ void ComponentExecutor::
+ post (Type&)
+ {
+ }
+
+
+
+ // HomeExecutor
+ //
+ //
+ void HomeExecutor::
+ traverse (Type& e)
+ {
+ pre (e);
+ name (e);
+ implements (e);
+ manages (e);
+ post (e);
+ }
+
+ void HomeExecutor::
+ pre (Type&)
+ {
+ }
+
+ void HomeExecutor::
+ name (Type&)
+ {
+ }
+
+ void HomeExecutor::
+ implements (Type& e, EdgeDispatcherBase& d)
+ {
+ d.traverse (e.implements ());
+ }
+
+ void HomeExecutor::
+ implements (Type& e)
+ {
+ implements_pre (e);
+ implements (e, edge_traverser ());
+ implements_post (e);
+ }
+
+ void HomeExecutor::
+ implements_pre (Type&)
+ {
+ }
+
+ void HomeExecutor::
+ implements_post (Type&)
+ {
+ }
+
+ void HomeExecutor::
+ manages (Type& e, EdgeDispatcherBase& d)
+ {
+ d.traverse (e.manages ());
+ }
+
+ void HomeExecutor::
+ manages (Type& e)
+ {
+ manages_pre (e);
+ manages (e, edge_traverser ());
+ manages_post (e);
+ }
+
+ void HomeExecutor::
+ manages_pre (Type&)
+ {
+ }
+
+ void HomeExecutor::
+ manages_post (Type&)
+ {
+ }
+
+ void HomeExecutor::
+ post (Type&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.hpp b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.hpp
new file mode 100644
index 00000000000..6bb543aee9d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Executor.hpp
@@ -0,0 +1,125 @@
+// file : CCF/CIDL/Traversal/Executor.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CIDL_TRAVERSAL_EXECUTOR_HPP
+#define CCF_CIDL_TRAVERSAL_EXECUTOR_HPP
+
+#include "CCF/CIDL/SemanticGraph/Executor.hpp"
+
+#include "CCF/CIDL/Traversal/Elements.hpp"
+
+namespace CCF
+{
+ namespace CIDL
+ {
+ namespace Traversal
+ {
+ //
+ //
+ //
+ struct Executor : Node<SemanticGraph::Executor>
+ {
+ virtual void
+ traverse (Type& e);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ implements (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ implements (Type&);
+
+ virtual void
+ implements_pre (Type&);
+
+ virtual void
+ implements_post (Type&);
+
+ virtual void
+ post (Type&);
+ };
+
+
+ //
+ //
+ //
+ struct ComponentExecutor : Node<SemanticGraph::ComponentExecutor>
+ {
+ virtual void
+ traverse (Type& e);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ implements (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ implements (Type&);
+
+ virtual void
+ implements_pre (Type&);
+
+ virtual void
+ implements_post (Type&);
+
+ virtual void
+ post (Type&);
+ };
+
+
+ //
+ //
+ //
+ struct HomeExecutor : Node<SemanticGraph::HomeExecutor>
+ {
+ virtual void
+ traverse (Type& e);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ implements (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ implements (Type&);
+
+ virtual void
+ implements_pre (Type&);
+
+ virtual void
+ implements_post (Type&);
+
+ virtual void
+ manages (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ manages (Type&);
+
+ virtual void
+ manages_pre (Type&);
+
+ virtual void
+ manages_post (Type&);
+
+ virtual void
+ post (Type&);
+ };
+ }
+ }
+}
+
+#endif // CCF_CIDL_TRAVERSAL_EXECUTOR_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Traversal/Makefile b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Makefile
new file mode 100644
index 00000000000..0fbd8c02c53
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CIDL/Traversal/Makefile
@@ -0,0 +1,85 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Elements Executor
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Elements.o .obj/Elements.o .obj/Elements.o .obj/Elements.o: Elements.cpp ../../../CCF/CIDL/Traversal/Elements.hpp \
+ ../../../CCF/IDL3/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp
+
+.obj/Executor.o .obj/Executor.o .obj/Executor.o .obj/Executor.o: Executor.cpp ../../../CCF/CIDL/Traversal/Executor.hpp \
+ ../../../CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../../../CCF/CIDL/Traversal/Elements.hpp \
+ ../../../CCF/IDL3/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/IndentationCxx.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/IndentationCxx.hpp
new file mode 100644
index 00000000000..2772e9ecd2a
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CodeGenerationKit/IndentationCxx.hpp
@@ -0,0 +1,245 @@
+// file : CCF/CodeGenerationKit/IndentationCxx.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_CODE_GENERATION_KIT_INDENTATION_CXX_HPP
+#define CCF_CODE_GENERATION_KIT_INDENTATION_CXX_HPP
+
+#include <deque>
+
+#include "CCF/CodeGenerationKit/IndentationBuffer.hpp"
+
+namespace Indentation
+{
+ class Cxx : public Buffer
+ {
+ public:
+ Cxx (Buffer& out)
+ : out_ (out),
+ indentation_ (0),
+ spaces_ (2),
+ construct_ (OTHER)
+ {
+ }
+
+ virtual
+ ~Cxx () throw () {}
+
+ public:
+ virtual int_type
+ put (char_type c) throw (ExH::System::Exception)
+ {
+ int_type result = traits_type::to_int_type (c);
+
+ try
+ {
+ bool defaulting = false;
+ switch (c)
+ {
+ case '\n':
+ {
+ hold_.push_back (c);
+ break;
+ }
+ case '{':
+ {
+ ensure_new_line ();
+ output_indentation ();
+ result = write (c);
+ ensure_new_line ();
+ indentation_++;
+ break;
+ }
+ case '}':
+ {
+ if (indentation_ > 0) indentation_--;
+
+ // Reduce multiple newlines to one.
+ while (hold_.size () > 1)
+ {
+ Hold::reverse_iterator i = hold_.rbegin ();
+ if (*i == '\n' && *(i + 1) == '\n') hold_.pop_back ();
+ else break;
+ }
+
+ ensure_new_line ();
+ output_indentation ();
+
+ hold_.push_back (c);
+
+ // result = write (c);
+
+ ensure_new_line ();
+
+ break;
+ }
+ case ';':
+ {
+ // Handling '};' case.
+ //
+ if (hold_.size () > 1 && hold_.back () == '\n')
+ {
+ bool pop_nl (false);
+
+ for (Hold::reverse_iterator
+ i (hold_.rbegin ()), e (hold_.rend ()); i != e; ++i)
+ {
+ if (*i != '\n')
+ {
+ if (*i == '}') pop_nl = true;
+ break;
+ }
+ }
+
+ if (pop_nl) while (hold_.back () == '\n') hold_.pop_back ();
+ }
+
+
+ output_indentation ();
+ result = write (c);
+
+ if (construct_ != STRING_LITERAL && construct_ != CHAR_LITERAL)
+ {
+ ensure_new_line ();
+ }
+ break;
+ }
+ case '\\':
+ {
+ hold_.push_back (c);
+ break;
+ }
+ case '\"':
+ {
+ if (hold_.empty () || hold_.back () != '\\')
+ {
+ // not escape sequence
+ if (construct_ == STRING_LITERAL) construct_ = OTHER;
+ else construct_ = STRING_LITERAL;
+ }
+
+ defaulting = true;
+ break;
+ }
+ case '\'':
+ {
+ if (hold_.empty () || hold_.back () != '\\')
+ {
+ // not escape sequence
+ if (construct_ == CHAR_LITERAL) construct_ = OTHER;
+ else construct_ = CHAR_LITERAL;
+ }
+
+ defaulting = true;
+ break;
+ }
+ default:
+ {
+ defaulting = true;
+ break;
+ }
+ }
+
+ if (defaulting)
+ {
+ output_indentation ();
+ result = write (c);
+ }
+ }
+ catch (Full const&)
+ {
+ result = traits_type::eof ();
+ }
+
+ return result;
+ }
+
+ virtual void
+ unbuffer () throw (EndOfStream, ExH::System::Exception)
+ {
+ int_type result;
+
+ while (!hold_.empty ())
+ {
+ result = out_.put (hold_.front ());
+
+ //@@ failed
+ if (result == traits_type::eof ())
+ {
+ throw EndOfStream ("unable to flush buffer");
+ }
+
+ hold_.pop_front ();
+ }
+ }
+
+ private:
+ class Full {};
+
+ void
+ ensure_new_line ()
+ {
+ if (hold_.empty () || hold_.back () != '\n')
+ {
+ hold_.push_back ('\n');
+ }
+ }
+
+
+ void
+ output_indentation () throw (Full)
+ {
+ if (!hold_.empty () && hold_.back () == '\n')
+ {
+ for (unsigned long i = 0; i < indentation_ * spaces_; i++)
+ {
+ write (' ');
+ }
+ }
+ }
+
+ int_type
+ write (char_type c) throw (Full)
+ {
+ hold_.push_back (c);
+
+ int_type result (traits_type::eof ());
+
+ while (!hold_.empty ())
+ {
+ result = out_.put (hold_.front ());
+
+ if (result == traits_type::eof ()) throw Full ();
+
+ hold_.pop_front ();
+ }
+
+ return result;
+ }
+
+
+ private:
+ Buffer& out_;
+ unsigned long indentation_;
+ unsigned long spaces_;
+
+ bool suppress_nl_;
+
+ enum Construct
+ {
+ OTHER,
+ STRING_LITERAL,
+ CHAR_LITERAL
+ };
+
+ Construct construct_;
+
+ typedef
+ std::deque<int_type>
+ Hold;
+
+ Hold hold_;
+ };
+}
+
+#endif // CCF_CODE_GENERATION_KIT_INDENTATION_IDL_HPP
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile b/TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile
new file mode 100644
index 00000000000..8456c2cf3ad
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile
@@ -0,0 +1,58 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../Config.rules
+
+LIBNAME = libCodeGenerationKit
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = CommandLine \
+ CommandLineGrammar \
+ CommandLineParser
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+CPPFLAGS += -I../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/CommandLine.o .obj/CommandLine.o .obj/CommandLine.o .obj/CommandLine.o: CommandLine.cpp \
+ ../../CCF/CodeGenerationKit/CommandLine.hpp
+
+.obj/CommandLineGrammar.o .obj/CommandLineGrammar.o .obj/CommandLineGrammar.o .obj/CommandLineGrammar.o: CommandLineGrammar.cpp \
+ ../../CCF/CodeGenerationKit/CommandLineGrammar.hpp \
+ ../../CCF/CodeGenerationKit/CommandLine.hpp
+
+.obj/CommandLineParser.o .obj/CommandLineParser.o .obj/CommandLineParser.o .obj/CommandLineParser.o: CommandLineParser.cpp \
+ ../../CCF/CodeGenerationKit/CommandLineParser.hpp \
+ ../../CCF/CodeGenerationKit/CommandLine.hpp \
+ ../../CCF/CodeGenerationKit/CommandLineGrammar.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/Makefile b/TAO/CIAO/CCF/CCF/CompilerElements/Makefile
new file mode 100644
index 00000000000..cfc0fd33d6b
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CompilerElements/Makefile
@@ -0,0 +1,56 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../Config.rules
+
+LIBNAME = libCompilerElements
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Introspection \
+ PreprocessorToken \
+ Preprocessor
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+CPPFLAGS += -I../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Introspection.o .obj/Introspection.o .obj/Introspection.o .obj/Introspection.o: Introspection.cpp
+
+.obj/PreprocessorToken.o .obj/PreprocessorToken.o .obj/PreprocessorToken.o .obj/PreprocessorToken.o: PreprocessorToken.cpp \
+ ../../CCF/CompilerElements/PreprocessorToken.hpp
+
+.obj/Preprocessor.o .obj/Preprocessor.o .obj/Preprocessor.o .obj/Preprocessor.o: Preprocessor.cpp \
+ ../../CCF/CompilerElements/Preprocessor.hpp \
+ ../../CCF/CompilerElements/TokenStream.hpp \
+ ../../CCF/CompilerElements/PreprocessorToken.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.cpp b/TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.cpp
new file mode 100644
index 00000000000..feb4e10190f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.cpp
@@ -0,0 +1,837 @@
+// file : CCF/CompilerElements/Preprocessor.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include <deque>
+#include <locale>
+#include <string>
+
+#include "CCF/CompilerElements/Preprocessor.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+using std::string;
+
+namespace CCF
+{
+ namespace CompilerElements
+ {
+ namespace CPP
+ {
+ /*
+ namespace Phase2
+ {
+ class TokenPrototype
+ {
+ public:
+ struct Type
+ {
+ enum Value
+ {
+ punctuation,
+ keyword,
+ identifier
+ eos
+ };
+ };
+
+ TokenPrototype (Type::Value type, string const& lexeme)
+ : type_ (type), lexeme_ (lexeme)
+ {
+ }
+
+ Type::Value
+ type () const
+ {
+ return type_;
+ }
+
+ string
+ lexeme () const
+ {
+ return lexeme_;
+ }
+
+ private:
+ Type::Value type_;
+ string lexeme_;
+ };
+
+ bool
+ operator== (TokenPrototype const& a, TokenPrototype const& b)
+ {
+ return a.type () == b.type () && a.lexeme () == b.lexeme ();
+ }
+
+ class Token : public TokenPrototype
+ {
+ public:
+ Token (Type::Value type,
+ string const& lexeme,
+ unsigned long line)
+ : TokenPrototype (type, lexeme), line_ (line)
+ {
+ }
+
+ unsigned long
+ line () const
+ {
+ return line_;
+ }
+
+ private:
+ unsigned long line_;
+ };
+
+
+ class Scanner : public TokenStream<Token>
+ {
+ public:
+ Scanner (TokenStream<CPP::Token>& is)
+ : is_ (is)
+ {
+ }
+
+ virtual Token
+ next ()
+ {
+ try
+ {
+ InToken t (get_ns ());
+
+ switch (t)
+ {
+ case '#':
+ {
+ return Token (Token::Type::punctuation, "#", t.line ());
+ }
+ case '\n':
+ {
+ return Token (Token::Type::punctuation, "\n", t.line ());
+ }
+ }
+ }
+ catch (EOS const&)
+ {
+ }
+ }
+
+ private:
+ typedef
+ CPP::Token
+ InToken;
+
+ class EOS {};
+
+ InToken
+ get () throw (EOS)
+ {
+ if (ibuffer_.empty ())
+ {
+ InToken t (is_.next ());
+ if (t == InToken::eos) throw EOS ();
+ return t;
+ }
+ else
+ {
+ InToken t (ibuffer_.front ());
+ ibuffer_.pop_front ();
+
+ if (t == InToken::eos) throw EOS ();
+ return t;
+ }
+ }
+
+ // Get first non-space token
+ //
+ InToken
+ get_ns () throw (EOS)
+ {
+ InToken t (get ());
+
+ while (is_space (t)) t = get ();
+ }
+
+ bool
+ is_space (InToken const& t)
+ {
+ return t == ' ' || t == '\t';
+ }
+
+ private:
+ TokenStream<CPP::Token>& is_;
+ std::deque<InTokent> ibuffer_;
+ };
+ }
+ */
+
+ // PreprocessorImpl
+ //
+ //
+ class Preprocessor::PreprocessorImpl : public TokenStream<Token>
+ {
+ public:
+ virtual
+ ~PreprocessorImpl ()
+ {
+ }
+
+ PreprocessorImpl (TokenStream<char>& is)
+ : loc_ ("C"),
+ state_ (State::preprocessing),
+ ln_ (1),
+ is_ (is),
+ dsa_ (copy_)
+ {
+ }
+
+ virtual Token
+ next ()
+ {
+ if (line_.empty ()) scan_line ();
+
+ Token t (line_.front ());
+ line_.pop_front ();
+ return t;
+ }
+
+ private:
+
+ // Line-scanning
+ //
+ //
+
+ class DequeStreamAdapter : public TokenStream<Token>
+ {
+ public:
+ DequeStreamAdapter (std::deque<Token>& d)
+ : d_ (d)
+ {
+ }
+
+ virtual Token
+ next ()
+ {
+ Token t (d_.front ());
+ d_.pop_front ();
+ return t;
+ }
+
+ private:
+ std::deque<Token>& d_;
+ };
+
+ void
+ scan_line ()
+ {
+ bool eos (false);
+
+ while (line_.empty () && !eos)
+ {
+ for (;;)
+ {
+ Token t (next_token ());
+
+ if (t == Token::eos)
+ {
+ eos = true;
+
+ // Add new line if it's missing at the end of line.
+ //
+ if (!line_.empty () && line_.back () != '\n')
+ {
+ //@@ should issue a warning here
+ //
+ line_.push_back (Token ('\n', line_.back ().line ()));
+ }
+ }
+ else
+ {
+ line_.push_back (t);
+ }
+
+ if (eos || t == '\n') break;
+ }
+
+ /*
+ cerr << "line: \'";
+
+ for (std::deque<Token>::iterator
+ i (line_.begin ()), e (line_.end ()); i != e; ++i)
+ {
+ if (*i != Token::eos) cerr << *i;
+ }
+
+ cerr << '\'' << endl;
+ */
+
+ // Check if it is a PP directive
+ //
+
+ if (!line_.empty ())
+ {
+ copy_ = line_;
+ ls_buffer_.clear ();
+ copy_.push_back (Token::eos); // add eos
+
+ try
+ {
+ Token t (ls_get_ns ());
+
+ // cerr << "t = \'" << t << '\'' << endl;
+
+ if (t == '#')
+ {
+ scan_directive ();
+ }
+ }
+ catch (EOS const&)
+ {
+ // cerr << "EOS" << endl;
+
+ // error condition?
+ Token t ('\n', line_.front ().line ());
+ line_.clear ();
+ line_.push_back (t);
+ }
+ }
+ }
+
+ if (eos) line_.push_back (Token::eos);
+ }
+
+
+ void
+ scan_directive ()
+ {
+ Token t (ls_get_ns ());
+
+ string lexeme;
+
+ if (std::isalpha<char> (t, loc_))
+ {
+ for (;std::isalpha<char> (t, loc_); t = ls_get ()) lexeme += t;
+
+ ls_ret (t);
+ }
+
+ // cerr << "lexeme " << lexeme << endl;
+
+ if (lexeme == "include")
+ {
+ scan_include ();
+ }
+ else
+ {
+ // Ingnore any other directive.
+ //
+ Token t ('\n', line_.front ().line ());
+ line_.clear ();
+ line_.push_back (t);
+ }
+ }
+
+ void
+ scan_include ()
+ {
+ Token t (ls_get_ns ());
+
+ char finilizer;
+
+ switch (t)
+ {
+ case '\"':
+ {
+ finilizer = '\"';
+ break;
+
+ }
+ case '<':
+ {
+ finilizer = '>';
+ break;
+ }
+ default:
+ {
+ cerr << t.line () << ": invalid include directive" << endl;
+ throw EOS (); //@@ tmp
+ }
+ }
+
+ string path;
+
+ for (t = ls_get (); t != finilizer && t != '\n'; t = ls_get ())
+ {
+ path += t;
+ }
+
+ if (t != finilizer)
+ {
+ cerr << t.line () << ": invalid include directive" << endl;
+ throw EOS (); // @@ tmp
+ }
+
+ string repl (finilizer == '>' ? "__binclude \"" : "__qinclude \"");
+ repl += path + "\";\n";
+
+ line_.clear ();
+
+ for (string::const_iterator i (repl.begin ()), e (repl.end ());
+ i != e; ++i)
+ {
+ line_.push_back (Token (*i, t.line ()));
+ }
+ }
+
+ // Char-scanning
+ //
+ //
+
+ Token
+ next_token ()
+ {
+ if (!obuffer_.empty ())
+ {
+ Token t (obuffer_.front ());
+ obuffer_.pop_front ();
+ return t;
+ }
+
+ try
+ {
+ switch (state_)
+ {
+ case State::preprocessing:
+ {
+ return preprocessing ();
+ }
+ case State::string_literal:
+ {
+ return string_literal ();
+ }
+ case State::char_literal:
+ {
+ return char_literal ();
+ }
+ }
+ }
+ catch (EOS const&)
+ {
+ }
+
+ return Token::eos;
+ }
+
+ Token
+ preprocessing ()
+ {
+ unsigned long l (ln_);
+ char_type c (get ());
+
+ switch (c)
+ {
+ case '\'':
+ {
+ state_ = State::char_literal;
+ break;
+ }
+ case '\"':
+ {
+ state_ = State::string_literal;
+ break;
+ }
+ case '\\':
+ {
+ return escape ();
+ }
+ case '\n':
+ {
+ ++ln_;
+ break;
+ }
+ case '/':
+ {
+ return slash ();
+ }
+ }
+
+ return Token (c, l);
+ }
+
+
+ Token
+ string_literal ()
+ {
+ unsigned long l (ln_);
+ char_type c (get ());
+
+ switch (c)
+ {
+ case '\"':
+ {
+ state_ = State::preprocessing;
+ break;
+ }
+ case '\\':
+ {
+ return escape ();
+ }
+ case '\n':
+ {
+ ++ln_;
+ break;
+ }
+ }
+
+ return Token (c, l);
+ }
+
+
+ Token
+ char_literal ()
+ {
+ unsigned long l (ln_);
+ char_type c (get ());
+
+ switch (c)
+ {
+ case '\'':
+ {
+ state_ = State::preprocessing;
+ break;
+ }
+ case '\\':
+ {
+ return escape ();
+ }
+ case '\n':
+ {
+ ++ln_;
+ break;
+ }
+ }
+
+ return Token (c, l);
+ }
+
+
+ Token
+ escape ()
+ {
+ try
+ {
+ char_type c (get ());
+
+ switch (c)
+ {
+ case '\n':
+ {
+ ++ln_;
+ return next_token ();
+ }
+ case '\'':
+ {
+ if (state_ != State::char_literal &&
+ state_ != State::string_literal)
+ {
+ state_ = State::char_literal;
+ }
+
+ put (Token ('\'', ln_));
+ return Token ('\\', ln_);
+ }
+ case '\"':
+ {
+ if (state_ != State::char_literal &&
+ state_ != State::string_literal)
+ {
+ state_ = State::string_literal;
+ }
+
+ put (Token ('\"', ln_));
+ return Token ('\\', ln_);
+ }
+ default:
+ {
+ ret (c);
+ return Token ('\\', ln_);
+ }
+ }
+ }
+ catch (EOS const&)
+ {
+ ret_eos ();
+ return Token ('\\', ln_);
+ }
+ }
+
+
+ Token
+ slash ()
+ {
+ unsigned long l (ln_);
+
+ try
+ {
+ char_type c (get ());
+
+ switch (c)
+ {
+ case '*': // C comment
+ {
+ return c_comment ();
+ }
+ case '/': // C++ comment
+ {
+ return cxx_comment ();
+ }
+ default:
+ {
+ ret (c);
+ break;
+ }
+ }
+ }
+ catch (EOS const&)
+ {
+ ret_eos ();
+ }
+
+ return Token ('/', l);
+ }
+
+
+ Token
+ c_comment ()
+ {
+ // Replace the whole C comment with the single space.
+ //
+ unsigned long l (ln_);
+
+ try
+ {
+ char_type c (get ());
+
+ for (bool done (false); !done;)
+ {
+ switch (c)
+ {
+ case '\n':
+ {
+ ++ln_;
+ break;
+ }
+ case '*':
+ {
+ c = get ();
+ if (c == '/') done = true;
+ continue;
+ }
+ }
+
+ c = get ();
+ }
+ }
+ catch (EOS const&)
+ {
+ put (Token::eos);
+ }
+
+ return Token (' ', l);
+ }
+
+
+ Token
+ cxx_comment ()
+ {
+ // Replace the whole C++ comment with the single space.
+ //
+ unsigned long l (ln_);
+
+ try
+ {
+ for (bool done (false); !done;)
+ {
+ char_type c (get ());
+
+ switch (c)
+ {
+ case '\n':
+ {
+ ++ln_;
+ done = true;
+ break;
+ }
+ }
+ }
+ }
+ catch (EOS const&)
+ {
+ put (Token::eos);
+ }
+
+ return Token ('\n', l);
+ }
+
+ // Low-level utility functions.
+ //
+ private:
+ typedef
+ TokenStream<char>::int_type
+ int_type;
+
+ typedef
+ TokenStream<char>::char_type
+ char_type;
+
+ char_type
+ to_char_type (int_type i)
+ {
+ return TokenStream<char>::to_char_type (i);
+ }
+
+ bool
+ eos (int_type i)
+ {
+ return TokenStream<char>::eos () == i;
+ }
+
+ class EOS {};
+
+ char_type
+ get () throw (EOS)
+ {
+ int_type i;
+
+ if (ibuffer_.empty ())
+ {
+ i = is_.next ();
+ }
+ else
+ {
+ i = ibuffer_.front ();
+ ibuffer_.pop_front ();
+ }
+
+ if (eos (i)) throw EOS ();
+
+ return to_char_type (i);
+ }
+
+ void
+ ret (char_type t)
+ {
+ ibuffer_.push_front (t);
+ }
+
+ void
+ ret_eos ()
+ {
+ ibuffer_.push_front (TokenStream<char>::eos ());
+ }
+
+ void
+ put (Token const& t)
+ {
+ obuffer_.push_back (t);
+ }
+
+
+ // line-scanner utility functions
+ //
+ //
+ void
+ ls_ret (Token const& t)
+ {
+ ls_buffer_.push_front (t);
+ }
+
+ Token
+ ls_get () throw (EOS)
+ {
+ if (ls_buffer_.empty ())
+ {
+ Token t (dsa_.next ());
+ if (t == Token::eos) throw EOS ();
+ return t;
+ }
+ else
+ {
+ Token t (ls_buffer_.front ());
+ ls_buffer_.pop_front ();
+
+ if (t == Token::eos) throw EOS ();
+ return t;
+ }
+ }
+
+ // Get first non-space token
+ //
+ Token
+ ls_get_ns () throw (EOS)
+ {
+ Token t (ls_get ());
+
+ while (ls_is_space (t)) t = ls_get ();
+ return t;
+ }
+
+ bool
+ ls_is_space (Token const& t)
+ {
+ return t == ' ' || t == '\t';
+ }
+
+ private:
+ struct State
+ {
+ enum Value
+ {
+ preprocessing,
+ string_literal,
+ char_literal
+ };
+ };
+
+ std::locale loc_;
+
+ State::Value state_;
+ unsigned long ln_;
+
+ TokenStream<char>& is_;
+
+ std::deque<int_type> ibuffer_;
+ std::deque<Token> obuffer_;
+
+ std::deque<Token> line_;
+
+ std::deque<Token> copy_;
+ DequeStreamAdapter dsa_;
+ std::deque<Token> ls_buffer_;
+ };
+
+
+ // Preprocessor
+ //
+ //
+ Preprocessor::
+ ~Preprocessor ()
+ {
+ }
+
+ Preprocessor::
+ Preprocessor (TokenStream<char>& is)
+ : impl_ (new PreprocessorImpl (is))
+ {
+ }
+
+ Token Preprocessor::
+ next ()
+ {
+ return impl_->next ();
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.cpp b/TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.cpp
new file mode 100644
index 00000000000..5f3e629243e
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.cpp
@@ -0,0 +1,57 @@
+// file : CCF/CompilerElements/PreprocessorToken.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CompilerElements/PreprocessorToken.hpp"
+
+namespace CCF
+{
+ namespace CompilerElements
+ {
+ namespace CPP
+ {
+ Token const Token::eos;
+
+ Token::
+ Token (char c, unsigned long line)
+ : c_ (traits::to_int_type (c)), line_ (line)
+ {
+ }
+
+ Token::
+ Token ()
+ : c_ (traits::eof ()), line_ (0)
+ {
+ }
+
+ Token::
+ operator char () const throw (EOS)
+ {
+ if (*this == eos) throw EOS ();
+
+ return traits::to_char_type (c_);
+ }
+
+
+ unsigned long Token::
+ line () const throw (EOS)
+ {
+ if (*this == eos) throw EOS ();
+
+ return line_;
+ }
+
+ bool
+ operator== (Token const& a, Token const& b)
+ {
+ return a.c_ == b.c_;
+ }
+
+ bool
+ operator!= (Token const& a, Token const& b)
+ {
+ return a.c_ != b.c_;
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.hpp
new file mode 100644
index 00000000000..5c82076a01c
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/CompilerElements/PreprocessorToken.hpp
@@ -0,0 +1,58 @@
+// file : CCF/CompilerElements/PreprocessorToken.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_COMPILER_ELEMENTS_PREPROCESSOR_TOKEN_HPP
+#define CCF_COMPILER_ELEMENTS_PREPROCESSOR_TOKEN_HPP
+
+#include <string>
+
+//@@ It is probably a good idea to move preprocessor into a
+// separate library.
+//
+
+namespace CCF
+{
+ namespace CompilerElements
+ {
+ namespace CPP
+ {
+ class Token
+ {
+ public:
+ static Token const eos;
+
+ public:
+ Token (char c, unsigned long line);
+
+ class EOS {};
+
+ operator char () const throw (EOS);
+
+ unsigned long
+ line () const throw (EOS);
+
+ friend bool
+ operator== (Token const& a, Token const& b);
+
+ friend bool
+ operator!= (Token const& a, Token const& b);
+
+ private:
+ // Constructs eos token.
+ //
+ Token ();
+
+ private:
+ typedef
+ std::char_traits<char>
+ traits;
+
+ traits::int_type c_;
+ unsigned long line_;
+ };
+ }
+ }
+}
+
+#endif // CCF_COMPILER_ELEMENTS_PREPROCESSOR_TOKEN_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Makefile b/TAO/CIAO/CCF/CCF/IDL2/Makefile
new file mode 100644
index 00000000000..9773b6a4370
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Makefile
@@ -0,0 +1,20 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -C SemanticGraph $@
+ @$(MAKE) -C SemanticAction $@
+ @$(MAKE) -C Traversal $@
+ @$(MAKE) -f Makefile.archive $@
+
+
+.PHONY: all
+
+all:
+ @$(MAKE) -C SemanticGraph objects
+ @$(MAKE) -C SemanticAction objects
+ @$(MAKE) -C Traversal objects
+ @$(MAKE) -f Makefile.archive
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Makefile.archive.alt b/TAO/CIAO/CCF/CCF/IDL2/Makefile.archive.alt
new file mode 100644
index 00000000000..d2a54081ca8
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Makefile.archive.alt
@@ -0,0 +1,79 @@
+# file : CCF/IDL2/Makefile.archive
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Archive.pre.rules)
+
+
+cxx_translation_units := LexicalAnalyzer.cpp Parser.cpp
+
+
+translated_units := SemanticGraph/Attribute.o \
+ SemanticGraph/Elements.o \
+ SemanticGraph/Enum.o \
+ SemanticGraph/Exception.o \
+ SemanticGraph/Fundamental.o \
+ SemanticGraph/Interface.o \
+ SemanticGraph/Literals.o \
+ SemanticGraph/Member.o \
+ SemanticGraph/Module.o \
+ SemanticGraph/Name.o \
+ SemanticGraph/Native.o \
+ SemanticGraph/Operation.o \
+ SemanticGraph/Sequence.o \
+ SemanticGraph/Struct.o \
+ SemanticGraph/Translation.o \
+ SemanticGraph/TypeId.o \
+ SemanticGraph/Union.o \
+ SemanticGraph/ValueType.o
+
+
+translated_units += Traversal/Attribute.o \
+ Traversal/Elements.o \
+ Traversal/Enum.o \
+ Traversal/Exception.o \
+ Traversal/Fundamental.o \
+ Traversal/Interface.o \
+ Traversal/Member.o \
+ Traversal/Module.o \
+ Traversal/Native.o \
+ Traversal/Operation.o \
+ Traversal/Sequence.o \
+ Traversal/Struct.o \
+ Traversal/Translation.o \
+ Traversal/TypeId.o \
+ Traversal/Union.o \
+ Traversal/ValueType.o
+
+translated_units += SemanticAction/Operation.o
+
+translated_units += SemanticAction/Impl/Attribute.o \
+ SemanticAction/Impl/Elements.o \
+ SemanticAction/Impl/Enum.o \
+ SemanticAction/Impl/Exception.o \
+ SemanticAction/Impl/Factory.o \
+ SemanticAction/Impl/Include.o \
+ SemanticAction/Impl/Interface.o \
+ SemanticAction/Impl/Member.o \
+ SemanticAction/Impl/Module.o \
+ SemanticAction/Impl/Native.o \
+ SemanticAction/Impl/Operation.o \
+ SemanticAction/Impl/Struct.o \
+ SemanticAction/Impl/TypeId.o \
+ SemanticAction/Impl/Typedef.o \
+ SemanticAction/Impl/Union.o \
+ SemanticAction/Impl/ValueType.o
+
+module_base := IDL2
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Archive.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Enum.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Enum.hpp
new file mode 100644
index 00000000000..c0822d44470
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Enum.hpp
@@ -0,0 +1,31 @@
+// file : CCF/IDL2/SemanticAction/Enum.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_ENUM_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_ENUM_HPP
+
+#include "CCF/IDL2/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ struct Enum
+ {
+ virtual void
+ begin (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ enumerator (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ end () = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_ENUM_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Exception.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Exception.hpp
new file mode 100644
index 00000000000..02230082b49
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Exception.hpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL2/SemanticAction/Exception.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_EXCEPTION_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_EXCEPTION_HPP
+
+#include "CCF/IDL2/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ struct Exception : Scope
+ {
+ virtual void
+ begin (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ open_scope () = 0;
+
+ virtual void
+ close_scope () = 0;
+
+ virtual void
+ end () = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_EXCEPTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Elements.tpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Elements.tpp
new file mode 100644
index 00000000000..13d4e8905d4
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Elements.tpp
@@ -0,0 +1,94 @@
+// file : CCF/IDL2/SemanticAction/Impl/Elements.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ template <typename T>
+ T& Base::
+ resolve (SemanticGraph::ScopedName const& from,
+ SemanticGraph::Name const& name,
+ Flags::Value flags)
+ throw (NotFound, NotUnique, WrongType, NotDefined, NotComplete)
+ {
+ using namespace SemanticGraph;
+
+ try
+ {
+ Nameables nodes (Impl::resolve (ctx.tu (), from, name));
+
+
+ if (nodes.size () != 1) throw NotUnique ();
+
+ Nameable& node (**(nodes.begin ()));
+
+ try
+ {
+ T& t (dynamic_cast<T&> (node));
+
+ if (flags & Flags::defined)
+ {
+ if (!t.defined ()) throw NotDefined (node.scoped_name ());
+ }
+
+ if (flags & Flags::complete)
+ {
+ SemanticGraph::Type& type (
+ dynamic_cast<SemanticGraph::Type&> (t));
+
+ if (!type.complete ())
+ {
+ throw NotComplete (node.scoped_name ());
+ }
+ }
+
+ return t;
+ }
+ catch (std::bad_cast const&)
+ {
+ throw WrongType (node.scoped_name ());
+ }
+ }
+ catch (Impl::NotFound const&)
+ {
+ throw NotFound ();
+ }
+ }
+
+ template<typename I>
+ void Base::
+ check_inheritance (I begin, I end, SemanticGraph::Nameable& t)
+ throw (AlreadyInherited)
+ {
+ for (;begin != end; ++begin)
+ {
+ if ((**begin).inheritee () == t)
+ {
+ throw AlreadyInherited (t.scoped_name ());
+ }
+ }
+ }
+
+ template<typename I>
+ void Base::
+ check_support (I begin, I end, SemanticGraph::Nameable& t)
+ throw (AlreadySupported)
+ {
+ for (;begin != end; ++begin)
+ {
+ if ((**begin).supportee () == t)
+ {
+ throw AlreadySupported (t.scoped_name ());
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp
new file mode 100644
index 00000000000..a87d87470b2
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp
@@ -0,0 +1,69 @@
+// file : CCF/IDL2/SemanticAction/Impl/Enum.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticAction/Impl/Enum.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ Enum::
+ Enum (Context& c)
+ : Base (c)
+ {
+ }
+
+ void Enum::
+ begin (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "enum " << id << endl;
+
+ type_ = 0;
+
+ SimpleName name (id->lexeme ());
+
+ //@@ Need to check for redeclaration of the name.
+ //
+
+ type_ = &ctx.tu ().new_node<SemanticGraph::Enum> ();
+ ctx.tu ().new_edge<Defines> (ctx.scope (), *type_, name);
+ }
+
+ void Enum::
+ enumerator (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "enumerator " << id << endl;
+
+ //@@ Need to check for redeclaration of the name.
+ //
+
+ SimpleName name (id->lexeme ());
+
+ if (type_ != 0)
+ {
+ Enumerator& e (ctx.tu ().new_node<Enumerator> ());
+ ctx.tu ().new_edge<Belongs> (e, *type_);
+ }
+ }
+
+ void Enum::
+ end ()
+ {
+ if (ctx.trace ()) cerr << "end" << endl;
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.hpp
new file mode 100644
index 00000000000..df25fb0455f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.hpp
@@ -0,0 +1,41 @@
+// file : CCF/IDL2/SemanticAction/Impl/Enum.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_IMPL_ENUM_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_IMPL_ENUM_HPP
+
+#include "CCF/IDL2/SemanticGraph/Enum.hpp"
+#include "CCF/IDL2/SemanticAction/Enum.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ struct Enum : SemanticAction::Enum, Base
+ {
+ Enum (Context& c);
+
+ virtual void
+ begin (SimpleIdentifierPtr const& id);
+
+ virtual void
+ enumerator (SimpleIdentifierPtr const& id);
+
+ virtual void
+ end ();
+
+ private:
+ SemanticGraph::Enum* type_;
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_IMPL_ENUM_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.cpp
new file mode 100644
index 00000000000..5fb70498011
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.cpp
@@ -0,0 +1,69 @@
+// file : CCF/IDL2/SemanticAction/Impl/Exception.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticAction/Impl/Exception.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ Exception::
+ Exception (Context& c)
+ : ScopeBase<SemanticGraph::Exception> (c)
+ {
+ }
+
+ void Exception::
+ begin (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "exception " << id << endl;
+
+ SimpleName name (id->lexeme ());
+
+ //@@ Need to check for redeclaration of the name. Can not
+ // do that because I don't have mechanism for throwing
+ // exception from SA.
+ //
+ now (ctx.tu ().new_node<SemanticGraph::Exception> ());
+ ctx.tu ().new_edge<Defines> (ctx.scope (), now (), name);
+ }
+
+ void Exception::
+ open_scope ()
+ {
+ if (ctx.trace ()) cerr << "scope open" << endl;
+
+ push (ctx.scope ());
+ ctx.scope (now ());
+ }
+
+ void Exception::
+ close_scope ()
+ {
+ ctx.scope (top ());
+ pop ();
+
+ if (ctx.trace ()) cerr << "scope close" << endl;
+ }
+
+ void Exception::
+ end ()
+ {
+ if (ctx.trace ()) cerr << "end" << endl;
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.hpp
new file mode 100644
index 00000000000..6ed44048b36
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Exception.hpp
@@ -0,0 +1,42 @@
+// file : CCF/IDL2/SemanticAction/Impl/Exception.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_IMPL_EXCEPTION_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_IMPL_EXCEPTION_HPP
+
+#include "CCF/IDL2/SemanticGraph/Exception.hpp"
+#include "CCF/IDL2/SemanticAction/Exception.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ struct Exception : SemanticAction::Exception,
+ ScopeBase<SemanticGraph::Exception>
+ {
+ Exception (Context& c);
+
+ virtual void
+ begin (SimpleIdentifierPtr const& id);
+
+ virtual void
+ open_scope ();
+
+ virtual void
+ close_scope ();
+
+ virtual void
+ end ();
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_IMPL_EXCEPTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile
new file mode 100644
index 00000000000..22763586c43
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile
@@ -0,0 +1,427 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Attribute \
+ Elements \
+ Enum \
+ Exception \
+ Factory \
+ Include \
+ Interface \
+ Member \
+ Module \
+ Native \
+ Operation \
+ Struct \
+ TypeId \
+ Typedef \
+ Union \
+ ValueType
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Attribute.o .obj/Attribute.o .obj/Attribute.o .obj/Attribute.o: Attribute.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Elements.o .obj/Elements.o .obj/Elements.o .obj/Elements.o: Elements.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Enum.o .obj/Enum.o .obj/Enum.o .obj/Enum.o: Enum.cpp ../../../../CCF/IDL2/SemanticAction/Impl/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Exception.o .obj/Exception.o .obj/Exception.o .obj/Exception.o: Exception.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Factory.o .obj/Factory.o .obj/Factory.o .obj/Factory.o: Factory.cpp ../../../../CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Factory.hpp \
+ ../../../../CCF/CompilerElements/Diagnostic.hpp \
+ ../../../../CCF/CompilerElements/ExH.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Module.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Union.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticAction/ValueType.hpp
+
+.obj/Include.o .obj/Include.o .obj/Include.o .obj/Include.o: Include.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Interface.o .obj/Interface.o .obj/Interface.o .obj/Interface.o: Interface.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Member.o .obj/Member.o .obj/Member.o .obj/Member.o: Member.cpp ../../../../CCF/IDL2/SemanticAction/Impl/Member.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Member.hpp
+
+.obj/Module.o .obj/Module.o .obj/Module.o .obj/Module.o: Module.cpp ../../../../CCF/IDL2/SemanticAction/Impl/Module.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Module.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Native.o .obj/Native.o .obj/Native.o .obj/Native.o: Native.cpp ../../../../CCF/IDL2/SemanticGraph/Native.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Operation.o .obj/Operation.o .obj/Operation.o .obj/Operation.o: Operation.cpp \
+ ../../../../CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Struct.o .obj/Struct.o .obj/Struct.o .obj/Struct.o: Struct.cpp ../../../../CCF/IDL2/SemanticAction/Impl/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/TypeId.o .obj/TypeId.o .obj/TypeId.o .obj/TypeId.o: TypeId.cpp ../../../../CCF/IDL2/SemanticAction/Impl/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Module.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp
+
+.obj/Typedef.o .obj/Typedef.o .obj/Typedef.o .obj/Typedef.o: Typedef.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Sequence.hpp
+
+.obj/Union.o .obj/Union.o .obj/Union.o .obj/Union.o: Union.cpp ../../../../CCF/IDL2/SemanticAction/Impl/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Union.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Fundamental.hpp
+
+.obj/ValueType.o .obj/ValueType.o .obj/ValueType.o .obj/ValueType.o: ValueType.cpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile.alt b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile.alt
new file mode 100644
index 00000000000..211332ba2c4
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Makefile.alt
@@ -0,0 +1,35 @@
+# file : CCF/IDL2/SemanticAction/Impl/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+# Factory.cpp
+
+cxx_translation_units := Attribute.cpp \
+ Enum.cpp \
+ Elements.cpp \
+ Exception.cpp \
+ Factory.cpp \
+ Include.cpp \
+ Interface.cpp \
+ Member.cpp \
+ Module.cpp \
+ Native.cpp \
+ Operation.cpp \
+ Struct.cpp \
+ TypeId.cpp \
+ Typedef.cpp \
+ Union.cpp \
+ ValueType.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.cpp
new file mode 100644
index 00000000000..bb4cf12b9af
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.cpp
@@ -0,0 +1,50 @@
+// file : CCF/IDL2/SemanticAction/Impl/Native.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Native.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Native.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ Native::
+ Native (Context& c)
+ : Base (c)
+ {
+ }
+
+ void Native::
+ name (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "native " << id << endl;
+
+ SimpleName name (id->lexeme ());
+
+ SemanticGraph::Native& n (
+ ctx.tu ().new_node<SemanticGraph::Native> ());
+
+ ctx.tu ().new_edge<Defines> (ctx.scope (), n, name);
+ }
+
+ void Native::
+ end ()
+ {
+ if (ctx.trace ()) cerr << "end" << endl;
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.hpp
new file mode 100644
index 00000000000..52875c58862
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Native.hpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL2/SemanticAction/Impl/Native.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_IMPL_NATIVE_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_IMPL_NATIVE_HPP
+
+#include "CCF/IDL2/SemanticAction/Native.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ struct Native : SemanticAction::Native, Base
+ {
+ Native (Context& c);
+
+ virtual void
+ name (SimpleIdentifierPtr const& id);
+
+ virtual void
+ end ();
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_IMPL_NATIVE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.cpp
new file mode 100644
index 00000000000..b7c3d93eba8
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.cpp
@@ -0,0 +1,209 @@
+// file : CCF/IDL2/SemanticAction/Impl/Union.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticAction/Impl/Union.hpp"
+
+#include "CCF/IDL2/SemanticGraph/Enum.hpp"
+#include "CCF/IDL2/SemanticGraph/Fundamental.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ Union::
+ Union (Context& c)
+ : ScopeBase<SemanticGraph::Union> (c)
+ {
+ }
+
+ void Union::
+ begin_def (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "union def " << id << endl;
+
+ SimpleName name (id->lexeme ());
+
+ if (Nameable* s = lookup (ctx.tu (), ctx.scope (), name))
+ {
+ now (dynamic_cast<SemanticGraph::Union&>(*s));
+ }
+ else
+ {
+ now (ctx.tu ().new_node<SemanticGraph::Union> ());
+ }
+
+ ctx.tu ().new_edge<Defines> (ctx.scope (), now (), name);
+ }
+
+ void Union::
+ begin_fwd (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "union fwd " << id << endl;
+
+ SimpleName name (id->lexeme ());
+
+ if (Nameable* s = lookup (ctx.tu (), ctx.scope (), name))
+ {
+ now (dynamic_cast<SemanticGraph::Union&>(*s));
+ }
+ else
+ {
+ now (ctx.tu ().new_node<SemanticGraph::Union> ());
+ }
+
+ ctx.tu ().new_edge<Mentions> (ctx.scope (), now (), name);
+ }
+
+ void Union::
+ type (IdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "type " << id << endl;
+
+ type_ = 0;
+
+ Name name (id->lexeme ());
+ ScopedName from (ctx.scope ().scoped_name ());
+
+ try
+ {
+ try
+ {
+ type_ = &resolve<Type> (from, name);
+
+ if (!(dynamic_cast<Enum*> (type_) ||
+ dynamic_cast<Boolean*> (type_) ||
+ dynamic_cast<Char*> (type_) ||
+ dynamic_cast<Wchar*> (type_) ||
+ dynamic_cast<Short*> (type_) ||
+ dynamic_cast<UnsignedShort*> (type_) ||
+ dynamic_cast<Long*> (type_) ||
+ dynamic_cast<UnsignedLong*> (type_) ||
+ dynamic_cast<LongLong*> (type_) ||
+ dynamic_cast<UnsignedLongLong*> (type_)))
+ {
+ throw WrongType (type_->scoped_name ());
+ }
+
+ ctx.tu ().new_edge<Specialized> (now (), *type_);
+ }
+ catch (Resolve const&)
+ {
+ cerr << "error: invalid union declaration" << endl;
+ throw;
+ }
+ }
+ catch (NotFound const&)
+ {
+ cerr << "no type with name \'" << name
+ << "\' visible from scope \'" << from << "\'" << endl;
+ }
+ catch (WrongType const&)
+ {
+ cerr << "declaration with name \'" << name
+ << "\' visible from scope \'" << from
+ << "\' is not a valid discriminant type" << endl;
+ }
+ }
+
+ void Union::
+ open_scope ()
+ {
+ if (ctx.trace ()) cerr << "scope open" << endl;
+
+ push (ctx.scope ());
+ ctx.scope (now ());
+ }
+
+ void Union::
+ member_type (IdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "type " << id << endl;
+
+ member_type_ = 0;
+
+ Name name (id->lexeme ());
+ ScopedName from (ctx.scope ().scoped_name ());
+
+ try
+ {
+ try
+ {
+ member_type_ = &resolve<Type> (from, name, Flags::complete);
+ }
+ catch (Resolve const&)
+ {
+ cerr << "error: invalid union member declaration" << endl;
+ throw;
+ }
+
+ //@@ I am not handling NotUnique here. For example if
+ // I provide module name as type then the compiler
+ // will ICE. Think about other places it may happen
+ // (attribute, value memebr, typeded, others?).
+ //
+ }
+ catch (NotFound const&)
+ {
+ cerr << "no type with name \'" << name
+ << "\' visible from scope \'" << from << "\'" << endl;
+ }
+ catch (WrongType const&)
+ {
+ cerr << "declaration with name \'" << name
+ << "\' visible from scope \'" << from
+ << "\' is not a type declaration" << endl;
+ cerr << "using non-type as an member type is illegal" << endl;
+ }
+ catch (NotComplete const& e)
+ {
+ cerr << "type \'" << e.name () << "\' is not complete" << endl;
+ }
+ }
+
+ void Union::
+ member_name (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "name " << id << endl;
+
+ if (member_type_)
+ {
+ SimpleName name (id->lexeme ());
+
+ SemanticGraph::UnionMember& m (
+ ctx.tu ().new_node<SemanticGraph::UnionMember> ());
+
+ ctx.tu ().new_edge<Belongs> (m, *member_type_);
+ ctx.tu ().new_edge<Defines> (ctx.scope (), m, name);
+ }
+ }
+
+ void Union::
+ close_scope ()
+ {
+ ctx.scope (top ());
+ pop ();
+
+ if (ctx.trace ()) cerr << "scope close" << endl;
+ }
+
+ void Union::
+ end ()
+ {
+ if (ctx.trace ()) cerr << "end" << endl;
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.hpp
new file mode 100644
index 00000000000..8ab8022c62a
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Union.hpp
@@ -0,0 +1,57 @@
+// file : CCF/IDL2/SemanticAction/Impl/Union.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_IMPL_UNION_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_IMPL_UNION_HPP
+
+#include "CCF/IDL2/SemanticGraph/Union.hpp"
+#include "CCF/IDL2/SemanticAction/Union.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ struct Union : SemanticAction::Union, ScopeBase<SemanticGraph::Union>
+ {
+ Union (Context& c);
+
+ virtual void
+ begin_def (SimpleIdentifierPtr const& id);
+
+ virtual void
+ begin_fwd (SimpleIdentifierPtr const& id);
+
+ virtual void
+ type (IdentifierPtr const& id);
+
+ virtual void
+ open_scope ();
+
+ virtual void
+ member_type (IdentifierPtr const& id);
+
+ virtual void
+ member_name (SimpleIdentifierPtr const& id);
+
+ virtual void
+ close_scope ();
+
+ virtual void
+ end ();
+
+ private:
+ SemanticGraph::Type* type_;
+ SemanticGraph::Type* member_type_;
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_IMPL_UNION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.cpp
new file mode 100644
index 00000000000..63b0a4d84de
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.cpp
@@ -0,0 +1,146 @@
+// file : CCF/IDL2/SemanticAction/Impl/ValueType.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticAction/Impl/ValueType.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ ValueType::
+ ValueType (Context& c)
+ : ScopeBase<SemanticGraph::ValueType> (c)
+ {
+ }
+
+ void ValueType::
+ begin_abstract_def (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "abstract valuetype def " << id << endl;
+
+ qualifier_ = Qualifier::abstract;
+
+ SimpleName name (id->lexeme ());
+
+ if (Nameable* s = lookup (ctx.tu (), ctx.scope (), name))
+ {
+ now (dynamic_cast<AbstractValueType&>(*s));
+ }
+ else
+ {
+ now (ctx.tu ().new_node<AbstractValueType> ());
+ }
+
+ ctx.tu ().new_edge<Defines> (ctx.scope (), now (), name);
+ }
+
+ void ValueType::
+ begin_abstract_fwd (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "abstract valuetype fwd " << id << endl;
+
+ SimpleName name (id->lexeme ());
+
+ if (Nameable* s = lookup (ctx.tu (), ctx.scope (), name))
+ {
+ now (dynamic_cast<AbstractValueType&>(*s));
+ }
+ else
+ {
+ now (ctx.tu ().new_node<AbstractValueType> ());
+ }
+
+ ctx.tu ().new_edge<Mentions> (ctx.scope (), now (), name);
+ }
+
+ void ValueType::
+ begin_concrete_def (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "concrete valuetype def " << id << endl;
+
+ qualifier_ = Qualifier::concrete;
+
+ SimpleName name (id->lexeme ());
+
+ if (Nameable* s = lookup (ctx.tu (), ctx.scope (), name))
+ {
+ now (dynamic_cast<ConcreteValueType&>(*s));
+ }
+ else
+ {
+ now (ctx.tu ().new_node<ConcreteValueType> ());
+ }
+
+ ctx.tu ().new_edge<Defines> (ctx.scope (), now (), name);
+ }
+
+ void ValueType::
+ begin_concrete_fwd (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "concrete valuetype fwd " << id << endl;
+
+ SimpleName name (id->lexeme ());
+
+ if (Nameable* s = lookup (ctx.tu (), ctx.scope (), name))
+ {
+ now (dynamic_cast<ConcreteValueType&>(*s));
+ }
+ else
+ {
+ now (ctx.tu ().new_node<ConcreteValueType> ());
+ }
+
+ ctx.tu ().new_edge<Mentions> (ctx.scope (), now (), name);
+ }
+
+ void ValueType::
+ inherits (IdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "inherits " << id << endl;
+ }
+
+ void ValueType::
+ supports (IdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "supports " << id << endl;
+ }
+
+ void ValueType::
+ open_scope ()
+ {
+ if (ctx.trace ()) cerr << "scope open" << endl;
+
+ push (ctx.scope ());
+ ctx.scope (now ());
+ }
+
+ void ValueType::
+ close_scope ()
+ {
+ ctx.scope (top ());
+ pop ();
+
+ if (ctx.trace ()) cerr << "scope close" << endl;
+ }
+
+ void ValueType::
+ end ()
+ {
+ if (ctx.trace ()) cerr << "end" << endl;
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.hpp
new file mode 100644
index 00000000000..da0bea59a84
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/ValueType.hpp
@@ -0,0 +1,65 @@
+// file : CCF/IDL2/SemanticAction/Impl/ValueType.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_IMPL_VALUE_TYPE_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_IMPL_VALUE_TYPE_HPP
+
+#include "CCF/IDL2/SemanticGraph/ValueType.hpp"
+#include "CCF/IDL2/SemanticAction/ValueType.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ struct ValueType : SemanticAction::ValueType,
+ ScopeBase<SemanticGraph::ValueType>
+ {
+ ValueType (Context& c);
+
+ virtual void
+ begin_abstract_def (SimpleIdentifierPtr const& id);
+
+ virtual void
+ begin_abstract_fwd (SimpleIdentifierPtr const& id);
+
+ virtual void
+ begin_concrete_def (SimpleIdentifierPtr const& id);
+
+ virtual void
+ begin_concrete_fwd (SimpleIdentifierPtr const& id);
+
+ virtual void
+ inherits (IdentifierPtr const& id);
+
+ virtual void
+ supports (IdentifierPtr const& id);
+
+ virtual void
+ open_scope ();
+
+ virtual void
+ close_scope ();
+
+ virtual void
+ end ();
+
+ private:
+ struct Qualifier
+ {
+ enum Value { abstract, concrete };
+ };
+
+ Qualifier::Value qualifier_;
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_IMPL_VALUE_TYPE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile
new file mode 100644
index 00000000000..5c6f8abd6ad
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile
@@ -0,0 +1,15 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -f Makefile.object $@
+ @$(MAKE) -C Impl $@
+
+.PHONY: all
+
+all:
+ @$(MAKE) -f Makefile.object objects
+ @$(MAKE) -C Impl objects
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object
new file mode 100644
index 00000000000..0db0f8e0e64
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object
@@ -0,0 +1,56 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+MAKEFILE = Makefile.object
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Operation
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Operation.o .obj/Operation.o .obj/Operation.o .obj/Operation.o: Operation.cpp ../../../CCF/IDL2/SemanticAction/Operation.hpp \
+ ../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../CCF/IDL2/Token.hpp \
+ ../../../CCF/CompilerElements/ReferenceCounting.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object.alt b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object.alt
new file mode 100644
index 00000000000..566c5a7c576
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Makefile.object.alt
@@ -0,0 +1,19 @@
+# file : CCF/IDL2/SemanticAction/Makefile.object
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+
+cxx_translation_units := Operation.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Native.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Native.hpp
new file mode 100644
index 00000000000..ed7fd4422f5
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Native.hpp
@@ -0,0 +1,28 @@
+// file : CCF/IDL2/SemanticAction/Native.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_NATIVE_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_NATIVE_HPP
+
+#include "CCF/IDL2/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ struct Native
+ {
+ virtual void
+ name (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ end () = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_NATIVE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Union.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Union.hpp
new file mode 100644
index 00000000000..dac2297294d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Union.hpp
@@ -0,0 +1,49 @@
+// file : CCF/IDL2/SemanticAction/Union.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_UNION_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_UNION_HPP
+
+#include "CCF/IDL2/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ struct Union : Scope
+ {
+ virtual void
+ begin_def (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ begin_fwd (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ type (IdentifierPtr const& id) = 0;
+
+ //@@ Scope declares these functions. Why do I need to
+ // repeat it here?
+ //
+ virtual void
+ open_scope () = 0;
+
+ virtual void
+ member_type (IdentifierPtr const& id) = 0;
+
+ virtual void
+ member_name (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ close_scope () = 0;
+
+ virtual void
+ end () = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_UNION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/ValueType.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/ValueType.hpp
new file mode 100644
index 00000000000..9d990567778
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/ValueType.hpp
@@ -0,0 +1,49 @@
+// file : CCF/IDL2/SemanticAction/ValueType.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_ACTION_VALUE_TYPE_HPP
+#define CCF_IDL2_SEMANTIC_ACTION_VALUE_TYPE_HPP
+
+#include "CCF/IDL2/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticAction
+ {
+ struct ValueType : Scope
+ {
+ virtual void
+ begin_abstract_def (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ begin_abstract_fwd (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ begin_concrete_def (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ begin_concrete_fwd (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ inherits (IdentifierPtr const& id) = 0;
+
+ virtual void
+ supports (IdentifierPtr const& id) = 0;
+
+ virtual void
+ open_scope () = 0;
+
+ virtual void
+ close_scope () = 0;
+
+ virtual void
+ end () = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_ACTION_VALUE_TYPE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph.hpp
new file mode 100644
index 00000000000..99788395938
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph.hpp
@@ -0,0 +1,28 @@
+// file : CCF/IDL2/SemanticGraph.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+#include "CCF/IDL2/SemanticGraph/Attribute.hpp"
+#include "CCF/IDL2/SemanticGraph/Enum.hpp"
+#include "CCF/IDL2/SemanticGraph/Exception.hpp"
+#include "CCF/IDL2/SemanticGraph/Fundamental.hpp"
+#include "CCF/IDL2/SemanticGraph/Interface.hpp"
+#include "CCF/IDL2/SemanticGraph/Literals.hpp"
+#include "CCF/IDL2/SemanticGraph/Member.hpp"
+#include "CCF/IDL2/SemanticGraph/Module.hpp"
+#include "CCF/IDL2/SemanticGraph/Name.hpp"
+#include "CCF/IDL2/SemanticGraph/Native.hpp"
+#include "CCF/IDL2/SemanticGraph/Operation.hpp"
+#include "CCF/IDL2/SemanticGraph/Sequence.hpp"
+#include "CCF/IDL2/SemanticGraph/Struct.hpp"
+#include "CCF/IDL2/SemanticGraph/Translation.hpp"
+#include "CCF/IDL2/SemanticGraph/TypeId.hpp"
+#include "CCF/IDL2/SemanticGraph/Union.hpp"
+#include "CCF/IDL2/SemanticGraph/ValueType.hpp"
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.cpp
new file mode 100644
index 00000000000..02ae0481c17
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.cpp
@@ -0,0 +1,100 @@
+// file : CCF/IDL2/SemanticGraph/Attribute.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Attribute.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Attribute
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ attribute_init_ ()
+ {
+ TypeInfo ti (typeid (Attribute));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo attribute_ (attribute_init_ ());
+ }
+
+ TypeInfo const& Attribute::
+ static_type_info () { return attribute_; }
+
+
+ // ReadAttribute
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ read_attribute_init_ ()
+ {
+ TypeInfo ti (typeid (ReadAttribute));
+ ti.add_base (Access::PUBLIC, true, Attribute::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo read_attribute_ (read_attribute_init_ ());
+ }
+
+ TypeInfo const& ReadAttribute::
+ static_type_info () { return read_attribute_; }
+
+
+ // WriteAttribute
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ write_attribute_init_ ()
+ {
+ TypeInfo ti (typeid (WriteAttribute));
+ ti.add_base (Access::PUBLIC, true, Attribute::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo write_attribute_ (write_attribute_init_ ());
+ }
+
+ TypeInfo const& WriteAttribute::
+ static_type_info () { return write_attribute_; }
+
+
+ // ReadWriteAttribute
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ read_write_attribute_init_ ()
+ {
+ TypeInfo ti (typeid (ReadWriteAttribute));
+ ti.add_base (
+ Access::PUBLIC, true, ReadAttribute::static_type_info ());
+ ti.add_base (
+ Access::PUBLIC, true, WriteAttribute::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo read_write_attribute_ (read_write_attribute_init_ ());
+ }
+
+ TypeInfo const& ReadWriteAttribute::
+ static_type_info () { return read_write_attribute_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.hpp
new file mode 100644
index 00000000000..c180683a4f9
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Attribute.hpp
@@ -0,0 +1,127 @@
+// file : CCF/IDL2/SemanticGraph/Attribute.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_ATTRIBUTE_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_ATTRIBUTE_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Exception.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class Attribute : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Attribute ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class ReadAttribute;
+
+ class GetRaises : public virtual Edge
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ GetRaises ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class ReadAttribute : public virtual Attribute
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ReadAttribute ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class SetRaises : public virtual Edge
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ SetRaises ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class WriteAttribute : public virtual Attribute
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ WriteAttribute ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class ReadWriteAttribute : public virtual ReadAttribute,
+ public virtual WriteAttribute
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ReadWriteAttribute ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_ATTRIBUTE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.cpp
new file mode 100644
index 00000000000..0ab7eaa876d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.cpp
@@ -0,0 +1,475 @@
+// file : CCF/IDL2/SemanticGraph/Elements.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Edge
+ //
+ //
+ Edge::
+ ~Edge ()
+ {
+ }
+
+ Edge::
+ Edge ()
+ {
+ type_info (static_type_info ());
+ }
+
+ namespace
+ {
+ TypeInfo
+ edge_init_ ()
+ {
+ TypeInfo ti (typeid (Edge));
+ // I don't really need this information
+ // ti.add_base (Access::PUBLIC, true, Object::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo edge_ (edge_init_ ());
+ }
+
+ TypeInfo const& Edge::
+ static_type_info () { return edge_; }
+
+
+ // Node
+ //
+ //
+ Node::
+ ~Node ()
+ {
+ }
+
+ Node::
+ Node ()
+ {
+ type_info (static_type_info ());
+ }
+
+ namespace
+ {
+ TypeInfo
+ node_init_ ()
+ {
+ TypeInfo ti (typeid (Node));
+ // I don't really need this information
+ // ti.add_base (Access::PUBLIC, true, Object::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo node_ (node_init_ ());
+ }
+
+ TypeInfo const& Node::
+ static_type_info () { return node_; }
+
+
+ // Names
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ names_init_ ()
+ {
+ TypeInfo ti (typeid (Names));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo names_ (names_init_ ());
+ }
+
+ TypeInfo const& Names::
+ static_type_info () { return names_; }
+
+
+ // Defines
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ defines_init_ ()
+ {
+ TypeInfo ti (typeid (Defines));
+ ti.add_base (
+ Access::PUBLIC, true, Names::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo defines_ (defines_init_ ());
+ }
+
+ TypeInfo const& Defines::
+ static_type_info () { return defines_; }
+
+
+ // Mentions
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ mentions_init_ ()
+ {
+ TypeInfo ti (typeid (Mentions));
+ ti.add_base (Access::PUBLIC, true, Names::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo mentions_ (mentions_init_ ());
+ }
+
+ TypeInfo const& Mentions::
+ static_type_info () { return mentions_; }
+
+
+ // Aliases
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ aliases_init_ ()
+ {
+ TypeInfo ti (typeid (Aliases));
+ ti.add_base (
+ Access::PUBLIC, true, Names::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo aliases_ (aliases_init_ ());
+ }
+
+ TypeInfo const& Aliases::
+ static_type_info () { return aliases_; }
+
+
+ // Nameable
+ //
+ //
+
+ SimpleName Nameable::
+ name () const
+ {
+ // The first entry should either be Mentions or Defines
+ // and it is the 'primary' name of the nameable entity.
+ //
+ return named_[0]->name ();
+ }
+
+ ScopedName Nameable::
+ scoped_name () const
+ {
+ // In general, scope that named us is named, in turn,
+ // by somebody else.
+ //
+ return ScopedName (named_[0]->scope ().scoped_name (), name ());
+ }
+
+ namespace
+ {
+ TypeInfo
+ nameable_init_ ()
+ {
+ TypeInfo ti (typeid (Nameable));
+ ti.add_base (Access::PUBLIC, true, Node::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo nameable_ (nameable_init_ ());
+ }
+
+ TypeInfo const& Nameable::
+ static_type_info () { return nameable_; }
+
+
+ // Extends
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ extends_init_ ()
+ {
+ TypeInfo ti (typeid (Extends));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo extends_ (extends_init_ ());
+ }
+
+ TypeInfo const& Extends::
+ static_type_info () { return extends_; }
+
+ // Scope
+ //
+ //
+ Nameables Scope::
+ lookup (Name const& name) const
+ {
+ Nameables r;
+ lookup (name, r);
+ return r;
+ }
+
+ void Scope::
+ lookup (Name const& name, Nameables& result) const
+ {
+ SimpleName first (*name.begin ());
+
+ NamesIteratorPair pair (find (first));
+
+ if (pair.first != pair.second) // Found something.
+ {
+ if (name.simple ()) // last name
+ {
+ for (NamesIterator n (pair.first); n != pair.second; ++n)
+ {
+ result.insert (&((**n).named ()));
+ }
+ }
+ else
+ {
+ Name rest (name.begin () + 1, name.end ());
+
+ for (NamesIterator n (pair.first); n != pair.second; ++n)
+ {
+ Nameable& node ((**n).named ());
+ if (Scope* s = dynamic_cast<Scope*> (&node))
+ {
+ s->lookup (rest, result);
+ }
+ }
+ }
+ }
+ else // Try scopes that we are an extension of.
+ {
+ for (ExtendsIterator i (extends_begin ()), e (extends_end ());
+ i != e; ++i)
+ {
+ (**i).extendee ().lookup (name, result);
+ }
+ }
+ }
+
+ void Scope::
+ add_edge_left (Names& e)
+ {
+ names_.push_back (&e);
+ names_map_[e.name ()].push_back (&e);
+ }
+
+ namespace
+ {
+ TypeInfo
+ scope_init_ ()
+ {
+ TypeInfo ti (typeid (Scope));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo scope_ (scope_init_ ());
+ }
+
+ TypeInfo const& Scope::
+ static_type_info () { return scope_; }
+
+
+ // Type
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ type_init_ ()
+ {
+ TypeInfo ti (typeid (Type));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo type_ (type_init_ ());
+ }
+
+ TypeInfo const& Type::
+ static_type_info () { return type_; }
+
+
+ // Instance
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ instance_init_ ()
+ {
+ TypeInfo ti (typeid (Instance));
+ ti.add_base (Access::PUBLIC, true, Node::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo instance_ (instance_init_ ());
+ }
+
+ TypeInfo const& Instance::
+ static_type_info () { return instance_; }
+
+
+ // Belongs
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ belongs_init_ ()
+ {
+ TypeInfo ti (typeid (Belongs));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo belongs_ (belongs_init_ ());
+ }
+
+ TypeInfo const& Belongs::
+ static_type_info () { return belongs_; }
+
+
+ // TypeTemplateSpecialization
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ type_template_specialization_init_ ()
+ {
+ TypeInfo ti (typeid (TypeTemplateSpecialization));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo type_template_specialization_ (
+ type_template_specialization_init_ ());
+ }
+
+ TypeInfo const& TypeTemplateSpecialization::
+ static_type_info () { return type_template_specialization_; }
+
+
+ // Specialized
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ specialized_init_ ()
+ {
+ TypeInfo ti (typeid (Specialized));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo specialized_ (specialized_init_ ());
+ }
+
+ TypeInfo const& Specialized::
+ static_type_info () { return specialized_; }
+
+
+ // IsA
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ is_a_init_ ()
+ {
+ TypeInfo ti (typeid (IsA));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo is_a_ (is_a_init_ ());
+ }
+
+ TypeInfo const& IsA::
+ static_type_info () { return is_a_; }
+
+
+ // Inherits
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ inherits_init_ ()
+ {
+ TypeInfo ti (typeid (Inherits));
+ ti.add_base (Access::PUBLIC, true, IsA::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo inherits_ (inherits_init_ ());
+ }
+
+ TypeInfo const& Inherits::
+ static_type_info () { return inherits_; }
+
+ // Contains
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ contains_init_ ()
+ {
+ TypeInfo ti (typeid (Contains));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo contains_ (contains_init_ ());
+ }
+
+ TypeInfo const& Contains::
+ static_type_info () { return contains_; }
+
+
+ // Container
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ container_init_ ()
+ {
+ TypeInfo ti (typeid (Container));
+ ti.add_base (Access::PUBLIC, true, Node::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo container_ (container_init_ ());
+ }
+
+ TypeInfo const& Container::
+ static_type_info () { return container_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp
new file mode 100644
index 00000000000..3f1f1761bb8
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp
@@ -0,0 +1,854 @@
+// file : CCF/IDL2/SemanticGraph/Elements.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_ELEMENTS_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_ELEMENTS_HPP
+
+#include <set>
+#include <vector>
+
+#include "Graph.hpp"
+
+#include "CCF/CompilerElements/Introspection.hpp"
+#include "CCF/CompilerElements/Context.hpp"
+
+#include "CCF/IDL2/SemanticGraph/Name.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+
+ class Node;
+ class Edge;
+
+
+ // Node & Edge
+ //
+ //
+ class Edge : public virtual Introspection::Object
+ {
+ public:
+ CompilerElements::Context const&
+ context () const
+ {
+ return context_;
+ }
+
+ CompilerElements::Context&
+ context ()
+ {
+ return context_;
+ }
+
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ virtual
+ ~Edge ();
+
+ Edge ();
+
+ private:
+ CompilerElements::Context context_;
+ };
+
+ inline bool
+ operator== (Edge const& x, Edge const& y)
+ {
+ return &x == &y;
+ }
+
+ class Node : public virtual Introspection::Object
+ {
+ public:
+ CompilerElements::Context const&
+ context () const
+ {
+ return context_;
+ }
+
+ CompilerElements::Context&
+ context ()
+ {
+ return context_;
+ }
+
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ virtual
+ ~Node ();
+
+ Node ();
+
+ // This is a bunch of experimantal sink functions that allow
+ // extensions in the form of one-way edges (see Executor stuff
+ // in CIDL for example).
+ //
+ void
+ add_edge_left (Edge&)
+ {
+ }
+
+ void
+ add_edge_right (Edge&)
+ {
+ }
+
+ private:
+ CompilerElements::Context context_;
+ };
+
+ inline bool
+ operator== (Node const& x, Node const& y)
+ {
+ return &x == &y;
+ }
+
+
+ //
+ //
+ //
+ class Scope;
+ class Nameable;
+
+ class Names : public virtual Edge
+ {
+ public:
+ SimpleName
+ name () const
+ {
+ return name_;
+ }
+
+ Scope&
+ scope () const
+ {
+ return *scope_;
+ }
+
+ Nameable&
+ named () const
+ {
+ return *named_;
+ }
+
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Names (SimpleName const& name)
+ : name_ (name)
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Scope& n)
+ {
+ scope_ = &n;
+ }
+
+ void
+ set_right_node (Nameable& n)
+ {
+ named_ = &n;
+ }
+
+ private:
+ Scope* scope_;
+ Nameable* named_;
+ SimpleName name_;
+ };
+
+ class Defines : public virtual Names
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Defines (SimpleName const& name)
+ : Names (name)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class Mentions : public virtual Names
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Mentions (SimpleName const& name)
+ : Names (name)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class Aliases : public virtual Names
+ {
+ public:
+ SimpleName
+ synonym () const
+ {
+ return name ();
+ }
+
+ /*
+
+ Let me know if you need this function.
+
+ ScopedName
+ eponym () const
+ {
+ }
+ */
+
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Aliases (SimpleName const& synonym)
+ : Names (synonym)
+
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class Nameable : public virtual Node
+ {
+ typedef
+ std::vector<Names*>
+ Named_;
+
+ public:
+ virtual SimpleName
+ name () const;
+
+ virtual ScopedName
+ scoped_name () const;
+
+ bool
+ defined () const
+ {
+ return defined_;
+ }
+
+ typedef
+ Named_::const_iterator
+ NamedIterator;
+
+ NamedIterator
+ named_begin () const
+ {
+ return named_.begin ();
+ }
+
+ NamedIterator
+ named_end () const
+ {
+ return named_.end ();
+ }
+
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Nameable ()
+ : defined_ (false)
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_right (Defines& e)
+ {
+ defined_ = true;
+ named_.push_back (&e);
+ }
+
+ void
+ add_edge_right (Names& e)
+ {
+ named_.push_back (&e);
+ }
+
+ private:
+ Named_ named_;
+ bool defined_;
+ };
+
+ typedef
+ std::set<Nameable*>
+ Nameables;
+
+ class Scope;
+
+ class Extends : public virtual Edge
+ {
+ public:
+ Scope& extender () const
+ {
+ return *extender_;
+ }
+
+ Scope& extendee () const
+ {
+ return *extendee_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Extends ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Scope& s)
+ {
+ extender_ = &s;
+ }
+
+ void
+ set_right_node (Scope& s)
+ {
+ extendee_ = &s;
+ }
+
+ private:
+ Scope* extender_;
+ Scope* extendee_;
+ };
+
+ class Scope : public virtual Nameable
+ {
+ private:
+ typedef
+ std::vector<Extends*>
+ Extends_;
+
+ typedef
+ std::vector<Names*>
+ Names_;
+
+ typedef
+ std::map<SimpleName, Names_>
+ NamesMap_;
+
+ public:
+ //
+ //
+ typedef
+ Extends_::const_iterator
+ ExtendsIterator;
+
+ ExtendsIterator
+ extends_begin () const
+ {
+ return extends_.begin ();
+ }
+
+ ExtendsIterator
+ extends_end () const
+ {
+ return extends_.end ();
+ }
+
+
+ //
+ //
+ typedef
+ Names_::const_iterator
+ NamesIterator;
+
+ typedef
+ std::pair <NamesIterator, NamesIterator>
+ NamesIteratorPair;
+
+ NamesIterator
+ names_begin () const
+ {
+ return names_.begin ();
+ }
+
+ NamesIterator
+ names_end () const
+ {
+ return names_.end ();
+ }
+
+ NamesIteratorPair
+ find (SimpleName const& name) const
+ {
+ NamesMap_::const_iterator i (names_map_.find (name));
+ if (i == names_map_.end ())
+ {
+ return NamesIteratorPair (names_.end (), names_.end ());
+ }
+ else
+ {
+ return NamesIteratorPair (i->second.begin (), i->second.end ());
+ }
+ }
+
+ Nameables
+ lookup (Name const& name) const;
+
+ void
+ lookup (Name const& name, Nameables& result) const;
+
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Scope ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_left (Names& e);
+
+ void
+ add_edge_left (Extends& e)
+ {
+ extends_.push_back (&e);
+ }
+
+ void
+ add_edge_right (Extends& e)
+ {
+ }
+
+ using Nameable::add_edge_right;
+
+ private:
+ Extends_ extends_;
+
+ Names_ names_;
+ NamesMap_ names_map_;
+ };
+
+
+
+ //
+ //
+ //
+ class Belongs;
+ class Specialized;
+
+ //@@ I can make an alias Classifies for Belongs?
+ //
+
+ class Type : public virtual Nameable
+ {
+ public:
+ virtual bool
+ complete () const = 0;
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Type ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using Nameable::add_edge_right;
+
+ void
+ add_edge_right (Belongs& e)
+ {
+ slassifies_.push_back (&e);
+ }
+
+ void
+ add_edge_right (Specialized&)
+ {
+ }
+
+ using Node::add_edge_right;
+ using Node::add_edge_left;
+
+ private:
+ typedef
+ std::vector<Belongs*>
+ Classifies_;
+
+ Classifies_ slassifies_;
+ };
+
+
+ class Instance : public virtual Node
+ {
+ public:
+ Belongs&
+ belongs () const
+ {
+ return *belongs_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Instance ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_left (Belongs& e)
+ {
+ belongs_ = &e;
+ }
+
+ private:
+ Belongs* belongs_;
+ };
+
+
+ class Belongs : public virtual Edge
+ {
+ public:
+ Instance&
+ instance () const
+ {
+ return *instance_;
+ }
+
+ Type&
+ type () const
+ {
+ return *type_;
+ }
+
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Belongs ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Instance& n)
+ {
+ instance_ = &n;
+ }
+
+ void
+ set_right_node (Type& n)
+ {
+ type_ = &n;
+ }
+
+ private:
+ Instance* instance_;
+ Type* type_;
+ };
+
+
+ //@@ Maybe rename it to just Specialization
+ //
+ class TypeTemplateSpecialization : public virtual Type
+ {
+ public:
+ Specialized&
+ specialized () const
+ {
+ return *specialized_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ TypeTemplateSpecialization ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_left (Specialized& e)
+ {
+ specialized_ = &e;
+ }
+
+ private:
+ Specialized* specialized_;
+ };
+
+
+
+ class Specialized : public virtual Edge
+ {
+ public:
+ TypeTemplateSpecialization&
+ specialization () const
+ {
+ return *specialization_;
+ }
+
+ Type&
+ type () const
+ {
+ return *type_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Specialized ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (TypeTemplateSpecialization& n)
+ {
+ specialization_ = &n;
+ }
+
+ void
+ set_right_node (Type& n)
+ {
+ type_ = &n;
+ }
+
+ private:
+ TypeTemplateSpecialization* specialization_;
+ Type* type_;
+ };
+
+
+ //
+ //
+ //
+ class IsA : public virtual Edge
+ {
+ public:
+ virtual Type&
+ subject () const
+ {
+ return *subject_;
+ }
+
+ virtual Type&
+ object () const
+ {
+ return *object_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ IsA ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Type& n)
+ {
+ subject_ = &n;
+ }
+
+ void
+ set_right_node (Type& n)
+ {
+ object_ = &n;
+ }
+
+ private:
+ Type* subject_;
+ Type* object_;
+ };
+
+
+ //
+ //
+ //
+ class Inherits : public virtual IsA
+ {
+ public:
+ virtual Type&
+ inheritor () const
+ {
+ return subject ();
+ }
+
+ virtual Type&
+ inheritee () const
+ {
+ return object ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Inherits ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+
+ class Container;
+
+ class Contains : public virtual Edge
+ {
+ public:
+ Node&
+ element () const
+ {
+ return *element_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Contains ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Container& n)
+ {
+ container_ = &n;
+ }
+
+ void
+ set_right_node (Node& n)
+ {
+ element_ = &n;
+ }
+
+ private:
+ Container* container_;
+ Node* element_;
+ };
+
+
+ class Container : public virtual Node
+ {
+ typedef
+ std::vector<Contains*>
+ Contains_;
+
+ public:
+ typedef
+ Contains_::const_iterator
+ ContainsIterator;
+
+ ContainsIterator
+ contains_begin () const
+ {
+ return contains_.begin ();
+ }
+
+ ContainsIterator
+ contains_end () const
+ {
+ return contains_.end ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Container ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_left (Contains& e)
+ {
+ contains_.push_back (&e);
+ }
+
+ private:
+ Contains_ contains_;
+ };
+ }
+ }
+}
+
+#include "CCF/IDL2/SemanticGraph/Elements.tpp"
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_ELEMENTS_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.tpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.tpp
new file mode 100644
index 00000000000..a3a1615fe85
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.tpp
@@ -0,0 +1,14 @@
+// file : CCF/IDL2/SemanticGraph/Elements.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ }
+ }
+}
+
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.cpp
new file mode 100644
index 00000000000..e5de88c449e
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.cpp
@@ -0,0 +1,58 @@
+// file : CCF/IDL2/SemanticGraph/Enum.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Enum.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Enum
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ enum_init_ ()
+ {
+ TypeInfo ti (typeid (Enum));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo enum_ (enum_init_ ());
+ }
+
+ TypeInfo const& Enum::
+ static_type_info () { return enum_; }
+
+
+ // Enumerator
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ enumerator_init_ ()
+ {
+ TypeInfo ti (typeid (Enumerator));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo enumerator_ (enumerator_init_ ());
+ }
+
+ TypeInfo const& Enumerator::
+ static_type_info () { return enumerator_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp
new file mode 100644
index 00000000000..8399fecc6b0
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp
@@ -0,0 +1,56 @@
+// file : CCF/IDL2/SemanticGraph/Enum.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_ENUM_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_ENUM_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Enum : public virtual Type
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Enum ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ class Enumerator : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Enumerator ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_ENUM_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp
new file mode 100644
index 00000000000..84ca130cafa
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL2/SemanticGraph/Exception.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Exception.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ exception_init_ ()
+ {
+ TypeInfo ti (typeid (Exception));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo exception_ (exception_init_ ());
+ }
+
+ TypeInfo const& Exception::
+ static_type_info () { return exception_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.hpp
new file mode 100644
index 00000000000..61e01f3b282
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.hpp
@@ -0,0 +1,50 @@
+// file : CCF/IDL2/SemanticGraph/Exception.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_EXCEPTION_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_EXCEPTION_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Raises;
+
+ class Exception : public virtual Type, public virtual Scope
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return defined ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Exception ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using Type::add_edge_right;
+ using Scope::add_edge_left;
+
+ void
+ add_edge_right (Raises&)
+ {
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_EXCEPTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp
new file mode 100644
index 00000000000..e08990e7ed8
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp
@@ -0,0 +1,438 @@
+// file : CCF/IDL2/SemanticGraph/Fundamental.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+// Note, that this file is automatically generated!
+//
+
+#include "CCF/IDL2/SemanticGraph/Fundamental.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // FundamentalType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ fundamental_type_init_ ()
+ {
+ TypeInfo ti (typeid (FundamentalType));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo fundamental_type_ (fundamental_type_init_ ());
+ }
+
+ TypeInfo const& FundamentalType::
+ static_type_info () { return fundamental_type_; }
+
+
+ // Object
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ object_init_ ()
+ {
+ TypeInfo ti (typeid (Object));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo object_ (object_init_ ());
+ }
+
+ TypeInfo const& Object::
+ static_type_info () { return object_; }
+
+
+ // ValueBase
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ value_base_init_ ()
+ {
+ TypeInfo ti (typeid (ValueBase));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo value_base_ (value_base_init_ ());
+ }
+
+ TypeInfo const& ValueBase::
+ static_type_info () { return value_base_; }
+
+
+ // Any
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ any_init_ ()
+ {
+ TypeInfo ti (typeid (Any));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo any_ (any_init_ ());
+ }
+
+ TypeInfo const& Any::
+ static_type_info () { return any_; }
+
+
+ // Boolean
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ boolean_init_ ()
+ {
+ TypeInfo ti (typeid (Boolean));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo boolean_ (boolean_init_ ());
+ }
+
+ TypeInfo const& Boolean::
+ static_type_info () { return boolean_; }
+
+
+ // Char
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ char_init_ ()
+ {
+ TypeInfo ti (typeid (Char));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo char_ (char_init_ ());
+ }
+
+ TypeInfo const& Char::
+ static_type_info () { return char_; }
+
+
+ // Double
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ double_init_ ()
+ {
+ TypeInfo ti (typeid (Double));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo double_ (double_init_ ());
+ }
+
+ TypeInfo const& Double::
+ static_type_info () { return double_; }
+
+
+ // Float
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ float_init_ ()
+ {
+ TypeInfo ti (typeid (Float));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo float_ (float_init_ ());
+ }
+
+ TypeInfo const& Float::
+ static_type_info () { return float_; }
+
+
+ // Long
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ long_init_ ()
+ {
+ TypeInfo ti (typeid (Long));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo long_ (long_init_ ());
+ }
+
+ TypeInfo const& Long::
+ static_type_info () { return long_; }
+
+
+ // LongDouble
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ long_double_init_ ()
+ {
+ TypeInfo ti (typeid (LongDouble));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo long_double_ (long_double_init_ ());
+ }
+
+ TypeInfo const& LongDouble::
+ static_type_info () { return long_double_; }
+
+
+ // LongLong
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ long_long_init_ ()
+ {
+ TypeInfo ti (typeid (LongLong));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo long_long_ (long_long_init_ ());
+ }
+
+ TypeInfo const& LongLong::
+ static_type_info () { return long_long_; }
+
+
+ // Octet
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ octet_init_ ()
+ {
+ TypeInfo ti (typeid (Octet));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo octet_ (octet_init_ ());
+ }
+
+ TypeInfo const& Octet::
+ static_type_info () { return octet_; }
+
+
+ // Short
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ short_init_ ()
+ {
+ TypeInfo ti (typeid (Short));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo short_ (short_init_ ());
+ }
+
+ TypeInfo const& Short::
+ static_type_info () { return short_; }
+
+
+ // String
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ string_init_ ()
+ {
+ TypeInfo ti (typeid (String));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo string_ (string_init_ ());
+ }
+
+ TypeInfo const& String::
+ static_type_info () { return string_; }
+
+
+ // UnsignedLong
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ unsigned_long_init_ ()
+ {
+ TypeInfo ti (typeid (UnsignedLong));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo unsigned_long_ (unsigned_long_init_ ());
+ }
+
+ TypeInfo const& UnsignedLong::
+ static_type_info () { return unsigned_long_; }
+
+
+ // UnsignedLongLong
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ unsigned_long_long_init_ ()
+ {
+ TypeInfo ti (typeid (UnsignedLongLong));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo unsigned_long_long_ (unsigned_long_long_init_ ());
+ }
+
+ TypeInfo const& UnsignedLongLong::
+ static_type_info () { return unsigned_long_long_; }
+
+
+ // UnsignedShort
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ unsigned_short_init_ ()
+ {
+ TypeInfo ti (typeid (UnsignedShort));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo unsigned_short_ (unsigned_short_init_ ());
+ }
+
+ TypeInfo const& UnsignedShort::
+ static_type_info () { return unsigned_short_; }
+
+
+ // Void
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ void_init_ ()
+ {
+ TypeInfo ti (typeid (Void));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo void_ (void_init_ ());
+ }
+
+ TypeInfo const& Void::
+ static_type_info () { return void_; }
+
+
+ // Wchar
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ wchar_init_ ()
+ {
+ TypeInfo ti (typeid (Wchar));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo wchar_ (wchar_init_ ());
+ }
+
+ TypeInfo const& Wchar::
+ static_type_info () { return wchar_; }
+
+
+ // Wstring
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ wstring_init_ ()
+ {
+ TypeInfo ti (typeid (Wstring));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo wstring_ (wstring_init_ ());
+ }
+
+ TypeInfo const& Wstring::
+ static_type_info () { return wstring_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp.m4 b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp.m4
new file mode 100644
index 00000000000..c42780fd178
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.cpp.m4
@@ -0,0 +1,98 @@
+divert(-1)
+
+# file : CCF/IDL2/SemanticGraph/Fundamental.cpp.m4
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+include(`Fundamental.m4')
+
+define(`fundamental_type',
+ `fundamental_type_impl(`make_class_name(`$1')', `make_var_name(`$1')')')
+
+
+define(`fundamental_type_impl', `
+
+ // $1
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ $2_init_ ()
+ {
+ TypeInfo ti (typeid ($1));
+ ti.add_base (
+ Access::PUBLIC, true, FundamentalType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo $2_ ($2_init_ ());
+ }
+
+ TypeInfo const& $1::
+ static_type_info () { return $2_; }')
+
+divert(0)dnl
+dnl
+dnl
+dnl
+// file : CCF/IDL2/SemanticGraph/Fundamental.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+// Note, that this file is automatically generated!
+//
+
+#include "CCF/IDL2/SemanticGraph/Fundamental.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // FundamentalType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ fundamental_type_init_ ()
+ {
+ TypeInfo ti (typeid (FundamentalType));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo fundamental_type_ (fundamental_type_init_ ());
+ }
+
+ TypeInfo const& FundamentalType::
+ static_type_info () { return fundamental_type_; }
+dnl
+fundamental_type(`object')
+fundamental_type(`value base')
+fundamental_type(`any')
+fundamental_type(`boolean')
+fundamental_type(`char')
+fundamental_type(`double')
+fundamental_type(`float')
+fundamental_type(`long')
+fundamental_type(`long double')
+fundamental_type(`long long')
+fundamental_type(`octet')
+fundamental_type(`short')
+fundamental_type(`string')
+fundamental_type(`unsigned long')
+fundamental_type(`unsigned long long')
+fundamental_type(`unsigned short')
+fundamental_type(`void')
+fundamental_type(`wchar')
+fundamental_type(`wstring')
+dnl
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp
new file mode 100644
index 00000000000..774b7c18910
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp
@@ -0,0 +1,405 @@
+// file : CCF/IDL2/SemanticGraph/Fundamental.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+// Note, that this file is automatically generated!
+//
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_FUNDAMENTAL_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_FUNDAMENTAL_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ // @@ Object & ValueBase should be of interface & valuetype types?
+ //
+ //
+ class FundamentalType : public virtual Type
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ FundamentalType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Object : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Object ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class ValueBase : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ValueBase ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Any : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Any ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Boolean : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Boolean ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Char : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Char ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Double : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Double ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Float : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Float ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Long : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Long ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class LongDouble : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ LongDouble ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class LongLong : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ LongLong ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Octet : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Octet ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Short : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Short ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class String : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ String ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class UnsignedLong : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ UnsignedLong ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class UnsignedLongLong : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ UnsignedLongLong ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class UnsignedShort : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ UnsignedShort ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Void : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Void ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Wchar : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Wchar ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Wstring : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Wstring ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_FUNDAMENTAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp.m4 b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp.m4
new file mode 100644
index 00000000000..b0b3734a349
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp.m4
@@ -0,0 +1,98 @@
+divert(-1)
+
+# file : CCF/IDL2/SemanticGraph/Fundamental.hpp.m4
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+include(`Fundamental.m4')
+
+define(`fundamental_type', `fundamental_type_impl(`make_class_name(`$1')', `$1')')
+
+define(`fundamental_type_impl', `
+
+ //
+ //
+ //
+ class $1 : public virtual FundamentalType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ $1 ()
+ {
+ type_info (static_type_info ());
+ }
+ };')
+divert(0)dnl
+dnl
+dnl
+dnl
+// file : CCF/IDL2/SemanticGraph/Fundamental.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+// Note, that this file is automatically generated!
+//
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_FUNDAMENTAL_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_FUNDAMENTAL_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ // @@ Object & ValueBase should be of interface & valuetype types?
+ //
+ //
+ class FundamentalType : public virtual Type
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ FundamentalType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+dnl
+fundamental_type(`Object')
+fundamental_type(`ValueBase')
+fundamental_type(`any')
+fundamental_type(`boolean')
+fundamental_type(`char')
+fundamental_type(`double')
+fundamental_type(`float')
+fundamental_type(`long')
+fundamental_type(`long double')
+fundamental_type(`long long')
+fundamental_type(`octet')
+fundamental_type(`short')
+fundamental_type(`string')
+fundamental_type(`unsigned long')
+fundamental_type(`unsigned long long')
+fundamental_type(`unsigned short')
+fundamental_type(`void')
+fundamental_type(`wchar')
+fundamental_type(`wstring')
+dnl
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_FUNDAMENTAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.m4 b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.m4
new file mode 100644
index 00000000000..5aaab71bd76
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Fundamental.m4
@@ -0,0 +1,17 @@
+# file : CCF/IDL2/SemanticGraph/Fundamental.m4
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+define(`upcase', `translit(`$*', `a-z', `A-Z')')
+
+
+define(`capitalize_word',
+ `regexp(`$1', `^\(.\)\(.*\)', `upcase(`\1')`\2'')')
+
+
+define(`capitalize',
+ `patsubst(`$1', `\w+', `capitalize_word(`\&')')')
+
+define(`make_class_name', `patsubst(capitalize(`$1'), ` ')')
+
+define(`make_var_name', `patsubst(`$1', ` ', `_')')
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.hpp
new file mode 100644
index 00000000000..18a29fb3c2f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.hpp
@@ -0,0 +1,79 @@
+// file : CCF/IDL2/SemanticGraph/Graph.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef ELEMENT_GRAPH_HPP
+#define ELEMENT_GRAPH_HPP
+
+#include <map>
+#include <set>
+#include <vector>
+#include <string>
+#include <memory>
+
+#include <iostream>
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ template <typename N, typename E>
+ class Graph
+ {
+ public:
+ ~Graph ();
+
+ public:
+ template <typename T>
+ T&
+ new_node ();
+
+ template <typename T, typename A0>
+ T&
+ new_node (A0 const& a0);
+
+ template <typename T, typename A0, typename A1>
+ T&
+ new_node (A0 const& a0, A1 const& a1);
+
+ void
+ delete_node (N const& n);
+
+ public:
+ template <typename T, typename X, typename Y>
+ T&
+ new_edge (X& left, Y& right);
+
+ template <typename T, typename X, typename Y,
+ typename A0>
+ T&
+ new_edge (X& left, Y& right, A0 const& a0);
+
+ template <typename T, typename X, typename Y,
+ typename A0,
+ typename A1>
+ T&
+ new_edge (X& left, Y& right, A0 const& a0, A1 const& a1);
+
+ void
+ delete_edge (E const& e);
+
+ protected:
+ typedef N* NodePtr;
+ typedef E* EdgePtr;
+
+ typedef std::set<NodePtr> Nodes_;
+ typedef std::set<EdgePtr> Edges_;
+
+ Nodes_ nodes_;
+ Edges_ edges_;
+ };
+ }
+ }
+}
+
+#include "Graph.tpp"
+
+#endif // ELEMENT_GRAPH_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp
new file mode 100644
index 00000000000..87a4a6a7ed3
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp
@@ -0,0 +1,164 @@
+// file : CCF/IDL2/SemanticGraph/Graph.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ // Graph
+ //
+ //
+
+
+ template <typename N, typename E>
+ template <typename T>
+ T& Graph<N, E>::
+ new_node ()
+ {
+ T* n (new T); //@@ auto
+ nodes_.insert (n);
+ return *n;
+ }
+
+
+ template <typename N, typename E>
+ template <typename T, typename A0>
+ T& Graph<N, E>::
+ new_node (A0 const& a0)
+ {
+ T* n (new T (a0)); //@@ auto
+ nodes_.insert (n);
+ return *n;
+ }
+
+
+ template <typename N, typename E>
+ template <typename T, typename A0, typename A1>
+ T& Graph<N, E>::
+ new_node (A0 const& a0, A1 const& a1)
+ {
+ T* n (new T (a0, a1)); //@@ auto
+ nodes_.insert (n);
+ return *n;
+ }
+
+
+ template <typename N, typename E>
+ void Graph<N, E>::
+ delete_node (N const& nr)
+ {
+ N* n (&nr);
+
+ for (E* e (n->remove_edge_ ()); e != 0; e = n->remove_edge_ ())
+ {
+ // One endpoint of the edge has removed this edge from
+ // its edge set. Now handle the other endpoint.
+ //
+ if (e->left_ () == n) e->right_ ()->remove_edge_ (e);
+ else e->left_ ()->remove_edge_ (e);
+
+ // Delete the edge.
+ //
+ edges_.erase (e);
+
+ delete e; //@@ auto
+ }
+
+ nodes_.erase (n);
+
+ delete n; //@@ auto
+ }
+
+
+ template <typename N, typename E>
+ template <typename T, typename X, typename Y>
+ T& Graph<N, E>::
+ new_edge (X& left, Y& right)
+ {
+ T* e (new T); //@@ auto
+
+ e->set_left_node (left);
+ e->set_right_node (right);
+
+ left.add_edge_left (*e);
+ right.add_edge_right (*e);
+
+ edges_.insert (e);
+
+ return *e;
+ }
+
+ template <typename N, typename E>
+ template <typename T, typename X, typename Y,
+ typename A0>
+ T& Graph<N, E>::
+ new_edge (X& left, Y& right, A0 const& a0)
+ {
+ T* e (new T (a0)); //@@ auto
+
+ e->set_left_node (left);
+ e->set_right_node (right);
+
+ left.add_edge_left (*e);
+ right.add_edge_right (*e);
+
+ edges_.insert (e);
+
+ return *e;
+ }
+
+ template <typename N, typename E>
+ template <typename T, typename X, typename Y,
+ typename A0,
+ typename A1>
+ T& Graph<N, E>::
+ new_edge (X& left, Y& right, A0 const& a0, A1 const& a1)
+ {
+ T* e (new T (a0, a1)); //@@ auto
+
+ e->set_left_node (left);
+ e->set_right_node (right);
+
+ left.add_edge_left (*e);
+ right.add_edge_right (*e);
+
+ edges_.insert (e);
+
+ return *e;
+ }
+
+ template <typename N, typename E>
+ void Graph<N, E>::
+ delete_edge (E const& er)
+ {
+ E* e (&er);
+
+ e->left_ ()->remove_edge_ (e);
+ e->right_ ()->remove_edge_ (e);
+
+ edges_.erase (e);
+
+ delete e; //@@ auto
+ }
+
+
+ template <typename N, typename E>
+ Graph<N, E>::
+ ~Graph ()
+ {
+ //@@ auto
+
+ for (typename Edges_::iterator i (edges_.begin ()), end (edges_.end ());
+ i != end;
+ ++i) delete *i;
+
+ for (typename Nodes_::iterator i (nodes_.begin ()), end (nodes_.end ());
+ i != end;
+ ++i) delete *i;
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.cpp
new file mode 100644
index 00000000000..88b7d6a8cf0
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.cpp
@@ -0,0 +1,117 @@
+// file : CCF/IDL2/SemanticGraph/Interface.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Interface.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Interface
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ interface_init_ ()
+ {
+ TypeInfo ti (typeid (Interface));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo interface_ (interface_init_ ());
+ }
+
+ TypeInfo const& Interface::
+ static_type_info () { return interface_; }
+
+
+ // Supports
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ supports_init_ ()
+ {
+ TypeInfo ti (typeid (Supports));
+ ti.add_base (Access::PUBLIC, true, IsA::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo supports_ (supports_init_ ());
+ }
+
+ TypeInfo const& Supports::
+ static_type_info () { return supports_; }
+
+
+ // AbstractInterface
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ abstract_interface_init_ ()
+ {
+ TypeInfo ti (typeid (AbstractInterface));
+ ti.add_base (Access::PUBLIC, true, Interface::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo abstract_interface_ (abstract_interface_init_ ());
+ }
+
+ TypeInfo const& AbstractInterface::
+ static_type_info () { return abstract_interface_; }
+
+
+ // LocalInterface
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ local_interface_init_ ()
+ {
+ TypeInfo ti (typeid (LocalInterface));
+ ti.add_base (Access::PUBLIC, true, Interface::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo local_interface_ (local_interface_init_ ());
+ }
+
+ TypeInfo const& LocalInterface::
+ static_type_info () { return local_interface_; }
+
+
+ // UnconstrainedInterface
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ unconstrained_interface_init_ ()
+ {
+ TypeInfo ti (typeid (UnconstrainedInterface));
+ ti.add_base (Access::PUBLIC, true, Interface::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo unconstrained_interface_ (unconstrained_interface_init_ ());
+ }
+
+ TypeInfo const& UnconstrainedInterface::
+ static_type_info () { return unconstrained_interface_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.hpp
new file mode 100644
index 00000000000..7649c0a4d9d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Interface.hpp
@@ -0,0 +1,175 @@
+// file : CCF/IDL2/SemanticGraph/Interface.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_INTERFACE_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_INTERFACE_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Operation.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class Interface : public virtual Type, public virtual Scope
+ {
+ typedef
+ std::vector <Inherits*>
+ Inherits_;
+
+ public:
+ typedef
+ Inherits_::const_iterator
+ InheritsIterator;
+
+ InheritsIterator
+ inherits_begin () const
+ {
+ return inherits_.begin ();
+ }
+
+ InheritsIterator
+ inherits_end () const
+ {
+ return inherits_.end ();
+ }
+
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Interface ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using Type::add_edge_right;
+ using Scope::add_edge_left;
+
+ void
+ add_edge_left (Inherits& e)
+ {
+ inherits_.push_back (&e);
+ }
+
+ void
+ add_edge_right (Inherits&)
+ {
+ }
+
+ private:
+ Inherits_ inherits_;
+ };
+
+
+ //
+ //
+ //
+ class Supports : public virtual IsA
+ {
+ public:
+ virtual Type&
+ supporter () const
+ {
+ return subject ();
+ }
+
+ virtual Type&
+ supportee () const
+ {
+ return object ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Supports ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_right_node (Interface& n)
+ {
+ IsA::set_right_node (n);
+ }
+ };
+
+
+ //
+ //
+ //
+ class AbstractInterface : public virtual Interface
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ AbstractInterface ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class LocalInterface : public virtual Interface
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ LocalInterface ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class UnconstrainedInterface : public virtual Interface
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ UnconstrainedInterface ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_INTERFACE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.cpp
new file mode 100644
index 00000000000..7d7e5e3137b
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.cpp
@@ -0,0 +1,25 @@
+// file : CCF/IDL2/SemanticGraph/Literals.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Literals.hpp"
+
+#include <ostream>
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ // StringLiteral
+ //
+ //
+ std::ostream&
+ operator<< (std::ostream& o, StringLiteral const& lit)
+ {
+ return o << '\"' << lit.literal () << '\"';
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.hpp
new file mode 100644
index 00000000000..2276339b9c3
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Literals.hpp
@@ -0,0 +1,56 @@
+// file : CCF/IDL2/SemanticGraph/Literals.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_LITERALS_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_LITERALS_HPP
+
+#include <string>
+#include <iosfwd>
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class StringLiteral
+ {
+ public:
+ StringLiteral (std::string const& literal)
+ : literal_ (literal)
+ {
+ }
+
+ std::string
+ literal () const
+ {
+ return literal_;
+ }
+
+ private:
+ std::string literal_;
+ };
+
+ inline bool
+ operator== (StringLiteral const& a, StringLiteral const& b)
+ {
+ return a.literal () == b.literal ();
+ }
+
+ inline bool
+ operator!= (StringLiteral const& a, StringLiteral const& b)
+ {
+ return a.literal () != b.literal ();
+ }
+
+ std::ostream&
+ operator<< (std::ostream& o, StringLiteral const& lit);
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_LITERALS_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile
new file mode 100644
index 00000000000..0dee7c6c9f1
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile
@@ -0,0 +1,224 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Attribute \
+ Elements \
+ Enum \
+ Exception \
+ Fundamental \
+ Interface \
+ Literals \
+ Member \
+ Module \
+ Name \
+ Native \
+ Operation \
+ Sequence \
+ Struct \
+ Translation \
+ TypeId \
+ Union \
+ ValueType
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Attribute.o .obj/Attribute.o .obj/Attribute.o .obj/Attribute.o: Attribute.cpp ../../../CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp
+
+.obj/Elements.o .obj/Elements.o .obj/Elements.o .obj/Elements.o: Elements.cpp ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Enum.o .obj/Enum.o .obj/Enum.o .obj/Enum.o: Enum.cpp ../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Exception.o .obj/Exception.o .obj/Exception.o .obj/Exception.o: Exception.cpp ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Fundamental.o .obj/Fundamental.o .obj/Fundamental.o .obj/Fundamental.o: Fundamental.cpp \
+ ../../../CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Interface.o .obj/Interface.o .obj/Interface.o .obj/Interface.o: Interface.cpp ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp
+
+.obj/Literals.o .obj/Literals.o .obj/Literals.o .obj/Literals.o: Literals.cpp ../../../CCF/IDL2/SemanticGraph/Literals.hpp
+
+.obj/Member.o .obj/Member.o .obj/Member.o .obj/Member.o: Member.cpp ../../../CCF/IDL2/SemanticGraph/Member.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Module.o .obj/Module.o .obj/Module.o .obj/Module.o: Module.cpp ../../../CCF/IDL2/SemanticGraph/Module.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Name.o .obj/Name.o .obj/Name.o .obj/Name.o: Name.cpp ../../../CCF/IDL2/SemanticGraph/Name.hpp
+
+.obj/Native.o .obj/Native.o .obj/Native.o .obj/Native.o: Native.cpp ../../../CCF/IDL2/SemanticGraph/Native.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Operation.o .obj/Operation.o .obj/Operation.o .obj/Operation.o: Operation.cpp ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp
+
+.obj/Sequence.o .obj/Sequence.o .obj/Sequence.o .obj/Sequence.o: Sequence.cpp ../../../CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Struct.o .obj/Struct.o .obj/Struct.o .obj/Struct.o: Struct.cpp ../../../CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/Translation.o .obj/Translation.o .obj/Translation.o .obj/Translation.o: Translation.cpp \
+ ../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Translation.ipp
+
+.obj/TypeId.o .obj/TypeId.o .obj/TypeId.o .obj/TypeId.o: TypeId.cpp ../../../CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Literals.hpp
+
+.obj/Union.o .obj/Union.o .obj/Union.o .obj/Union.o: Union.cpp ../../../CCF/IDL2/SemanticGraph/Union.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Member.hpp
+
+.obj/ValueType.o .obj/ValueType.o .obj/ValueType.o .obj/ValueType.o: ValueType.cpp ../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile.alt b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile.alt
new file mode 100644
index 00000000000..d22294b520c
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Makefile.alt
@@ -0,0 +1,35 @@
+# file : CCF/IDL2/SemanticGraph/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+cxx_translation_units := Attribute.cpp \
+ Elements.cpp \
+ Enum.cpp \
+ Exception.cpp \
+ Fundamental.cpp \
+ Interface.cpp \
+ Literals.cpp \
+ Member.cpp \
+ Module.cpp \
+ Name.cpp \
+ Native.cpp \
+ Operation.cpp \
+ Sequence.cpp \
+ Struct.cpp \
+ Translation.cpp \
+ TypeId.cpp \
+ Union.cpp \
+ ValueType.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp
new file mode 100644
index 00000000000..b57bb0fe764
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL2/SemanticGraph/Member.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Member.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ member_init_ ()
+ {
+ TypeInfo ti (typeid (Member));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo member_ (member_init_ ());
+ }
+
+ TypeInfo const& Member::
+ static_type_info () { return member_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.hpp
new file mode 100644
index 00000000000..5d7c13e6c52
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.hpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL2/SemanticGraph/Member.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_MEMBER_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_MEMBER_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Member : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Member ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_MEMBER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.cpp
new file mode 100644
index 00000000000..9e7aeb542e4
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.cpp
@@ -0,0 +1,33 @@
+// file : CCF/IDL2/SemanticGraph/Module.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Module.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ module_init_ ()
+ {
+ TypeInfo ti (typeid (Module));
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo module_ (module_init_ ());
+ }
+
+ TypeInfo const& Module::
+ static_type_info () { return module_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.hpp
new file mode 100644
index 00000000000..0a3a6831e29
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Module.hpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL2/SemanticGraph/Module.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_MODULE_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_MODULE_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Module : public virtual Scope
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Module ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_MODULE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.cpp
new file mode 100644
index 00000000000..efc1b23bfce
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.cpp
@@ -0,0 +1,216 @@
+// file : CCF/IDL2/SemanticGraph/Name.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Name.hpp"
+
+/*
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+*/
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+
+ // SimpleName
+ //
+ //
+
+ SimpleName::
+ SimpleName (char const* name) throw (InvalidName)
+ : name_ (name)
+ {
+ if (name_.find (':') != std::string::npos) throw InvalidName ();
+ }
+
+ SimpleName::
+ SimpleName (std::string const& name) throw (InvalidName)
+ : name_ (name)
+ {
+ if (name_.find (':') != std::string::npos) throw InvalidName ();
+ }
+
+ SimpleName
+ operator+ (SimpleName const& name, std::string const& str)
+ {
+ return SimpleName (name.str () + str);
+ }
+
+ SimpleName
+ operator+ (std::string const& str, SimpleName const& name)
+ {
+ return SimpleName (str + name.str ());
+ }
+
+ std::ostream&
+ operator << (std::ostream& o, SimpleName const& name)
+ {
+ return o << name.str ();
+ }
+
+ // Name
+ //
+ //
+ Name::
+ Name (SimpleName const& name)
+ : name_cache_ (name.str ())
+ {
+ name_.push_back (name);
+ }
+
+ Name::
+ Name (char const* name) throw (InvalidName)
+ : name_cache_ (name)
+ {
+ init ();
+ }
+
+ Name::
+ Name (std::string const& name) throw (InvalidName)
+ : name_cache_ (name)
+ {
+ init ();
+ }
+
+ void Name::
+ init () throw (InvalidName)
+ {
+ // cerr << "parsing name \'" << name_cache_ << "\' {"<< endl;
+
+ for (std::string::size_type
+ pos (0), next (name_cache_.find ("::", pos));;
+ next = name_cache_.find ("::", pos))
+ {
+ std::string simple_name (
+ name_cache_,
+ pos,
+ next == std::string::npos ? next : next - pos);
+
+ // cerr << "\t\'" << simple_name << '\'' << endl;
+
+ if (simple_name.empty () && !name_.empty ())
+ {
+ // Empty name (file-scope) is only valid when
+ // it is first.
+ //
+ throw InvalidName ();
+ }
+
+ name_.push_back (SimpleName (simple_name));
+
+ if (next == std::string::npos) break;
+
+ pos = next + 2;
+ }
+
+ // cerr << "parsing name }" << name_cache_ << endl;
+
+ if (name_.empty ()) throw InvalidName ();
+ }
+
+
+ Name::
+ Name (Iterator begin, Iterator end) throw (InvalidName)
+ {
+ for (Iterator i (begin); i != end; ++i)
+ {
+ name_cache_ += (i != begin ? "::" : "") + i->str ();
+ name_.push_back (*i);
+ }
+
+ if (name_.empty ()) throw InvalidName ();
+ }
+
+ bool Name::
+ scoped () const
+ {
+ return name_[0] == SimpleName ("");
+ }
+
+ bool Name::
+ simple () const
+ {
+ return name_.size () == 1;
+ }
+
+ std::ostream&
+ operator << (std::ostream& o, Name const& name)
+ {
+ return o << name.str ();
+ }
+
+ // ScopedName
+ //
+ //
+
+ ScopedName::
+ ScopedName (char const* name) throw (InvalidName)
+ : Name (name)
+ {
+ if (!scoped ()) throw InvalidName ();
+ }
+
+ ScopedName::
+ ScopedName (std::string const& name) throw (InvalidName)
+ : Name (name)
+ {
+ if (!scoped ()) throw InvalidName ();
+ }
+
+ ScopedName::
+ ScopedName (Iterator begin, Iterator end) throw (InvalidName)
+ : Name (begin, end)
+ {
+ if (!scoped ()) throw InvalidName ();
+ }
+
+ ScopedName::
+ ScopedName (Name const& name) throw (InvalidName)
+ : Name (name)
+ {
+ if (!scoped ()) throw InvalidName ();
+ }
+
+ ScopedName::
+ ScopedName (ScopedName const& scope, Name const& name)
+ throw (InvalidName)
+ : Name (scope.str () + "::" + name.str ())
+ {
+ if (!scoped ()) throw InvalidName ();
+ }
+
+ SimpleName ScopedName::
+ simple_name () const
+ {
+ return *(end () - 1);
+ }
+
+ ScopedName ScopedName::
+ scope_name () const throw (FileScope)
+ {
+ Iterator end (end () - 1);
+
+ if (begin () == end) throw FileScope ();
+
+ return ScopedName (begin (), end);
+ }
+
+ /*
+ Name ScopedName::
+ in_file_scope () const throw (FileScope)
+ {
+ if (name_.empty ()) throw FileScope ();
+
+ return Name(std::string (name_.begin () + 2, name_.end ()));
+ }
+
+ */
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.hpp
new file mode 100644
index 00000000000..1848deccbb2
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Name.hpp
@@ -0,0 +1,186 @@
+// file : CCF/IDL2/SemanticGraph/Name.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_NAME_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_NAME_HPP
+
+#include <vector>
+#include <string>
+#include <iosfwd>
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //@@ better names for names: maybe SimpleName, ScopedName, FullName?
+ //
+ //
+
+ class InvalidName {};
+
+ class SimpleName
+ {
+ public:
+ SimpleName (char const* name) throw (InvalidName);
+ SimpleName (std::string const& name) throw (InvalidName);
+
+ public:
+ bool
+ operator< (SimpleName const& other) const
+ {
+ return name_ < other.name_;
+ }
+
+ bool
+ operator== (SimpleName const& other) const
+ {
+ return name_ == other.name_;
+ }
+
+ bool
+ operator!= (SimpleName const& other) const
+ {
+ return name_ != other.name_;
+ }
+
+ public:
+ std::string
+ str () const
+ {
+ return name_;
+ }
+
+ private:
+ std::string name_;
+ };
+
+ SimpleName
+ operator+ (SimpleName const& name, std::string const& str);
+
+ SimpleName
+ operator+ (std::string const& str, SimpleName const& name);
+
+ std::ostream&
+ operator << (std::ostream& o, SimpleName const& name);
+
+ //
+ //
+ //
+ class Name
+ {
+ typedef
+ std::vector<SimpleName>
+ Name_;
+
+ public:
+ Name (SimpleName const& name);
+
+ Name (char const* name) throw (InvalidName);
+ Name (std::string const& name) throw (InvalidName);
+
+ typedef
+ Name_::const_iterator
+ Iterator;
+
+ Name (Iterator begin, Iterator end) throw (InvalidName);
+
+ public:
+ bool
+ operator< (Name const& other) const
+ {
+ return name_cache_ < other.name_cache_;
+ }
+
+ bool
+ operator== (Name const& other) const
+ {
+ return name_cache_ == other.name_cache_;
+ }
+
+ bool
+ operator!= (Name const& other) const
+ {
+ return name_cache_ != other.name_cache_;
+ }
+
+ public:
+ Iterator
+ begin () const
+ {
+ return name_.begin ();
+ }
+
+ Iterator
+ end () const
+ {
+ return name_.end ();
+ }
+
+ public:
+ bool
+ scoped () const;
+
+ bool
+ simple () const;
+
+ public:
+ std::string
+ str () const
+ {
+ return name_cache_;
+ }
+
+ private:
+ void
+ init () throw (InvalidName);
+
+ private:
+ Name_ name_;
+ std::string name_cache_;
+ };
+
+ std::ostream&
+ operator << (std::ostream& o, Name const& name);
+
+
+ // Should always start with "::". Can be just "::" which
+ // means it's a file-scope.
+ //
+ //
+ class ScopedName : public Name
+ {
+ public:
+ ScopedName (char const* name) throw (InvalidName);
+
+ ScopedName (std::string const& name) throw (InvalidName);
+
+ ScopedName (Iterator begin, Iterator end) throw (InvalidName);
+
+ explicit
+ ScopedName (Name const& name) throw (InvalidName);
+
+ ScopedName (ScopedName const& scope, Name const& name)
+ throw (InvalidName);
+
+ public:
+ SimpleName
+ simple_name () const;
+
+ class FileScope {};
+
+ ScopedName
+ scope_name () const throw (FileScope);
+
+ /*
+ Name
+ in_file_scope () const throw (FileScope);
+ */
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_NAME_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp
new file mode 100644
index 00000000000..46e24ae9c76
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp
@@ -0,0 +1,33 @@
+// file : CCF/IDL2/SemanticGraph/Native.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Native.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ native_init_ ()
+ {
+ TypeInfo ti (typeid (Native));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo native_ (native_init_ ());
+ }
+
+ TypeInfo const& Native::
+ static_type_info () { return native_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.hpp
new file mode 100644
index 00000000000..2a438348eb9
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.hpp
@@ -0,0 +1,40 @@
+// file : CCF/IDL2/SemanticGraph/Native.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_NATIVE_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_NATIVE_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Native : public virtual Type
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Native ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_NATIVE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp
new file mode 100644
index 00000000000..697751f14cd
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp
@@ -0,0 +1,218 @@
+// file : CCF/IDL2/SemanticGraph/Operation.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Operation.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Receives
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ receives_init_ ()
+ {
+ TypeInfo ti (typeid (Receives));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo receives_ (receives_init_ ());
+ }
+
+ TypeInfo const& Receives::
+ static_type_info () { return receives_; }
+
+
+ // Returns
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ returns_init_ ()
+ {
+ TypeInfo ti (typeid (Returns));
+ ti.add_base (Access::PUBLIC, true, Belongs::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo returns_ (returns_init_ ());
+ }
+
+ TypeInfo const& Returns::
+ static_type_info () { return returns_; }
+
+
+ // Raises
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ raises_init_ ()
+ {
+ TypeInfo ti (typeid (Raises));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo raises_ (raises_init_ ());
+ }
+
+ TypeInfo const& Raises::
+ static_type_info () { return raises_; }
+
+
+
+ // Parameter
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ parameter_init_ ()
+ {
+ TypeInfo ti (typeid (Parameter));
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo parameter_ (parameter_init_ ());
+ }
+
+ TypeInfo const& Parameter::
+ static_type_info () { return parameter_; }
+
+
+ // InParameter
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ in_parameter_init_ ()
+ {
+ TypeInfo ti (typeid (InParameter));
+ ti.add_base (Access::PUBLIC, true, Parameter::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo in_parameter_ (in_parameter_init_ ());
+ }
+
+ TypeInfo const& InParameter::
+ static_type_info () { return in_parameter_; }
+
+
+ // OutParameter
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ out_parameter_init_ ()
+ {
+ TypeInfo ti (typeid (OutParameter));
+ ti.add_base (Access::PUBLIC, true, Parameter::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo out_parameter_ (out_parameter_init_ ());
+ }
+
+ TypeInfo const& OutParameter::
+ static_type_info () { return out_parameter_; }
+
+
+ // InOutParameter
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ in_out_parameter_init_ ()
+ {
+ TypeInfo ti (typeid (InOutParameter));
+ ti.add_base (Access::PUBLIC, true, Parameter::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo in_out_parameter_ (in_out_parameter_init_ ());
+ }
+
+ TypeInfo const& InOutParameter::
+ static_type_info () { return in_out_parameter_; }
+
+
+ // Operation
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ operation_init_ ()
+ {
+ TypeInfo ti (typeid (Operation));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo operation_ (operation_init_ ());
+ }
+
+ TypeInfo const& Operation::
+ static_type_info () { return operation_; }
+
+
+ // OneWayOperation
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ one_way_operation_init_ ()
+ {
+ TypeInfo ti (typeid (OneWayOperation));
+ ti.add_base (Access::PUBLIC, true, Operation::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo one_way_operation_ (one_way_operation_init_ ());
+ }
+
+ TypeInfo const& OneWayOperation::
+ static_type_info () { return one_way_operation_; }
+
+
+ // TwoWayOperation
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ two_way_operation_init_ ()
+ {
+ TypeInfo ti (typeid (TwoWayOperation));
+ ti.add_base (Access::PUBLIC, true, Operation::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo two_way_operation_ (two_way_operation_init_ ());
+ }
+
+ TypeInfo const& TwoWayOperation::
+ static_type_info () { return two_way_operation_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.hpp
new file mode 100644
index 00000000000..a87eddf2ceb
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.hpp
@@ -0,0 +1,344 @@
+// file : CCF/IDL2/SemanticGraph/Operation.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_OPERATION_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_OPERATION_HPP
+
+#include <string>
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Exception.hpp"
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Operation;
+ class Parameter;
+
+ // Operation receives parameter
+ //
+ //
+ class Receives : public virtual Edge
+ {
+ public:
+ Operation&
+ operation () const
+ {
+ return *operation_;
+ }
+
+ Parameter&
+ parameter () const
+ {
+ return *parameter_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Receives ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Operation& n)
+ {
+ operation_ = &n;
+ }
+
+ void
+ set_right_node (Parameter& n)
+ {
+ parameter_ = &n;
+ }
+
+ private:
+ Operation* operation_;
+ Parameter* parameter_;
+ };
+
+
+ // Operation returns
+ //
+ //
+ class Returns : public virtual Belongs
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Returns ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ // Raises
+ //
+ //
+ class Raises : public virtual Edge
+ {
+ public:
+ Operation&
+ operation () const
+ {
+ return *operation_;
+ }
+
+ Exception&
+ exception () const
+ {
+ return *exception_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Raises ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Operation& n)
+ {
+ operation_ = &n;
+ }
+
+ void
+ set_right_node (Exception& n)
+ {
+ exception_ = &n;
+ }
+
+ private:
+ Operation* operation_;
+ Exception* exception_;
+ };
+
+
+ //
+ //
+ //
+ class Parameter : public virtual Instance
+ {
+ public:
+ std::string
+ name () const
+ {
+ return name_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Parameter (std::string const& name)
+ : name_ (name)
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_right (Receives&)
+ {
+ }
+
+ private:
+ std::string name_;
+ };
+
+
+ class InParameter : public virtual Parameter
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ InParameter (std::string const& name)
+ : Parameter (name)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class OutParameter : public virtual Parameter
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ OutParameter (std::string const& name)
+ : Parameter (name)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class InOutParameter : public virtual Parameter
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ InOutParameter (std::string const& name)
+ : Parameter (name)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Operation : public virtual Nameable, public virtual Instance
+ {
+ typedef
+ std::vector<Receives*>
+ Receives_;
+
+ typedef
+ std::vector<Raises*>
+ Raises_;
+
+ public:
+ typedef
+ Receives_::const_iterator
+ ReceivesIterator;
+
+ ReceivesIterator
+ receives_begin () const
+ {
+ return receives_.begin ();
+ }
+
+ ReceivesIterator
+ receives_end () const
+ {
+ return receives_.end ();
+ }
+
+ typedef
+ Raises_::const_iterator
+ RaisesIterator;
+
+ RaisesIterator
+ raises_begin () const
+ {
+ return raises_.begin ();
+ }
+
+ RaisesIterator
+ raises_end () const
+ {
+ return raises_.end ();
+ }
+
+ Returns&
+ returns () const
+ {
+ return dynamic_cast<Returns&> (belongs ());
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Operation ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_left (Receives& e)
+ {
+ receives_.push_back (&e);
+ }
+
+ void
+ add_edge_left (Raises& e)
+ {
+ raises_.push_back (&e);
+ }
+
+ void
+ add_edge_left (Returns& e)
+ {
+ Instance::add_edge_left (e);
+ }
+
+ private:
+ Receives_ receives_;
+ Raises_ raises_;
+ };
+
+
+ //
+ //
+ //
+ class OneWayOperation : public virtual Operation
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ OneWayOperation ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class TwoWayOperation : public virtual Operation
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ TwoWayOperation ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_OPERATION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.cpp
new file mode 100644
index 00000000000..a9d135b2d33
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.cpp
@@ -0,0 +1,58 @@
+// file : CCF/IDL2/SemanticGraph/Sequence.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Sequence.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Sequence
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ sequence_init_ ()
+ {
+ TypeInfo ti (typeid (Sequence));
+ ti.add_base (Access::PUBLIC,
+ true,
+ TypeTemplateSpecialization::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo sequence_ (sequence_init_ ());
+ }
+
+ TypeInfo const& Sequence::
+ static_type_info () { return sequence_; }
+
+
+ // UnboundedSequence
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ unbounded_sequence_init_ ()
+ {
+ TypeInfo ti (typeid (UnboundedSequence));
+ ti.add_base (Access::PUBLIC, true, Sequence::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo unbounded_sequence_ (unbounded_sequence_init_ ());
+ }
+
+ TypeInfo const& UnboundedSequence::
+ static_type_info () { return unbounded_sequence_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.hpp
new file mode 100644
index 00000000000..aa4b563b356
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Sequence.hpp
@@ -0,0 +1,65 @@
+// file : CCF/IDL2/SemanticGraph/Sequence.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_SEQUENCE_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_SEQUENCE_HPP
+
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class Sequence : public virtual TypeTemplateSpecialization
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return specialized ().type ().complete ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Sequence ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using TypeTemplateSpecialization::add_edge_right;
+ };
+
+
+ //
+ //
+ //
+ class UnboundedSequence : public virtual Sequence
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ UnboundedSequence ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_SEQUENCE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp
new file mode 100644
index 00000000000..fd933464b03
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp
@@ -0,0 +1,35 @@
+// file : CCF/IDL2/SemanticGraph/Struct.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Struct.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ struct_init_ ()
+ {
+ TypeInfo ti (typeid (Struct));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo struct_ (struct_init_ ());
+ }
+
+ TypeInfo const& Struct::
+ static_type_info () { return struct_; }
+
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.hpp
new file mode 100644
index 00000000000..fd6762e83b3
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.hpp
@@ -0,0 +1,43 @@
+// file : CCF/IDL2/SemanticGraph/Struct.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_STRUCT_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_STRUCT_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Struct : public virtual Type, public virtual Scope
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return defined ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Struct ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using Type::add_edge_right;
+ using Scope::add_edge_left;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_STRUCT_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.cpp
new file mode 100644
index 00000000000..93a73127c56
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.cpp
@@ -0,0 +1,255 @@
+// file : CCF/IDL2/SemanticGraph/Translation.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Translation.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // ContainsPrincipal
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ contains_principal_init_ ()
+ {
+ TypeInfo ti (typeid (ContainsPrincipal));
+ ti.add_base (Access::PUBLIC, true, Contains::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo contains_principal_ (contains_principal_init_ ());
+ }
+
+ TypeInfo const& ContainsPrincipal::
+ static_type_info () { return contains_principal_; }
+
+
+ // ContainsImplied
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ contains_implied_init_ ()
+ {
+ TypeInfo ti (typeid (ContainsImplied));
+ ti.add_base (Access::PUBLIC, true, Contains::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo contains_implied_ (contains_implied_init_ ());
+ }
+
+ TypeInfo const& ContainsImplied::
+ static_type_info () { return contains_implied_; }
+
+
+ // ContainsRoot
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ contains_root_init_ ()
+ {
+ TypeInfo ti (typeid (ContainsRoot));
+ ti.add_base (Access::PUBLIC, true, Contains::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo contains_root_ (contains_root_init_ ());
+ }
+
+ TypeInfo const& ContainsRoot::
+ static_type_info () { return contains_root_; }
+
+
+ // Includes
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ includes_init_ ()
+ {
+ TypeInfo ti (typeid (Includes));
+ ti.add_base (Access::PUBLIC, true, Contains::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo includes_ (includes_init_ ());
+ }
+
+ TypeInfo const& Includes::
+ static_type_info () { return includes_; }
+
+
+ // QuoteIncludes
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ quote_includes_init_ ()
+ {
+ TypeInfo ti (typeid (QuoteIncludes));
+ ti.add_base (Access::PUBLIC, true, Includes::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo quote_includes_ (quote_includes_init_ ());
+ }
+
+ TypeInfo const& QuoteIncludes::
+ static_type_info () { return quote_includes_; }
+
+
+
+ // BracketIncludes
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ bracket_includes_init_ ()
+ {
+ TypeInfo ti (typeid (BracketIncludes));
+ ti.add_base (Access::PUBLIC, true, Includes::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo bracket_includes_ (bracket_includes_init_ ());
+ }
+
+ TypeInfo const& BracketIncludes::
+ static_type_info () { return bracket_includes_; }
+
+
+ // Root
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ root_init_ ()
+ {
+ TypeInfo ti (typeid (Root));
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo root_ (root_init_ ());
+ }
+
+ TypeInfo const& Root::
+ static_type_info () { return root_; }
+
+
+ // TranslationRegion
+ //
+ //
+
+ Nameables TranslationRegion::
+ lookup (ScopedName const& name) const
+ {
+ Nameables r;
+ lookup (name, r);
+ return r;
+ }
+
+ void TranslationRegion::
+ lookup (ScopedName const& name, Nameables& result) const
+ {
+ bool root (name.simple ());
+
+ Name rest (name.begin () + (root ? 0 : 1), name.end ());
+
+ for (ContainsIterator i (contains_begin ()), end (contains_end ());
+ i != end; ++i)
+ {
+ Node& node ((**i).element ());
+
+ if (Root* r = dynamic_cast<Root*> (&node))
+ {
+ if (root)
+ {
+ result.insert (&dynamic_cast<Root&> (node));
+ }
+ else
+ {
+ r->lookup (rest, result);
+ }
+ }
+ else
+ {
+ dynamic_cast<TranslationRegion&> (node).lookup (name, result);
+ }
+ }
+ }
+
+
+ namespace
+ {
+ TypeInfo
+ translation_region_init_ ()
+ {
+ TypeInfo ti (typeid (TranslationRegion));
+ ti.add_base (Access::PUBLIC, true, Container::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo translation_region_ (translation_region_init_ ());
+ }
+
+ TypeInfo const& TranslationRegion::
+ static_type_info () { return translation_region_; }
+
+
+ // TranslationUnit
+ //
+ //
+
+ Nameables TranslationUnit::
+ lookup (ScopedName const& name) const
+ {
+ Nameables r;
+
+ for (ContainsIterator i (contains_begin ()), end (contains_end ());
+ i != end; ++i)
+ {
+ TranslationRegion& tr (
+ dynamic_cast<TranslationRegion&>((**i).element ()));
+
+ tr.lookup (name, r);
+ }
+
+ return r;
+ }
+
+ namespace
+ {
+ TypeInfo
+ translation_unit_init_ ()
+ {
+ TypeInfo ti (typeid (TranslationUnit));
+ ti.add_base (Access::PUBLIC, true, Container::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo translation_unit_ (translation_unit_init_ ());
+ }
+
+ TypeInfo const& TranslationUnit::
+ static_type_info () { return translation_unit_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.hpp
new file mode 100644
index 00000000000..2b12b5e3c61
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.hpp
@@ -0,0 +1,286 @@
+// file : CCF/IDL2/SemanticGraph/Translation.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_TRANSLATION_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_TRANSLATION_HPP
+
+#include <vector>
+#include <string>
+
+#include "CCF/CompilerElements/FileSystem.hpp"
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Root;
+ class TranslationRegion;
+ class TranslationUnit;
+
+
+ //
+ //
+ //
+ class ContainsPrincipal : public virtual Contains
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ContainsPrincipal ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (TranslationUnit& n);
+
+ void
+ set_right_node (TranslationRegion& n);
+ };
+
+
+ //
+ //
+ //
+ class ContainsImplied : public virtual Contains
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ContainsImplied (std::string const& name = "")
+ : name_ (name)
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (TranslationUnit& n);
+
+ void
+ set_right_node (TranslationRegion& n);
+
+ private:
+ std::string name_;
+ };
+
+
+ //
+ //
+ //
+ class ContainsRoot : public virtual Contains
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ContainsRoot ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (TranslationRegion& n);
+
+ void
+ set_right_node (Root& n);
+ };
+
+ //
+ //
+ //
+ class Includes : public virtual Contains
+ {
+ public:
+ fs::path
+ file () const
+ {
+ return file_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Includes (fs::path const& file)
+ : file_ (file)
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (TranslationRegion& n);
+
+ void
+ set_right_node (TranslationRegion& n);
+
+ private:
+ fs::path file_;
+ };
+
+
+ //
+ //
+ //
+ class QuoteIncludes : public virtual Includes
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ QuoteIncludes (fs::path const& file)
+ : Includes (file)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class BracketIncludes : public virtual Includes
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ BracketIncludes (fs::path const& file)
+ : Includes (file)
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Root : public virtual Scope
+ {
+ public:
+ virtual SimpleName
+ name () const
+ {
+ return SimpleName ("");
+ }
+
+ virtual ScopedName
+ scoped_name () const
+ {
+ return ScopedName ("");
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Root ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_right (Contains&)
+ {
+ // TranslationRegion contains Root
+ }
+ };
+
+
+ //
+ //
+ //
+ class TranslationRegion : public virtual Container
+ {
+ public:
+ Nameables
+ lookup (ScopedName const& name) const;
+
+ void
+ lookup (ScopedName const& name, Nameables& result) const;
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ TranslationRegion ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ add_edge_right (Contains&)
+ {
+ }
+ };
+
+
+ class TranslationUnit : public virtual Container,
+ public Graph<Node, Edge>
+ {
+ public:
+ TranslationUnit ()
+ {
+ type_info (static_type_info ());
+ }
+
+ Nameables
+ lookup (ScopedName const& name) const;
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ void
+ add_edge_left (ContainsPrincipal& e)
+ {
+ Container::add_edge_left (e);
+ }
+
+ void
+ add_edge_left (ContainsImplied& e)
+ {
+ Container::add_edge_left (e);
+ }
+
+ private:
+ TranslationUnit (TranslationUnit const&);
+ void operator= (TranslationUnit const&);
+ };
+ }
+ }
+}
+
+#include "CCF/IDL2/SemanticGraph/Translation.ipp"
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_TRANSLATION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.ipp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.ipp
new file mode 100644
index 00000000000..8168cd87762
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Translation.ipp
@@ -0,0 +1,73 @@
+// file : CCF/IDL2/SemanticGraph/Translation.ipp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ // ContainsPrincipal
+ //
+ //
+ inline void ContainsPrincipal::
+ set_left_node (TranslationUnit& n)
+ {
+ Contains::set_left_node (n);
+ }
+
+ inline void ContainsPrincipal::
+ set_right_node (TranslationRegion& n)
+ {
+ Contains::set_right_node (n);
+ }
+
+ // ContainsImplied
+ //
+ //
+ inline void ContainsImplied::
+ set_left_node (TranslationUnit& n)
+ {
+ Contains::set_left_node (n);
+ }
+
+ inline void ContainsImplied::
+ set_right_node (TranslationRegion& n)
+ {
+ Contains::set_right_node (n);
+ }
+
+ // ContainsRoot
+ //
+ //
+ inline void ContainsRoot::
+ set_left_node (TranslationRegion& n)
+ {
+ Contains::set_left_node (n);
+ }
+
+ inline void ContainsRoot::
+ set_right_node (Root& n)
+ {
+ Contains::set_right_node (n);
+ }
+
+
+ // Includes
+ //
+ //
+ inline void Includes::
+ set_left_node (TranslationRegion& n)
+ {
+ Contains::set_left_node (n);
+ }
+
+ inline void Includes::
+ set_right_node (TranslationRegion& n)
+ {
+ Contains::set_right_node (n);
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.cpp
new file mode 100644
index 00000000000..7f7a1f69479
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.cpp
@@ -0,0 +1,56 @@
+// file : CCF/IDL2/SemanticGraph/TypeId.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/TypeId.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // TypeId
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ type_id_init_ ()
+ {
+ TypeInfo ti (typeid (TypeId));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo type_id_ (type_id_init_ ());
+ }
+
+ TypeInfo const& TypeId::
+ static_type_info () { return type_id_; }
+
+
+ // TypePrefix
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ type_prefix_init_ ()
+ {
+ TypeInfo ti (typeid (TypePrefix));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo type_prefix_ (type_prefix_init_ ());
+ }
+
+ TypeInfo const& TypePrefix::
+ static_type_info () { return type_prefix_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.hpp
new file mode 100644
index 00000000000..db02aae6edf
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/TypeId.hpp
@@ -0,0 +1,96 @@
+// file : CCF/IDL2/SemanticGraph/TypeId.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_TYPE_ID_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_TYPE_ID_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Literals.hpp"
+
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class TypeId : public virtual Nameable
+ {
+ public:
+ //@@ declaration is a bad name.
+ //
+ ScopedName
+ declaration () const
+ {
+ return name_;
+ }
+
+ StringLiteral
+ id () const
+ {
+ return id_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ TypeId (ScopedName const& name, StringLiteral const& id)
+ : name_ (name),
+ id_ (id)
+ {
+ type_info (static_type_info ());
+ }
+
+ private:
+ ScopedName name_;
+ StringLiteral id_;
+ };
+
+
+ //
+ //
+ //
+ class TypePrefix : public virtual Nameable
+ {
+ public:
+ ScopedName
+ declaration () const
+ {
+ return name_;
+ }
+
+ StringLiteral
+ prefix () const
+ {
+ return prefix_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ TypePrefix (ScopedName const& name, StringLiteral const& prefix)
+ : name_ (name),
+ prefix_ (prefix)
+ {
+ type_info (static_type_info ());
+ }
+
+ private:
+ ScopedName name_;
+ StringLiteral prefix_;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_TYPE_ID_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp
new file mode 100644
index 00000000000..25b692648b9
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp
@@ -0,0 +1,142 @@
+// file : CCF/IDL2/SemanticGraph/Union.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/Union.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+
+ // Selects
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ selects_init_ ()
+ {
+ TypeInfo ti (typeid (Selects));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo selects_ (selects_init_ ());
+ }
+
+ TypeInfo const& Selects::
+ static_type_info () { return selects_; }
+
+
+ // UnionMember
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ union_member_init_ ()
+ {
+ TypeInfo ti (typeid (UnionMember));
+ ti.add_base (Access::PUBLIC, true, Member::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo union_member_ (union_member_init_ ());
+ }
+
+ TypeInfo const& UnionMember::
+ static_type_info () { return union_member_; }
+
+
+ // Selector
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ selector_init_ ()
+ {
+ TypeInfo ti (typeid (Selector));
+ ti.add_base (Access::PUBLIC, true, Node::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo selector_ (selector_init_ ());
+ }
+
+ TypeInfo const& Selector::
+ static_type_info () { return selector_; }
+
+
+ // DefaultSelector
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ default_selector_init_ ()
+ {
+ TypeInfo ti (typeid (DefaultSelector));
+ ti.add_base (Access::PUBLIC, true, Selector::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo default_selector_ (default_selector_init_ ());
+ }
+
+ TypeInfo const& DefaultSelector::
+ static_type_info () { return default_selector_; }
+
+
+ // ValueSelector
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ value_selector_init_ ()
+ {
+ TypeInfo ti (typeid (ValueSelector));
+ ti.add_base (Access::PUBLIC, true, Selector::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo value_selector_ (value_selector_init_ ());
+ }
+
+ TypeInfo const& ValueSelector::
+ static_type_info () { return value_selector_; }
+
+ // Union
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ union_init_ ()
+ {
+ TypeInfo ti (typeid (Union));
+
+ ti.add_base (Access::PUBLIC,
+ true,
+ TypeTemplateSpecialization::static_type_info ());
+
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo union_ (union_init_ ());
+ }
+
+ TypeInfo const& Union::
+ static_type_info () { return union_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.hpp
new file mode 100644
index 00000000000..46b75a6be65
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.hpp
@@ -0,0 +1,153 @@
+// file : CCF/IDL2/SemanticGraph/Union.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_UNION_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_UNION_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Member.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ class Selector;
+ class UnionMember;
+
+ class Selects : public virtual Edge
+ {
+ public:
+ Selector&
+ selector () const
+ {
+ return *selector_;
+ }
+
+ UnionMember&
+ member () const
+ {
+ return *member_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Selects ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Selector& n)
+ {
+ selector_ = &n;
+ }
+
+ void
+ set_right_node (UnionMember& n)
+ {
+ member_ = &n;
+ }
+
+ private:
+ Selector* selector_;
+ UnionMember* member_;
+ };
+
+ class UnionMember : public virtual Member
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ UnionMember ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class Selector : public virtual Node
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Selector ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class DefaultSelector : public virtual Selector
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ DefaultSelector ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class ValueSelector : public virtual Selector,
+ public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ValueSelector ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ class Union : public virtual TypeTemplateSpecialization,
+ public virtual Scope
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return defined ();
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Union ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using TypeTemplateSpecialization::add_edge_left;
+ using TypeTemplateSpecialization::add_edge_right;
+ using Scope::add_edge_left;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_UNION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp
new file mode 100644
index 00000000000..f369e7d790d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp
@@ -0,0 +1,77 @@
+// file : CCF/IDL2/SemanticGraph/ValueType.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/SemanticGraph/ValueType.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // ValueType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ value_type_init_ ()
+ {
+ TypeInfo ti (typeid (ValueType));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo value_type_ (value_type_init_ ());
+ }
+
+ TypeInfo const& ValueType::
+ static_type_info () { return value_type_; }
+
+
+ // AbstractValueType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ abstract_value_type_init_ ()
+ {
+ TypeInfo ti (typeid (AbstractValueType));
+ ti.add_base (Access::PUBLIC, true, ValueType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo abstract_value_type_ (abstract_value_type_init_ ());
+ }
+
+ TypeInfo const& AbstractValueType::
+ static_type_info () { return abstract_value_type_; }
+
+
+ // ConcreteValueType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ concrete_value_type_init_ ()
+ {
+ TypeInfo ti (typeid (ConcreteValueType));
+ ti.add_base (Access::PUBLIC, true, ValueType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo concrete_value_type_ (concrete_value_type_init_ ());
+ }
+
+ TypeInfo const& ConcreteValueType::
+ static_type_info () { return concrete_value_type_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp
new file mode 100644
index 00000000000..377e70ab31f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp
@@ -0,0 +1,88 @@
+// file : CCF/IDL2/SemanticGraph/ValueType.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_SEMANTIC_GRAPH_VALUE_TYPE_HPP
+#define CCF_IDL2_SEMANTIC_GRAPH_VALUE_TYPE_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class ValueType : public virtual Type,
+ public virtual Scope
+ {
+ public:
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ValueType ()
+ {
+ type_info (static_type_info ());
+ }
+
+ using Type::add_edge_right;
+ using Scope::add_edge_left;
+ };
+
+
+ //
+ //
+ //
+ class AbstractValueType : public virtual ValueType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ AbstractValueType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+ // @@ TODO: value type member
+ // @@ TODO: value type factory
+ //
+
+ //
+ //
+ //
+ class ConcreteValueType : public virtual ValueType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ConcreteValueType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_SEMANTIC_GRAPH_VALUE_TYPE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.cpp
new file mode 100644
index 00000000000..f6355af1ce3
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.cpp
@@ -0,0 +1,132 @@
+// file : CCF/IDL2/Traversal/Attribute.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/Attribute.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ // Attribute
+ //
+ //
+
+ void Attribute::
+ traverse (Type& a)
+ {
+ pre (a);
+ belongs (a);
+ name (a);
+ post (a);
+ }
+
+ void Attribute::
+ pre (Type&)
+ {
+ }
+
+ void Attribute::
+ belongs (Type& a, EdgeDispatcherBase& d)
+ {
+ d.traverse (a.belongs ());
+ }
+
+ void Attribute::
+ belongs (Type& a)
+ {
+ belongs (a, edge_traverser ());
+ }
+
+ void Attribute::
+ name (Type&)
+ {
+ }
+
+ void Attribute::
+ post (Type&)
+ {
+ }
+
+ // ReadAttribute
+ //
+ //
+ void ReadAttribute::
+ traverse (Type& a)
+ {
+ pre (a);
+ belongs (a);
+ name (a);
+ post (a);
+ }
+
+ void ReadAttribute::
+ pre (Type&)
+ {
+ }
+
+ void ReadAttribute::
+ belongs (Type& a, EdgeDispatcherBase& d)
+ {
+ d.traverse (a.belongs ());
+ }
+
+ void ReadAttribute::
+ belongs (Type& a)
+ {
+ belongs (a, edge_traverser ());
+ }
+
+ void ReadAttribute::
+ name (Type&)
+ {
+ }
+
+ void ReadAttribute::
+ post (Type&)
+ {
+ }
+
+ // ReadWriteAttribute
+ //
+ //
+ void ReadWriteAttribute::
+ traverse (Type& a)
+ {
+ pre (a);
+ belongs (a);
+ name (a);
+ post (a);
+ }
+
+ void ReadWriteAttribute::
+ pre (Type&)
+ {
+ }
+
+ void ReadWriteAttribute::
+ belongs (Type& a, EdgeDispatcherBase& d)
+ {
+ d.traverse (a.belongs ());
+ }
+
+ void ReadWriteAttribute::
+ belongs (Type& a)
+ {
+ belongs (a, edge_traverser ());
+ }
+
+ void ReadWriteAttribute::
+ name (Type&)
+ {
+ }
+
+ void ReadWriteAttribute::
+ post (Type&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.hpp
new file mode 100644
index 00000000000..80d8eb787f4
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Attribute.hpp
@@ -0,0 +1,133 @@
+// file : CCF/IDL2/Traversal/Attribute.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_ATTRIBUTE_HPP
+#define CCF_IDL2_TRAVERSAL_ATTRIBUTE_HPP
+
+#include "CCF/IDL2/SemanticGraph/Attribute.hpp"
+#include "CCF/IDL2/Traversal/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ //
+ //
+ //
+ struct Attribute : Node<SemanticGraph::Attribute>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ belongs (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ belongs (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ post (Type&);
+ };
+
+ //
+ //
+ //
+ struct ReadAttribute : Node<SemanticGraph::ReadAttribute>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ belongs (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ belongs (Type&);
+
+ virtual void
+ name (Type&);
+
+ /*
+ virtual void
+ get_raises (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ get_raises (Type&);
+
+ virtual void
+ get_raises_pre (Type&);
+
+ virtual void
+ get_raises_post (Type&);
+ */
+
+ virtual void
+ post (Type&);
+ };
+
+
+ //
+ //
+ //
+ struct ReadWriteAttribute : Node<SemanticGraph::ReadWriteAttribute>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ belongs (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ belongs (Type&);
+
+ virtual void
+ name (Type&);
+
+ /*
+ virtual void
+ get_raises (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ get_raises (Type&);
+
+ virtual void
+ get_raises_pre (Type&);
+
+ virtual void
+ get_raises_post (Type&);
+
+ virtual void
+ set_raises (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ set_raises (Type&);
+
+ virtual void
+ set_raises_pre (Type&);
+
+ virtual void
+ set_raises_post (Type&);
+ */
+
+ virtual void
+ post (Type&);
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_TRAVERSAL_ATTRIBUTE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.tpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.tpp
new file mode 100644
index 00000000000..60cace27f69
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.tpp
@@ -0,0 +1,128 @@
+// file : CCF/IDL2/Traversal/Elements.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ // Traverser
+ //
+ //
+
+ template<typename T>
+ Traverser<T>::
+ ~Traverser ()
+ {
+ }
+
+ // Dispatcher
+ //
+ //
+
+ template <typename T>
+ Dispatcher<T>::
+ ~Dispatcher ()
+ {
+ }
+
+ template <typename T>
+ void Dispatcher<T>::
+ traverse (T& n)
+ {
+ LevelMap levels;
+
+ unsigned long max = compute_levels (n.type_info (), 0, levels);
+
+
+ //cerr << "starting dispatch process for "
+ // << n.type_info ().type_id () << " with "
+ // << max << " levels" << endl;
+
+ for (unsigned long l = 0; l < max + 1; ++l)
+ {
+ TypeInfoSet dispatched;
+
+ for (typename LevelMap::const_iterator
+ i (levels.begin ()), e (levels.end ());
+ i != e; ++i)
+ {
+ if (i->second == l)
+ {
+ typename TraversalMap::const_iterator v (
+ traversal_map_.find (i->first.type_id ()));
+
+ if (v != traversal_map_.end ())
+ {
+ //cerr << "dispatching traversers for "
+ // << n.type_info ().type_id () << " as "
+ // << i->first.type_id () << endl;
+
+ Traversers const& traversers (v->second);
+ for (typename Traversers::const_iterator
+ ti (traversers.begin ()), te (traversers.end ());
+ ti != te; ++ti)
+ {
+ (*ti)->trampoline (n);
+ }
+
+ flatten_tree (i->first, dispatched);
+ }
+ }
+ }
+
+ // Remove traversed types from level map.
+ //
+ for (typename TypeInfoSet::const_iterator i = dispatched.begin ();
+ i != dispatched.end ();
+ ++i)
+ {
+ levels.erase (*i);
+ }
+ }
+ }
+
+ template <typename T>
+ unsigned long Dispatcher<T>::
+ compute_levels (Introspection::TypeInfo const& ti,
+ unsigned long cur,
+ LevelMap& map)
+ {
+ unsigned long ret = cur;
+
+ if (map.find (ti) == map.end () || map[ti] < cur) map[ti] = cur;
+
+ for (Introspection::TypeInfo::BaseIterator i = ti.begin_base ();
+ i != ti.end_base ();
+ i++)
+ {
+ unsigned long t = compute_levels (i->type_info (), cur + 1, map);
+ if (t > ret) ret = t;
+ }
+
+ return ret;
+ }
+
+ template <typename T>
+ void Dispatcher<T>::
+ flatten_tree (Introspection::TypeInfo const& ti, TypeInfoSet& set)
+ {
+ set.insert (ti);
+
+ for (Introspection::TypeInfo::BaseIterator i = ti.begin_base ();
+ i != ti.end_base ();
+ i++)
+ {
+ flatten_tree (i->type_info (), set);
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.cpp
new file mode 100644
index 00000000000..35df538f85b
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.cpp
@@ -0,0 +1,16 @@
+// file : CCF/IDL2/Traversal/Enum.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/Enum.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ }
+ }
+}
+
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.hpp
new file mode 100644
index 00000000000..d789f30b1b0
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Enum.hpp
@@ -0,0 +1,30 @@
+// file : CCF/IDL2/Traversal/Enum.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_ENUM_HPP
+#define CCF_IDL2_TRAVERSAL_ENUM_HPP
+
+#include "CCF/IDL2/SemanticGraph/Enum.hpp"
+#include "CCF/IDL2/Traversal/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ // Minimal support for now. Talk to me if you need more.
+ //
+ struct Enum : Node<SemanticGraph::Enum>
+ {
+ };
+
+ struct Enumerator : Node<SemanticGraph::Enumerator>
+ {
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_TRAVERSAL_ENUM_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.cpp
new file mode 100644
index 00000000000..21e41784c71
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.cpp
@@ -0,0 +1,38 @@
+// file : CCF/IDL2/Traversal/Exception.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/Exception.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ void Exception::
+ traverse (Type& s)
+ {
+ pre (s);
+ name (s);
+ names (s);
+ post (s);
+ }
+
+ void Exception::
+ pre (Type&)
+ {
+ }
+
+ void Exception::
+ name (Type&)
+ {
+ }
+
+ void Exception::
+ post (Type&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.hpp
new file mode 100644
index 00000000000..23eda73f1a7
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Exception.hpp
@@ -0,0 +1,36 @@
+// file : CCF/IDL2/Traversal/Exception.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_EXCEPTION_HPP
+#define CCF_IDL2_TRAVERSAL_EXCEPTION_HPP
+
+#include "CCF/IDL2/Traversal/Elements.hpp"
+
+#include "CCF/IDL2/SemanticGraph/Exception.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ struct Exception : ScopeTemplate<SemanticGraph::Exception>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ post (Type&);
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_TRAVERSAL_EXCEPTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.cpp
new file mode 100644
index 00000000000..4dd6760cebe
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.cpp
@@ -0,0 +1,16 @@
+// file : CCF/IDL2/Traversal/Fundamental.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/Fundamental.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ }
+ }
+}
+
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.hpp
new file mode 100644
index 00000000000..c4e10d18057
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Fundamental.hpp
@@ -0,0 +1,101 @@
+// file : CCF/IDL2/Traversal/Fundamental.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_FUNDAMENTAL_HPP
+#define CCF_IDL2_TRAVERSAL_FUNDAMENTAL_HPP
+
+#include "CCF/IDL2/Traversal/Elements.hpp"
+
+#include "CCF/IDL2/SemanticGraph/Fundamental.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ typedef
+ Node<SemanticGraph::FundamentalType>
+ FundamentalType;
+
+ typedef
+ Node<SemanticGraph::Object>
+ Object;
+
+ typedef
+ Node<SemanticGraph::ValueBase>
+ ValueBase;
+
+ typedef
+ Node<SemanticGraph::Any>
+ Any;
+
+ typedef
+ Node<SemanticGraph::Boolean>
+ Boolean;
+
+ typedef
+ Node<SemanticGraph::Char>
+ Char;
+
+ typedef
+ Node<SemanticGraph::Double>
+ Double;
+
+ typedef
+ Node<SemanticGraph::Float>
+ Float;
+
+ typedef
+ Node<SemanticGraph::Long>
+ Long;
+
+ typedef
+ Node<SemanticGraph::LongDouble>
+ LongDouble;
+
+ typedef
+ Node<SemanticGraph::LongLong>
+ LongLong;
+
+ typedef
+ Node<SemanticGraph::Octet>
+ Octet;
+
+ typedef
+ Node<SemanticGraph::Short>
+ Short;
+
+ typedef
+ Node<SemanticGraph::String>
+ String;
+
+ typedef
+ Node<SemanticGraph::UnsignedLong>
+ UnsignedLong;
+
+ typedef
+ Node<SemanticGraph::UnsignedLongLong>
+ UnsignedLongLong;
+
+ typedef
+ Node<SemanticGraph::UnsignedShort>
+ UnsignedShort;
+
+ typedef
+ Node<SemanticGraph::Void>
+ Void;
+
+ typedef
+ Node<SemanticGraph::Wchar>
+ Wchar;
+
+ typedef
+ Node<SemanticGraph::Wstring>
+ Wstring;
+ }
+ }
+}
+
+#endif // CCF_IDL2_TRAVERSAL_FUNDAMENTAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Interface.tpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Interface.tpp
new file mode 100644
index 00000000000..7c22c0794f4
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Interface.tpp
@@ -0,0 +1,99 @@
+// file : CCF/IDL2/Traversal/Interface.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ template <typename T>
+ void InterfaceTemplate<T>::
+ traverse (T& i)
+ {
+ pre (i);
+ name (i);
+ inherits (i);
+ names (i);
+ post (i);
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ inherits (T& i, EdgeDispatcherBase& d)
+ {
+ iterate_and_traverse (i.inherits_begin (),
+ i.inherits_end (),
+ d);
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ inherits (T& i)
+ {
+ typename T::InheritsIterator
+ b (i.inherits_begin ()), e (i.inherits_end ());
+
+ if (b != e)
+ {
+ inherits_pre (i);
+ iterate_and_traverse (b,
+ e,
+ edge_traverser (),
+ *this,
+ &InterfaceTemplate::comma,
+ i);
+ inherits_post (i);
+ }
+ else
+ {
+ inherits_none (i);
+ }
+
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ inherits_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ inherits_post (T&)
+ {
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ inherits_none (T&)
+ {
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ post (T&)
+ {
+ }
+
+ template <typename T>
+ void InterfaceTemplate<T>::
+ comma (T&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Makefile b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Makefile
new file mode 100644
index 00000000000..6bdfe476c31
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Makefile
@@ -0,0 +1,268 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Attribute \
+ Elements \
+ Enum \
+ Exception \
+ Fundamental \
+ Interface \
+ Member \
+ Module \
+ Native \
+ Operation \
+ Sequence \
+ Struct \
+ Translation \
+ TypeId \
+ Union \
+ ValueType
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Attribute.o .obj/Attribute.o .obj/Attribute.o .obj/Attribute.o: Attribute.cpp ../../../CCF/IDL2/Traversal/Attribute.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp
+
+.obj/Elements.o .obj/Elements.o .obj/Elements.o .obj/Elements.o: Elements.cpp ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp
+
+.obj/Enum.o .obj/Enum.o .obj/Enum.o .obj/Enum.o: Enum.cpp ../../../CCF/IDL2/Traversal/Enum.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp
+
+.obj/Exception.o .obj/Exception.o .obj/Exception.o .obj/Exception.o: Exception.cpp ../../../CCF/IDL2/Traversal/Exception.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp
+
+.obj/Fundamental.o .obj/Fundamental.o .obj/Fundamental.o .obj/Fundamental.o: Fundamental.cpp \
+ ../../../CCF/IDL2/Traversal/Fundamental.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Fundamental.hpp
+
+.obj/Interface.o .obj/Interface.o .obj/Interface.o .obj/Interface.o: Interface.cpp ../../../CCF/IDL2/Traversal/Interface.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL2/Traversal/Interface.tpp
+
+.obj/Member.o .obj/Member.o .obj/Member.o .obj/Member.o: Member.cpp ../../../CCF/IDL2/Traversal/Member.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Member.hpp
+
+.obj/Module.o .obj/Module.o .obj/Module.o .obj/Module.o: Module.cpp ../../../CCF/IDL2/Traversal/Module.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Module.hpp
+
+.obj/Native.o .obj/Native.o .obj/Native.o .obj/Native.o: Native.cpp ../../../CCF/IDL2/Traversal/Native.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Native.hpp
+
+.obj/Operation.o .obj/Operation.o .obj/Operation.o .obj/Operation.o: Operation.cpp ../../../CCF/IDL2/Traversal/Operation.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL2/Traversal/Operation.tpp
+
+.obj/Sequence.o .obj/Sequence.o .obj/Sequence.o .obj/Sequence.o: Sequence.cpp ../../../CCF/IDL2/Traversal/Sequence.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Sequence.hpp
+
+.obj/Struct.o .obj/Struct.o .obj/Struct.o .obj/Struct.o: Struct.cpp ../../../CCF/IDL2/Traversal/Struct.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Struct.hpp
+
+.obj/Translation.o .obj/Translation.o .obj/Translation.o .obj/Translation.o: Translation.cpp \
+ ../../../CCF/IDL2/Traversal/Translation.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Translation.ipp
+
+.obj/TypeId.o .obj/TypeId.o .obj/TypeId.o .obj/TypeId.o: TypeId.cpp ../../../CCF/IDL2/Traversal/TypeId.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Literals.hpp
+
+.obj/Union.o .obj/Union.o .obj/Union.o .obj/Union.o: Union.cpp ../../../CCF/IDL2/Traversal/Union.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Union.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Member.hpp
+
+.obj/ValueType.o .obj/ValueType.o .obj/ValueType.o .obj/ValueType.o: ValueType.cpp ../../../CCF/IDL2/Traversal/ValueType.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../CCF/IDL2/Traversal/ValueType.tpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.cpp
new file mode 100644
index 00000000000..59a99bec8ad
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.cpp
@@ -0,0 +1,16 @@
+// file : CCF/IDL2/Traversal/Native.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/Native.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ }
+ }
+}
+
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.hpp
new file mode 100644
index 00000000000..ad70473c234
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Native.hpp
@@ -0,0 +1,24 @@
+// file : CCF/IDL2/Traversal/Native.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_NATIVE_HPP
+#define CCF_IDL2_TRAVERSAL_NATIVE_HPP
+
+#include "CCF/IDL2/Traversal/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Native.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ typedef
+ Node<SemanticGraph::Native>
+ Native;
+ }
+ }
+}
+
+#endif // CCF_IDL2_TRAVERSAL_NATIVE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Operation.tpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Operation.tpp
new file mode 100644
index 00000000000..3c46aae76c3
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Operation.tpp
@@ -0,0 +1,201 @@
+// file : CCF/IDL2/Traversal/Operation.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ // ParameterTemplate
+ //
+ //
+ template<typename T>
+ void ParameterTemplate<T>::
+ traverse (T& p)
+ {
+ pre (p);
+ belongs (p);
+ name (p);
+ post (p);
+ }
+
+ template<typename T>
+ void ParameterTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template<typename T>
+ void ParameterTemplate<T>::
+ belongs (T& p, EdgeDispatcherBase& d)
+ {
+ d.traverse (p.belongs ());
+ }
+
+ template<typename T>
+ void ParameterTemplate<T>::
+ belongs (T& p)
+ {
+ belongs (p, edge_traverser ());
+ }
+
+ template<typename T>
+ void ParameterTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template<typename T>
+ void ParameterTemplate<T>::
+ post (T&)
+ {
+ }
+
+
+ // OperationTemplate
+ //
+ //
+ template<typename T>
+ void OperationTemplate<T>::
+ traverse (T& o)
+ {
+ pre (o);
+ returns (o);
+ name (o);
+ receives (o);
+ raises (o);
+ post (o);
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ returns (T& o, EdgeDispatcherBase& d)
+ {
+ d.traverse (o.returns ());
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ returns (T& o)
+ {
+ returns (o, edge_traverser ());
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ receives (T& o, EdgeDispatcherBase& d)
+ {
+ iterate_and_traverse (o.receives_begin (), o.receives_end (), d);
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ receives (T& o)
+ {
+ typename T::ReceivesIterator
+ b (o.receives_begin ()), e (o.receives_end ());
+
+ if (b != e)
+ {
+ receives_pre (o);
+ iterate_and_traverse (
+ b, e, edge_traverser (), *this, &OperationTemplate<T>::comma, o);
+ receives_post (o);
+ }
+ else
+ {
+ receives_none (o);
+ }
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ receives_pre (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ receives_post (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ receives_none (T&)
+ {
+ }
+
+
+ template<typename T>
+ void OperationTemplate<T>::
+ raises (T& o, EdgeDispatcherBase& d)
+ {
+ iterate_and_traverse (o.raises_begin (), o.raises_end (), d);
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ raises (T& o)
+ {
+ typename T::RaisesIterator b (o.raises_begin ()), e (o.raises_end ());
+
+ if (b != e)
+ {
+ raises_pre (o);
+ iterate_and_traverse (
+ b, e, edge_traverser (), *this, &OperationTemplate<T>::comma, o);
+ raises_post (o);
+ }
+ else
+ {
+ raises_none (o);
+ }
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ raises_pre (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ raises_post (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ raises_none (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ post (T&)
+ {
+ }
+
+ template<typename T>
+ void OperationTemplate<T>::
+ comma (T&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp
new file mode 100644
index 00000000000..d440907ed4c
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp
@@ -0,0 +1,81 @@
+// file : CCF/IDL2/Traversal/Union.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/Union.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ // UnionMember
+ //
+ //
+ void UnionMember::
+ traverse (Type& m)
+ {
+ pre (m);
+ belongs (m);
+ name (m);
+ post (m);
+ }
+
+ void UnionMember::
+ pre (Type&)
+ {
+ }
+
+ void UnionMember::
+ belongs (Type& m, EdgeDispatcherBase& d)
+ {
+ d.traverse (m.belongs ());
+ }
+
+ void UnionMember::
+ belongs (Type& m)
+ {
+ belongs (m, edge_traverser ());
+ }
+
+ void UnionMember::
+ name (Type&)
+ {
+ }
+
+ void UnionMember::
+ post (Type&)
+ {
+ }
+
+
+ // Union
+ //
+ //
+ void Union::
+ traverse (Type& s)
+ {
+ pre (s);
+ name (s);
+ names (s);
+ post (s);
+ }
+
+ void Union::
+ pre (Type&)
+ {
+ }
+
+ void Union::
+ name (Type&)
+ {
+ }
+
+ void Union::
+ post (Type&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp
new file mode 100644
index 00000000000..0237be5016d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp
@@ -0,0 +1,63 @@
+// file : CCF/IDL2/Traversal/Union.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_UNION_HPP
+#define CCF_IDL2_TRAVERSAL_UNION_HPP
+
+#include "CCF/IDL2/Traversal/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Union.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ //
+ //
+ //
+ struct UnionMember : Node<SemanticGraph::UnionMember>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ belongs (Type&, EdgeDispatcherBase&);
+
+ virtual void
+ belongs (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ post (Type&);
+ };
+
+
+ //
+ //
+ //
+ struct Union : ScopeTemplate<SemanticGraph::Union>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ post (Type&);
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL2_TRAVERSAL_UNION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.cpp
new file mode 100644
index 00000000000..63dce1325df
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.cpp
@@ -0,0 +1,15 @@
+// file : CCF/IDL2/Traversal/ValueType.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL2/Traversal/ValueType.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp
new file mode 100644
index 00000000000..40be839503c
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp
@@ -0,0 +1,85 @@
+// file : CCF/IDL2/Traversal/ValueType.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP
+#define CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP
+
+#include "CCF/IDL2/Traversal/Elements.hpp"
+
+#include "CCF/IDL2/SemanticGraph/ValueType.hpp"
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ template <typename T>
+ struct ValueTypeTemplate : ScopeTemplate<T>
+ {
+ virtual void
+ traverse (T&);
+
+ virtual void
+ pre (T&);
+
+ virtual void
+ name (T&);
+
+ virtual void
+ inherits (T&, EdgeDispatcherBase& d);
+
+ virtual void
+ inherits (T&);
+
+ virtual void
+ inherits_pre (T&);
+
+ virtual void
+ inherits_post (T&);
+
+ virtual void
+ inherits_none (T&);
+
+ virtual void
+ supports (T&, EdgeDispatcherBase& d);
+
+ virtual void
+ supports (T&);
+
+ virtual void
+ supports_pre (T&);
+
+ virtual void
+ supports_post (T&);
+
+ virtual void
+ supports_none (T&);
+
+ virtual void
+ post (T&);
+
+ virtual void
+ comma (T&);
+ };
+
+
+ typedef
+ ValueTypeTemplate<SemanticGraph::ValueType>
+ ValueType;
+
+ typedef
+ ValueTypeTemplate<SemanticGraph::AbstractValueType>
+ AbstractValueType;
+
+ typedef
+ ValueTypeTemplate<SemanticGraph::ConcreteValueType>
+ ConcreteValueType;
+ }
+ }
+}
+
+#include "CCF/IDL2/Traversal/ValueType.tpp"
+
+#endif // CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.tpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.tpp
new file mode 100644
index 00000000000..0ed2fe7a9cc
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.tpp
@@ -0,0 +1,132 @@
+// file : CCF/IDL2/Traversal/ValueType.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL2
+ {
+ namespace Traversal
+ {
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ traverse (T& i)
+ {
+ pre (i);
+ name (i);
+ inherits (i);
+ supports (i);
+ names (i);
+ post (i);
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ inherits (T&, EdgeDispatcherBase&)
+ {
+ //@@ TODO
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ inherits (T&)
+ {
+ /*
+ typename T::InheritsIterator
+ b (i.inherits_begin ()), e (i.inherits_end ());
+
+ if (b != e)
+ {
+ inherits_pre (i);
+ iterate_and_dispatch (b, e, *this, &ValueTypeTemplate::comma, i);
+ inherits_post (i);
+ }
+ */
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ inherits_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ inherits_post (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ inherits_none (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ supports (T&, EdgeDispatcherBase&)
+ {
+ //@@ TODO
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ supports (T&)
+ {
+ /*
+ typename T::SupportsIterator
+ b (i.supports_begin ()), e (i.supports_end ());
+
+ if (b != e)
+ {
+ supports_pre (i);
+ iterate_and_dispatch (b, e, *this, &ValueTypeTemplate::comma, i);
+ supports_post (i);
+ }
+ */
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ supports_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ supports_post (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ supports_none (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ post (T&)
+ {
+ }
+
+ template <typename T>
+ void ValueTypeTemplate<T>::
+ comma (T&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Makefile b/TAO/CIAO/CCF/CCF/IDL3/Makefile
new file mode 100644
index 00000000000..9773b6a4370
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/Makefile
@@ -0,0 +1,20 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -C SemanticGraph $@
+ @$(MAKE) -C SemanticAction $@
+ @$(MAKE) -C Traversal $@
+ @$(MAKE) -f Makefile.archive $@
+
+
+.PHONY: all
+
+all:
+ @$(MAKE) -C SemanticGraph objects
+ @$(MAKE) -C SemanticAction objects
+ @$(MAKE) -C Traversal objects
+ @$(MAKE) -f Makefile.archive
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Makefile.archive.alt b/TAO/CIAO/CCF/CCF/IDL3/Makefile.archive.alt
new file mode 100644
index 00000000000..d71859ff81e
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/Makefile.archive.alt
@@ -0,0 +1,43 @@
+# file : CCF/IDL3/Makefile.archive
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Archive.pre.rules)
+
+cxx_translation_units := LexicalAnalyzer.cpp Parser.cpp
+
+translated_units := SemanticGraph/Component.o \
+ SemanticGraph/Elements.o \
+ SemanticGraph/EventType.o \
+ SemanticGraph/Home.o
+
+translated_units += SemanticAction/Impl/Component.o \
+ SemanticAction/Impl/Consumes.o \
+ SemanticAction/Impl/Emits.o \
+ SemanticAction/Impl/EventType.o \
+ SemanticAction/Impl/Factory.o \
+ SemanticAction/Impl/Home.o \
+ SemanticAction/Impl/HomeFactory.o \
+ SemanticAction/Impl/HomeFinder.o \
+ SemanticAction/Impl/Include.o \
+ SemanticAction/Impl/Provides.o \
+ SemanticAction/Impl/Publishes.o \
+ SemanticAction/Impl/Uses.o
+
+translated_units += Traversal/Component.o \
+ Traversal/EventType.o \
+ Traversal/Home.o
+
+module_base := IDL3
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Archive.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/HomeFinder.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/HomeFinder.hpp
new file mode 100644
index 00000000000..e24cf65065b
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/HomeFinder.hpp
@@ -0,0 +1,32 @@
+// file : CCF/IDL3/SemanticAction/HomeFinder.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_ACTION_HOME_FINDER_HPP
+#define CCF_IDL3_SEMANTIC_ACTION_HOME_FINDER_HPP
+
+#include "CCF/IDL3/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticAction
+ {
+ struct HomeFinder
+ {
+ virtual void
+ name (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ parameter (IdentifierPtr const& type,
+ SimpleIdentifierPtr const& name) = 0;
+
+ virtual void
+ raises (IdentifierPtr const& id) = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_ACTION_HOME_FINDER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.cpp
new file mode 100644
index 00000000000..739d3e56d3f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.cpp
@@ -0,0 +1,142 @@
+// file : CCF/IDL3/SemanticAction/Impl/HomeFinder.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ HomeFinder::
+ HomeFinder (Context& c)
+ : Base (c)
+ {
+ }
+
+ void HomeFinder::
+ name (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << " " << id << endl;
+
+ hf_ = 0;
+
+ SemanticGraph::Home& h (
+ dynamic_cast<SemanticGraph::Home&>(ctx.scope ()));
+
+ SemanticGraph::Component& c (
+ dynamic_cast<SemanticGraph::Component&>(h.manages ().managee ()));
+
+ SimpleName name (id->lexeme ());
+
+ hf_ = &ctx.tu ().new_node<SemanticGraph::HomeFinder> ();
+
+ ctx.tu ().new_edge<Returns> (*hf_, c);
+ ctx.tu ().new_edge<Defines> (ctx.scope (), *hf_, name);
+ }
+
+
+ void HomeFinder::
+ parameter (IdentifierPtr const& type_id,
+ SimpleIdentifierPtr const& name_id)
+ {
+ if (ctx.trace ()) cerr << "parameter in " << " "
+ << type_id << " " << name_id << endl;
+
+ if (hf_ == 0) return;
+
+ Name name (type_id->lexeme ());
+ ScopedName from (ctx.scope ().scoped_name ());
+
+ try
+ {
+ try
+ {
+ Type& t (resolve<Type> (from, name, Flags::complete));
+
+ Parameter& p (
+ ctx.tu ().new_node<InParameter> (name_id->lexeme ()));
+
+ ctx.tu ().new_edge<Belongs> (p, t);
+ ctx.tu ().new_edge<Receives> (*hf_, p);
+ }
+ catch (Resolve const&)
+ {
+ cerr << "error: invalid parameter declaration" << endl;
+ throw;
+ }
+ }
+ catch (NotFound const&)
+ {
+ cerr << "no type with name \'" << name
+ << "\' visible from scope \'" << from << "\'" << endl;
+ }
+ catch (WrongType const&)
+ {
+ cerr << "declaration with name \'" << name
+ << "\' visible from scope \'" << from
+ << "\' is not a type declaration" << endl;
+ cerr << "using non-type as an finder parameter type is "
+ << "illegal" << endl;
+ }
+ catch (NotComplete const& e)
+ {
+ cerr << "type \'" << e.name () << "\' is not complete" << endl;
+ }
+ }
+
+ void HomeFinder::
+ raises (IdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "raises " << id << endl;
+
+ if (hf_ == 0) return;
+
+ Name name (id->lexeme ());
+ ScopedName from (ctx.scope ().scoped_name ());
+
+ try
+ {
+ try
+ {
+ SemanticGraph::Exception& e (
+ resolve<SemanticGraph::Exception> (from, name));
+
+ ctx.tu ().new_edge<Raises> (*hf_, e);
+ }
+ catch (Resolve const&)
+ {
+ cerr << "error: invalid raises declaration" << endl;
+ throw;
+ }
+ }
+ catch (NotFound const&)
+ {
+ cerr << "no exception with name \'" << name
+ << "\' visible from scope \'" << from << "\'" << endl;
+ }
+ catch (WrongType const&)
+ {
+ cerr << "declaration with name \'" << name
+ << "\' visible from scope \'" << from
+ << "\' is not an exception declaration" << endl;
+ cerr << "using non-exception type in raises declaration is "
+ << "illegal" << endl;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp
new file mode 100644
index 00000000000..0467eeda3ec
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp
@@ -0,0 +1,43 @@
+// file : CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_ACTION_IMPL_HOME_FINDER_HPP
+#define CCF_IDL3_SEMANTIC_ACTION_IMPL_HOME_FINDER_HPP
+
+#include "CCF/IDL3/SemanticGraph/Home.hpp"
+#include "CCF/IDL3/SemanticAction/HomeFinder.hpp"
+#include "CCF/IDL3/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+
+ struct HomeFinder : SemanticAction::HomeFinder, Base
+ {
+ HomeFinder (Context& c);
+
+ virtual void
+ name (SimpleIdentifierPtr const& id);
+
+ virtual void
+ parameter (IdentifierPtr const& type_id,
+ SimpleIdentifierPtr const& name_id);
+
+ virtual void
+ raises (IdentifierPtr const& id);
+
+ private:
+ SemanticGraph::HomeFinder* hf_;
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_ACTION_IMPL_HOME_FINDER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile
new file mode 100644
index 00000000000..7d8eb5fb0ac
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile
@@ -0,0 +1,483 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Component \
+ Consumes \
+ Emits \
+ EventType \
+ Factory \
+ Home \
+ HomeFactory \
+ HomeFinder \
+ Include \
+ Provides \
+ Publishes \
+ Uses
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Component.o .obj/Component.o .obj/Component.o .obj/Component.o: Component.cpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Component.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Component.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Consumes.o .obj/Consumes.o .obj/Consumes.o .obj/Consumes.o: Consumes.cpp ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Emits.o .obj/Emits.o .obj/Emits.o .obj/Emits.o: Emits.cpp ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/EventType.o .obj/EventType.o .obj/EventType.o .obj/EventType.o: EventType.cpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Factory.o .obj/Factory.o .obj/Factory.o .obj/Factory.o: Factory.cpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Factory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Factory.hpp \
+ ../../../../CCF/CompilerElements/Diagnostic.hpp \
+ ../../../../CCF/CompilerElements/ExH.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Module.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Union.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Union.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL2/SemanticAction/ValueType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Component.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Component.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Uses.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Uses.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Home.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Include.hpp
+
+.obj/Home.o .obj/Home.o .obj/Home.o .obj/Home.o: Home.cpp ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Home.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/HomeFactory.o .obj/HomeFactory.o .obj/HomeFactory.o .obj/HomeFactory.o: HomeFactory.cpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/HomeFinder.o .obj/HomeFinder.o .obj/HomeFinder.o .obj/HomeFinder.o: HomeFinder.cpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Include.o .obj/Include.o .obj/Include.o .obj/Include.o: Include.cpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Include.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/CompilerElements/Diagnostic.hpp \
+ ../../../../CCF/CompilerElements/ExH.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Include.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Factory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../../../../CCF/CompilerElements/TokenStream.hpp \
+ ../../../../CCF/CompilerElements/Preprocessor.hpp \
+ ../../../../CCF/CompilerElements/PreprocessorToken.hpp \
+ ../../../../CCF/IDL3/LexicalAnalyzer.hpp \
+ ../../../../CCF/IDL2/LexicalAnalyzer.hpp \
+ ../../../../CCF/IDL3/Parser.hpp ../../../../CCF/IDL2/Parser.hpp \
+ ../../../../CCF/IDL2/SemanticAction.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Enum.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Exception.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Member.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Module.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Native.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Struct.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../../../../CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Union.hpp \
+ ../../../../CCF/IDL2/SemanticAction/ValueType.hpp \
+ ../../../../CCF/IDL2/Parsing/Elements.hpp \
+ ../../../../CCF/IDL2/Parsing/Action.hpp \
+ ../../../../CCF/IDL2/Parsing/Recovery.hpp \
+ ../../../../CCF/IDL3/SemanticAction.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Component.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Consumes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Emits.hpp \
+ ../../../../CCF/IDL3/SemanticAction/EventType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Home.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFactory.hpp \
+ ../../../../CCF/IDL3/SemanticAction/HomeFinder.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Uses.hpp
+
+.obj/Provides.o .obj/Provides.o .obj/Provides.o .obj/Provides.o: Provides.cpp ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Provides.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Publishes.o .obj/Publishes.o .obj/Publishes.o .obj/Publishes.o: Publishes.cpp \
+ ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Publishes.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+.obj/Uses.o .obj/Uses.o .obj/Uses.o .obj/Uses.o: Uses.cpp ../../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../../CCF/CompilerElements/Context.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Uses.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Uses.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Elements.hpp \
+ ../../../../CCF/IDL2/Token.hpp \
+ ../../../../CCF/CompilerElements/ReferenceCounting.hpp \
+ ../../../../CCF/IDL3/Token.hpp \
+ ../../../../CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../../../../CCF/CompilerElements/FileSystem.hpp \
+ ../../../../CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../../../../CCF/IDL2/SemanticAction/Impl/Elements.tpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile.alt b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile.alt
new file mode 100644
index 00000000000..7801cc2c2f5
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Makefile.alt
@@ -0,0 +1,30 @@
+# file : CCF/IDL3/SemanticAction/Impl/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+
+cxx_translation_units := Component.cpp \
+ Consumes.cpp \
+ Emits.cpp \
+ EventType.cpp \
+ Factory.cpp \
+ Home.cpp \
+ HomeFactory.cpp \
+ HomeFinder.cpp \
+ Include.cpp \
+ Provides.cpp \
+ Publishes.cpp \
+ Uses.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile
new file mode 100644
index 00000000000..0c3a3b2bbdc
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile
@@ -0,0 +1,11 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -C Impl $@
+
+all:
+ @$(MAKE) -C Impl objects
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile.alt b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile.alt
new file mode 100644
index 00000000000..440b9bf975d
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Makefile.alt
@@ -0,0 +1,17 @@
+# file : CCF/IDL3/SemanticAction/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := Impl
+default_makefile_name := Makefile.alt
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph.hpp
new file mode 100644
index 00000000000..9192ca3b04c
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph.hpp
@@ -0,0 +1,16 @@
+// file : CCF/IDL3/SemanticGraph.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_GRAPH_HPP
+#define CCF_IDL3_SEMANTIC_GRAPH_HPP
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+
+#include "CCF/IDL3/SemanticGraph/Elements.hpp"
+
+#include "CCF/IDL3/SemanticGraph/Component.hpp"
+#include "CCF/IDL3/SemanticGraph/EventType.hpp"
+#include "CCF/IDL3/SemanticGraph/Home.hpp"
+
+#endif // CCF_IDL3_SEMANTIC_GRAPH_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.cpp
new file mode 100644
index 00000000000..04840089c69
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.cpp
@@ -0,0 +1,143 @@
+// file : CCF/IDL3/SemanticGraph/Component.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL3/SemanticGraph/EventType.hpp"
+#include "CCF/IDL3/SemanticGraph/Component.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Provider
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ provider_init_ ()
+ {
+ TypeInfo ti (typeid (Provider));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo provider_ (provider_init_ ());
+ }
+
+ TypeInfo const& Provider::
+ static_type_info () { return provider_; }
+
+
+ // User
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ user_init_ ()
+ {
+ TypeInfo ti (typeid (User));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo user_ (user_init_ ());
+ }
+
+ TypeInfo const& User::
+ static_type_info () { return user_; }
+
+
+ // Publisher
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ publisher_init_ ()
+ {
+ TypeInfo ti (typeid (Publisher));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo publisher_ (publisher_init_ ());
+ }
+
+ TypeInfo const& Publisher::
+ static_type_info () { return publisher_; }
+
+
+ // Emitter
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ emitter_init_ ()
+ {
+ TypeInfo ti (typeid (Emitter));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo emitter_ (emitter_init_ ());
+ }
+
+ TypeInfo const& Emitter::
+ static_type_info () { return emitter_; }
+
+
+ // Consumer
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ consumer_init_ ()
+ {
+ TypeInfo ti (typeid (Consumer));
+ ti.add_base (Access::PUBLIC, true, Nameable::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Instance::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo consumer_ (consumer_init_ ());
+ }
+
+ TypeInfo const& Consumer::
+ static_type_info () { return consumer_; }
+
+
+ // Component
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ component_init_ ()
+ {
+ TypeInfo ti (typeid (Component));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo component_ (component_init_ ());
+ }
+
+ TypeInfo const& Component::
+ static_type_info () { return component_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.hpp
new file mode 100644
index 00000000000..a3fd3054497
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Component.hpp
@@ -0,0 +1,195 @@
+// file : CCF/IDL3/SemanticGraph/Component.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_GRAPH_COMPONENT_HPP
+#define CCF_IDL3_SEMANTIC_GRAPH_COMPONENT_HPP
+
+#include "CCF/IDL2/SemanticGraph/Interface.hpp"
+#include "CCF/IDL3/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class Provider : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Provider ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class User : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ User ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Publisher : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Publisher ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Emitter : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Emitter ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Consumer : public virtual Nameable, public virtual Instance
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Consumer ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class Component : public virtual Type, public virtual Scope
+ {
+ typedef
+ std::vector <Supports*>
+ Supports_;
+
+ public:
+ Inherits*
+ inherits () const
+ {
+ return inherits_;
+ }
+
+ typedef
+ Supports_::const_iterator
+ SupportsIterator;
+
+ SupportsIterator
+ supports_begin () const
+ {
+ return supports_.begin ();
+ }
+
+ SupportsIterator
+ supports_end () const
+ {
+ return supports_.end ();
+ }
+
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Component ()
+ : inherits_ (0)
+ {
+ type_info (static_type_info ());
+ }
+
+ using Type::add_edge_right;
+ using Scope::add_edge_left;
+
+ void
+ add_edge_left (Inherits& e)
+ {
+ inherits_ = &e;
+ }
+
+ void
+ add_edge_right (Inherits&)
+ {
+ }
+
+ void
+ add_edge_left (Supports& e)
+ {
+ supports_.push_back (&e);
+ }
+
+ void
+ add_edge_right (Manages&)
+ {
+ }
+
+ private:
+ Inherits* inherits_;
+ Supports_ supports_;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_GRAPH_COMPONENT_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.cpp
new file mode 100644
index 00000000000..4d3b325f5fd
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.cpp
@@ -0,0 +1,34 @@
+// file : CCF/IDL3/SemanticGraph/Elements.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL3/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ namespace
+ {
+ TypeInfo
+ manages_init_ ()
+ {
+ TypeInfo ti (typeid (Manages));
+ ti.add_base (Access::PUBLIC, true, Edge::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo manages_ (manages_init_ ());
+ }
+
+ TypeInfo const& Manages::
+ static_type_info () { return manages_; }
+
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.hpp
new file mode 100644
index 00000000000..b6577b6ff2e
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Elements.hpp
@@ -0,0 +1,67 @@
+// file : CCF/IDL3/SemanticGraph/Elements.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_GRAPH_ELEMENTS_HPP
+#define CCF_IDL3_SEMANTIC_GRAPH_ELEMENTS_HPP
+
+#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ using namespace CCF::IDL2::SemanticGraph;
+
+ //
+ //
+ //
+ class Manages : public virtual Edge
+ {
+ public:
+ Node&
+ manager () const
+ {
+ return *manager_;
+ }
+
+ Node&
+ managee () const
+ {
+ return *managee_;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Manages ()
+ {
+ type_info (static_type_info ());
+ }
+
+ void
+ set_left_node (Node& n)
+ {
+ manager_ = &n;
+ }
+
+ void
+ set_right_node (Node& n)
+ {
+ managee_ = &n;
+ }
+
+ private:
+ Node* manager_;
+ Node* managee_;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_GRAPH_ELEMENTS_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp
new file mode 100644
index 00000000000..5054b1f2c3e
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp
@@ -0,0 +1,80 @@
+// file : CCF/IDL3/SemanticGraph/EventType.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL3/SemanticGraph/EventType.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // EventType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ event_type_init_ ()
+ {
+ TypeInfo ti (typeid (EventType));
+ ti.add_base (Access::PUBLIC, true, ValueType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo event_type_ (event_type_init_ ());
+ }
+
+ TypeInfo const& EventType::
+ static_type_info () { return event_type_; }
+
+
+ // AbstractEventType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ abstract_event_type_init_ ()
+ {
+ TypeInfo ti (typeid (AbstractEventType));
+ ti.add_base (Access::PUBLIC, true, EventType::static_type_info ());
+ ti.add_base (
+ Access::PUBLIC, true, AbstractValueType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo abstract_event_type_ (abstract_event_type_init_ ());
+ }
+
+ TypeInfo const& AbstractEventType::
+ static_type_info () { return abstract_event_type_; }
+
+
+ // ConcreteEventType
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ concrete_event_type_init_ ()
+ {
+ TypeInfo ti (typeid (ConcreteEventType));
+ ti.add_base (Access::PUBLIC, true, EventType::static_type_info ());
+ ti.add_base (
+ Access::PUBLIC, true, ConcreteValueType::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo concrete_event_type_ (concrete_event_type_init_ ());
+ }
+
+ TypeInfo const& ConcreteEventType::
+ static_type_info () { return concrete_event_type_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp
new file mode 100644
index 00000000000..d2c352fda80
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp
@@ -0,0 +1,78 @@
+// file : CCF/IDL3/SemanticGraph/EventType.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_GRAPH_EVENT_TYPE_HPP
+#define CCF_IDL3_SEMANTIC_GRAPH_EVENT_TYPE_HPP
+
+#include "CCF/IDL2/SemanticGraph/ValueType.hpp"
+#include "CCF/IDL3/SemanticGraph/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class EventType : public virtual ValueType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ EventType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class AbstractEventType : public virtual EventType,
+ public virtual AbstractValueType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ AbstractEventType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class ConcreteEventType : public virtual EventType,
+ public virtual ConcreteValueType
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ConcreteEventType ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_GRAPH_EVENT_TYPE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.cpp
new file mode 100644
index 00000000000..deb3dacffa0
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.cpp
@@ -0,0 +1,79 @@
+// file : CCF/IDL3/SemanticGraph/Home.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL3/SemanticGraph/Home.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ using Introspection::TypeInfo;
+ using Introspection::Access;
+
+ // Home
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ home_init_ ()
+ {
+ TypeInfo ti (typeid (Home));
+ ti.add_base (Access::PUBLIC, true, Type::static_type_info ());
+ ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo home_ (home_init_ ());
+ }
+
+ TypeInfo const& Home::
+ static_type_info () { return home_; }
+
+
+ // HomeFactory
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ home_factory_init_ ()
+ {
+ TypeInfo ti (typeid (HomeFactory));
+ ti.add_base (
+ Access::PUBLIC, true, TwoWayOperation::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo home_factory_ (home_factory_init_ ());
+ }
+
+ TypeInfo const& HomeFactory::
+ static_type_info () { return home_factory_; }
+
+
+ // HomeFinder
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ home_finder_init_ ()
+ {
+ TypeInfo ti (typeid (HomeFinder));
+ ti.add_base (
+ Access::PUBLIC, true, TwoWayOperation::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo home_finder_ (home_finder_init_ ());
+ }
+
+ TypeInfo const& HomeFinder::
+ static_type_info () { return home_finder_; }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.hpp
new file mode 100644
index 00000000000..148b104e064
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Home.hpp
@@ -0,0 +1,147 @@
+// file : CCF/IDL3/SemanticGraph/Home.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_GRAPH_HOME_HPP
+#define CCF_IDL3_SEMANTIC_GRAPH_HOME_HPP
+
+#include "CCF/IDL2/SemanticGraph/Operation.hpp"
+#include "CCF/IDL3/SemanticGraph/Elements.hpp"
+#include "CCF/IDL3/SemanticGraph/Component.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticGraph
+ {
+ //
+ //
+ //
+ class Home : public virtual Type, public virtual Scope
+ {
+ typedef
+ std::vector <Supports*>
+ Supports_;
+
+ public:
+ Manages&
+ manages () const
+ {
+ return *manages_;
+ }
+
+ Inherits*
+ inherits () const
+ {
+ return inherits_;
+ }
+
+ typedef
+ Supports_::const_iterator
+ SupportsIterator;
+
+ SupportsIterator
+ supports_begin () const
+ {
+ return supports_.begin ();
+ }
+
+ SupportsIterator
+ supports_end () const
+ {
+ return supports_.end ();
+ }
+
+ virtual bool
+ complete () const
+ {
+ return true;
+ }
+
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ Home ()
+ : inherits_ (0)
+ {
+ type_info (static_type_info ());
+ }
+
+ using Type::add_edge_right;
+ using Scope::add_edge_left;
+
+ void
+ add_edge_left (Manages& e)
+ {
+ manages_ = &e;
+ }
+
+ void
+ add_edge_left (Inherits& e)
+ {
+ inherits_ = &e;
+ }
+
+ void
+ add_edge_right (Inherits&)
+ {
+ }
+
+ void
+ add_edge_left (Supports& e)
+ {
+ supports_.push_back (&e);
+ }
+
+ private:
+ Manages* manages_;
+ Inherits* inherits_;
+ Supports_ supports_;
+ };
+
+
+ //
+ //
+ //
+ class HomeFactory : public virtual TwoWayOperation
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ HomeFactory ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+
+
+ //
+ //
+ //
+ class HomeFinder : public virtual TwoWayOperation
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ HomeFinder ()
+ {
+ type_info (static_type_info ());
+ }
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_GRAPH_HOME_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile
new file mode 100644
index 00000000000..c92fdafee0f
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile
@@ -0,0 +1,102 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Component \
+ Elements \
+ EventType \
+ Home
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Component.o .obj/Component.o .obj/Component.o .obj/Component.o: Component.cpp ../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp
+
+.obj/Elements.o .obj/Elements.o .obj/Elements.o .obj/Elements.o: Elements.cpp ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp
+
+.obj/EventType.o .obj/EventType.o .obj/EventType.o .obj/EventType.o: EventType.cpp ../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp
+
+.obj/Home.o .obj/Home.o .obj/Home.o .obj/Home.o: Home.cpp ../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile.alt b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile.alt
new file mode 100644
index 00000000000..6720f6d1944
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/Makefile.alt
@@ -0,0 +1,21 @@
+# file : CCF/IDL3/SemanticGraph/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.pre.rules)
+
+cxx_translation_units := Component.cpp \
+ Elements.cpp \
+ EventType.cpp \
+ Home.cpp
+
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+$(call include, $(UTILITY_BUILD_RULES)/Object.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Traversal/Component.tpp b/TAO/CIAO/CCF/CCF/IDL3/Traversal/Component.tpp
new file mode 100644
index 00000000000..b6d96da7d0a
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/Traversal/Component.tpp
@@ -0,0 +1,195 @@
+// file : CCF/IDL3/Traversal/Component.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace Traversal
+ {
+ //
+ //
+ //
+ template <typename T>
+ void PortTemplate<T>::
+ traverse (T& p)
+ {
+ edge_traverser ().traverse (p.belongs ());
+ }
+
+
+ // PortAccessorTemplate
+ //
+ //
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ traverse (T& p)
+ {
+ pre (p);
+ returns (p);
+ name (p);
+ receives (p);
+ raises (p);
+ post (p);
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ returns (T& p, EdgeDispatcherBase& d)
+ {
+ d.traverse (p.belongs ());
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ returns (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ receives (T& p, EdgeDispatcherBase& d)
+ {
+ // @@ Still thinking about the way of making
+ // fake parameter.
+ //
+ d.traverse (p.belongs ());
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ receives (T& p)
+ {
+ receives_pre (p);
+ receives_post (p);
+
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ receives_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ receives_post (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ raises (T&, EdgeDispatcherBase&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ raises (T& p)
+ {
+ raises_pre (p);
+ raises_post (p);
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ raises_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ raises_post (T&)
+ {
+ }
+
+ template <typename T>
+ void PortAccessorTemplate<T>::
+ post (T&)
+ {
+ }
+
+ // PortGetTemplate
+ //
+ //
+ template <typename T>
+ void PortGetTemplate<T>::
+ returns (T& p)
+ {
+ PortAccessorTemplate<T>::returns (p, edge_traverser ());
+ }
+
+
+ // PortSetTemplate
+ //
+ //
+ template <typename T>
+ void PortSetTemplate<T>::
+ receives (T& p)
+ {
+ receives_pre (p);
+ PortAccessorTemplate<T>::receives (p, edge_traverser ());
+ receives_post (p);
+ }
+
+
+ // PortDataTemplate
+ //
+ //
+ template <typename T>
+ void PortDataTemplate<T>::
+ traverse (T& p)
+ {
+ pre (p);
+ belongs (p);
+ name (p);
+ post (p);
+ }
+
+ template <typename T>
+ void PortDataTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template <typename T>
+ void PortDataTemplate<T>::
+ belongs (T& p, EdgeDispatcherBase& d)
+ {
+ d.traverse (p.belongs ());
+ }
+
+ template <typename T>
+ void PortDataTemplate<T>::
+ belongs (T& p)
+ {
+ belongs (p, edge_traverser ());
+ }
+
+ template <typename T>
+ void PortDataTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template <typename T>
+ void PortDataTemplate<T>::
+ post (T&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Traversal/Elements.hpp b/TAO/CIAO/CCF/CCF/IDL3/Traversal/Elements.hpp
new file mode 100644
index 00000000000..b92c5cf70fd
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/Traversal/Elements.hpp
@@ -0,0 +1,21 @@
+// file : CCF/IDL3/Traversal/Elements.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_TRAVERSAL_ELEMENTS_HPP
+#define CCF_IDL3_TRAVERSAL_ELEMENTS_HPP
+
+#include "CCF/IDL2/Traversal/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace Traversal
+ {
+ using namespace IDL2::Traversal;
+ }
+ }
+}
+
+#endif // CCF_IDL3_TRAVERSAL_ELEMENTS_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.tpp b/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.tpp
new file mode 100644
index 00000000000..8e7702e28ad
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.tpp
@@ -0,0 +1,132 @@
+// file : CCF/IDL3/Traversal/EventType.tpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace Traversal
+ {
+ template <typename T>
+ void EventTypeTemplate<T>::
+ traverse (T& i)
+ {
+ pre (i);
+ name (i);
+ inherits (i);
+ supports (i);
+ names (i);
+ post (i);
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ pre (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ name (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ inherits (T&, EdgeDispatcherBase&)
+ {
+ //@@ TODO
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ inherits (T&)
+ {
+ /*
+ typename T::InheritsIterator
+ b (i.inherits_begin ()), e (i.inherits_end ());
+
+ if (b != e)
+ {
+ inherits_pre (i);
+ iterate_and_dispatch (b, e, *this, &EventTypeTemplate::comma, i);
+ inherits_post (i);
+ }
+ */
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ inherits_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ inherits_post (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ inherits_none (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ supports (T&, EdgeDispatcherBase&)
+ {
+ //@@ TODO
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ supports (T&)
+ {
+ /*
+ typename T::SupportsIterator
+ b (i.supports_begin ()), e (i.supports_end ());
+
+ if (b != e)
+ {
+ supports_pre (i);
+ iterate_and_dispatch (b, e, *this, &EventTypeTemplate::comma, i);
+ supports_post (i);
+ }
+ */
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ supports_pre (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ supports_post (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ supports_none (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ post (T&)
+ {
+ }
+
+ template <typename T>
+ void EventTypeTemplate<T>::
+ comma (T&)
+ {
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Traversal/Makefile b/TAO/CIAO/CCF/CCF/IDL3/Traversal/Makefile
new file mode 100644
index 00000000000..fa0caa069e9
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/Traversal/Makefile
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../../../Config.rules
+
+LIBNAME = libPhony
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+FILES = Component EventType Home
+
+LSRC = $(addsuffix .cpp,$(FILES))
+
+override static_libs_only := true
+
+.PHONY: objects
+
+objects:
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+objects: $(VSHOBJS)
+
+CPPFLAGS += -I../../..
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Component.o .obj/Component.o .obj/Component.o .obj/Component.o: Component.cpp ../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/Traversal/Component.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL3/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL3/Traversal/Component.tpp
+
+.obj/EventType.o .obj/EventType.o .obj/EventType.o .obj/EventType.o: EventType.cpp ../../../CCF/IDL3/Traversal/EventType.hpp \
+ ../../../CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL3/Traversal/EventType.tpp
+
+.obj/Home.o .obj/Home.o .obj/Home.o .obj/Home.o: Home.cpp ../../../CCF/IDL3/Traversal/Home.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Home.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../../../CCF/CompilerElements/Introspection.hpp \
+ ../../../CCF/CompilerElements/Context.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Name.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../../../CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../../../CCF/IDL3/SemanticGraph/Component.hpp \
+ ../../../CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../../../CCF/IDL2/Traversal/Operation.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.hpp \
+ ../../../CCF/IDL2/Traversal/Elements.tpp \
+ ../../../CCF/IDL2/Traversal/Operation.tpp \
+ ../../../CCF/IDL3/Traversal/Elements.hpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CCF/CCF/Makefile b/TAO/CIAO/CCF/CCF/Makefile
new file mode 100644
index 00000000000..2962038d3a2
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/Makefile
@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -C CompilerElements $@
+ @$(MAKE) -C IDL2 $@
+ @$(MAKE) -C IDL3 $@
+ @$(MAKE) -C CIDL $@
+ @$(MAKE) -C CodeGenerationKit $@
+
+.PHONY: all
+
+all:
+ @$(MAKE) -C CompilerElements $@
+ @$(MAKE) -C IDL2 $@
+ @$(MAKE) -C IDL3 $@
+ @$(MAKE) -C CIDL $@
+ @$(MAKE) -C CodeGenerationKit $@
diff --git a/TAO/CIAO/CCF/Example/CIDL/LocalExecutorMapping/LocalExecutorMapping.vcproj b/TAO/CIAO/CCF/Example/CIDL/LocalExecutorMapping/LocalExecutorMapping.vcproj
new file mode 100644
index 00000000000..fd5b7e1c009
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/CIDL/LocalExecutorMapping/LocalExecutorMapping.vcproj
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="LocalExecutorMapping"
+ ProjectGUID="{787D727E-24B5-4791-87A3-3235EAD4FEFF}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectDir)"
+ IntermediateDirectory="$(ProjectDir)/Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/wd4290 /wd4800 /wd4250 /wd4355"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ DisableLanguageExtensions="FALSE"
+ ForceConformanceInForLoopScope="TRUE"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="CompilerElements.lib CodeGenerationKit.lib IDL2.lib IDL3.lib CIDL.lib libboost_filesystem_debug.lib libboost_regex_debug.lib"
+ OutputFile="$(OutDir)/cidlc.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../../CCF/CompilerElements;../../../CCF/CodeGenerationKit;../../../CCF/IDL2;../../../CCF/IDL3;../../../CCF/CIDL"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/LocalExecutorMapping.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectDir)"
+ IntermediateDirectory="$(ProjectDir)/Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/wd4290 /wd4800 /wd4250 /wd4355"
+ AdditionalIncludeDirectories="../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ DisableLanguageExtensions="FALSE"
+ ForceConformanceInForLoopScope="TRUE"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="CompilerElements.lib CodeGenerationKit.lib IDL2.lib IDL3.lib CIDL.lib"
+ OutputFile="$(OutDir)/cidlc.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../CCF/CompilerElements;../../../CCF/CodeGenerationKit;../../../CCF/IDL2;../../../CCF/IDL3;../../../CCF/CIDL"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\cidlc.cpp">
+ </File>
+ <File
+ RelativePath=".\ExecutorMappingGenerator.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\ExecutorMappingGenerator.hpp">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.cpp b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.cpp
new file mode 100644
index 00000000000..6645b7f0b67
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.cpp
@@ -0,0 +1,32 @@
+// file : Example/IDL2/CxxMapping/Generator.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "Generator.hpp"
+#include "GeneratorImpl.hpp"
+
+namespace IDL2
+{
+ Generator::
+ ~Generator ()
+ {
+ }
+
+ Generator::
+ Generator ()
+ : pimpl_ (new GeneratorImpl), impl_ (*pimpl_)
+ {
+ }
+
+ Generator::
+ Generator (GeneratorImpl& gi)
+ : pimpl_ (), impl_ (gi)
+ {
+ }
+
+ void Generator::
+ generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu)
+ {
+ impl_.generate (tu);
+ }
+}
diff --git a/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.hpp b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.hpp
new file mode 100644
index 00000000000..4e231267dae
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Generator.hpp
@@ -0,0 +1,34 @@
+// file : Example/IDL2/CxxMapping/Generator.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef EXAMPLE_IDL2_CXX_MAPPING_GENERATOR_HPP
+#define EXAMPLE_IDL2_CXX_MAPPING_GENERATOR_HPP
+
+#include <memory>
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+
+namespace IDL2
+{
+ class GeneratorImpl;
+
+ class Generator
+ {
+ public:
+ ~Generator ();
+ Generator ();
+
+ void
+ generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu);
+
+ protected:
+ Generator (GeneratorImpl&);
+
+ protected:
+ std::auto_ptr<GeneratorImpl> pimpl_;
+ GeneratorImpl& impl_;
+ };
+}
+
+#endif // EXAMPLE_IDL2_CXX_MAPPING_GENERATOR_HPP
diff --git a/TAO/CIAO/CCF/Example/IDL2/CxxMapping/GeneratorImpl.hpp b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/GeneratorImpl.hpp
new file mode 100644
index 00000000000..f5e6edc3e77
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/GeneratorImpl.hpp
@@ -0,0 +1,533 @@
+// file : Example/IDL2/CxxMapping/GeneratorImpl.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef EXAMPLE_IDL2_CXX_MAPPING_GENERATOR_IMPL_HPP
+#define EXAMPLE_IDL2_CXX_MAPPING_GENERATOR_IMPL_HPP
+
+#include <iostream>
+
+#include "CCF/CodeGenerationKit/IndentationCxx.hpp"
+#include "CCF/CodeGenerationKit/IndentationImplanter.hpp"
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+#include "CCF/IDL2/Traversal.hpp"
+
+namespace IDL2
+{
+ using namespace CCF::IDL2;
+
+ using std::cout;
+ using std::endl;
+
+ struct Inhibitor
+ {
+ virtual void
+ operator() () const = 0;
+ };
+
+ template <typename O, typename S, typename T>
+ class InhibitorTemplate : public Inhibitor
+ {
+ public:
+ typedef void (O::*F) (S&, T&);
+
+ InhibitorTemplate (O& o, F f, S& s, T& t)
+ : o_ (o), f_ (f), s_ (s), t_ (t)
+ {
+ }
+
+ virtual void
+ operator() () const
+ {
+ (o_.*f_)(s_, t_);
+ }
+
+ private:
+ O& o_;
+ F f_;
+ S& s_;
+ T& t_;
+ };
+
+ template <typename O,
+ typename S,
+ typename T = Traversal::EdgeDispatcherBase>
+ class Factory
+ {
+ public:
+ typedef void (O::*F) (S&, T&);
+
+ Factory (O& o, F f, T& t)
+ : o_ (o), f_ (f), t_ (t)
+ {
+ }
+
+ InhibitorTemplate<O, S, T>
+ operator() (S& s) const
+ {
+ return InhibitorTemplate<O, S, T> (o_, f_, s, t_);
+ }
+
+ private:
+ O& o_;
+ F f_;
+ T& t_;
+ };
+
+ std::ostream&
+ operator<< (std::ostream& os, Inhibitor const& p)
+ {
+ p ();
+ return os;
+ }
+
+ class GeneratorImpl
+ {
+ protected:
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ //--
+
+ // Layer 3
+ //
+
+ //--
+
+ struct InterfaceHdr : Traversal::UnconstrainedInterface
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "class ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ inherits_none (Type&)
+ {
+ cout << " : public virtual CORBA::Impl::Stub";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{"
+ << "public:" << endl;
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+
+ struct Module : Traversal::Module
+ {
+ virtual void
+ pre (Type& m)
+ {
+ cout << "namespace " << m.name ();
+ }
+
+ virtual void
+ names_pre (Type& m)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type& m)
+ {
+ cout << "}";
+ }
+ };
+
+ struct TypeName : Traversal::Nameable,
+ Traversal::FundamentalType
+ {
+ virtual void
+ traverse (SemanticGraph::Nameable& n)
+ {
+ cout << n.scoped_name ();
+ }
+
+ virtual void
+ traverse (SemanticGraph::FundamentalType& ft)
+ {
+ cout << ft.name ();
+ }
+ };
+
+ // Layer 4
+ //
+
+ //--
+
+
+ struct OperationHdr : Traversal::Operation
+ {
+ virtual void
+ name (Type& o)
+ {
+ cout << " " << o.name ();
+ }
+
+ virtual void
+ receives_pre (Type&)
+ {
+ cout << " (";
+ }
+
+ virtual void
+ receives_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ raises_pre (Type&)
+ {
+ cout << " throw (";
+ }
+
+ virtual void
+ raises_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ struct OperationImpl : Traversal::Operation
+ {
+ OperationImpl ()
+ : marshal (*this, &OperationImpl::receives, marshal_),
+ unmarshal (*this, &OperationImpl::receives, unmarshal_),
+ ret_type (*this, &OperationImpl::returns, ret_type_),
+ cast_type (*this, &OperationImpl::returns, cast_type_)
+ {
+ }
+
+ virtual void
+ name (Type& o)
+ {
+ cout << " "
+ << o.scoped_name ().scope_name ().simple_name ()
+ << "::" << o.name ();
+ }
+
+ virtual void
+ receives_pre (Type&)
+ {
+ cout << " (";
+ }
+
+ virtual void
+ receives_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ raises_pre (Type&)
+ {
+ cout << " throw (";
+ }
+
+ virtual void
+ raises_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ post (Type& o)
+ {
+ cout << "{"
+ << "OCDRStream os;"
+ << "static_cast<void> (os" << marshal (o) << ");"
+ << "ICDRStream is (Stub::make_call (\""
+ << o.name () << "\", os));"
+ << ret_type (o) << " _retval;"
+ << "is >> _retval" << unmarshal (o) << ";"
+ << "return " << "static_cast<" << cast_type (o) << "> (_retval);"
+ << "}";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+
+ struct MarshalParameter : Traversal::Receives,
+ Traversal::InParameter,
+ Traversal::InOutParameter
+ {
+ MarshalParameter ()
+ {
+ node_traverser (*this);
+ }
+
+ virtual void
+ traverse (SemanticGraph::InParameter& p)
+ {
+ cout << " << " << p.name ();
+ }
+
+ virtual void
+ traverse (SemanticGraph::InOutParameter& p)
+ {
+ cout << " << " << p.name ();
+ }
+ } marshal_;
+
+ Factory<OperationImpl, Type> marshal;
+
+ struct UnmarshalParameter : Traversal::Receives,
+ Traversal::InOutParameter,
+ Traversal::OutParameter
+ {
+ UnmarshalParameter ()
+ {
+ node_traverser (*this);
+ }
+
+ virtual void
+ traverse (SemanticGraph::InOutParameter& p)
+ {
+ cout << " >> " << p.name ();
+ }
+
+ virtual void
+ traverse (SemanticGraph::OutParameter& p)
+ {
+ cout << " >> " << p.name ();
+ }
+ } unmarshal_;
+
+ Factory<OperationImpl, Type> unmarshal;
+
+
+ struct ReturnType : Traversal::Belongs, Traversal::Void, TypeName
+ {
+ ReturnType ()
+ {
+ node_traverser (*this);
+ }
+
+ virtual void
+ traverse (SemanticGraph::Void&)
+ {
+ // Void is a type for which do-nothing operator>> (ICDRStream&)
+ // is provided. Its main purpose is to make C++ type handling
+ // more regular and thus allow more streamlined code generation.
+ //
+ cout << "Void";
+ }
+ } ret_type_;
+
+ Factory<OperationImpl, Type> ret_type;
+
+ struct CastType : Traversal::Belongs, TypeName
+ {
+ CastType ()
+ {
+ node_traverser (*this);
+ }
+ } cast_type_;
+
+ Factory<OperationImpl, Type> cast_type;
+ };
+
+ // Layer 5
+ //
+
+ //--
+
+ struct Parameter : Traversal::Parameter
+ {
+ virtual void
+ name (Type& p)
+ {
+ cout << " " << p.name ();
+ }
+ };
+
+ public:
+
+ GeneratorImpl ()
+ {
+ // Layer 1
+ //
+ unit.edge_traverser (contains_principal);
+
+ //--
+
+ contains_principal.node_traverser (region);
+
+ // Layer 2
+ //
+ region.edge_traverser (contains_root);
+
+ //--
+
+ contains_root.node_traverser (root);
+
+ // Layer 3
+ //
+ root.edge_traverser (defines);
+
+ //--
+ defines.node_traverser (interface_hdr);
+ defines.node_traverser (interface_impl);
+ defines.node_traverser (module);
+
+ // Layer 4
+ //
+ module.edge_traverser (defines);
+
+ interface_hdr.edge_traverser (inherits);
+ interface_hdr.edge_traverser (interface_hdr_defines);
+
+ interface_impl.edge_traverser (interface_impl_defines);
+
+ //--
+ inherits.node_traverser (type_name);
+
+ interface_hdr_defines.node_traverser (operation_hdr);
+ interface_impl_defines.node_traverser (operation_impl);
+
+ // Layer 5
+ //
+
+ operation_hdr.edge_traverser (receives);
+ operation_hdr.edge_traverser (returns);
+
+ operation_impl.edge_traverser (receives);
+ operation_impl.edge_traverser (returns);
+
+ //--
+
+ receives.node_traverser (parameter);
+ returns.node_traverser (type_name);
+
+ // Layer 6
+ //
+ parameter.edge_traverser (belongs);
+
+ //--
+
+ belongs.node_traverser (type_name);
+
+ }
+
+ protected:
+ Traversal::TranslationUnit unit;
+
+ // Layer 1
+ //
+ Traversal::ContainsPrincipal contains_principal;
+
+ //--
+
+ Traversal::TranslationRegion region;
+
+ // Layer 2
+ //
+ Traversal::ContainsRoot contains_root;
+
+ //--
+
+ Traversal::Root root;
+
+ // Layer 3
+ //
+ Traversal::Defines defines;
+
+ //--
+ InterfaceHdr interface_hdr;
+ Traversal::UnconstrainedInterface interface_impl;
+
+ Module module;
+
+ TypeName type_name;
+
+ // Layer 4
+ //
+ Traversal::Inherits inherits;
+ Traversal::Defines interface_hdr_defines;
+ Traversal::Defines interface_impl_defines;
+
+ //--
+ OperationHdr operation_hdr;
+ OperationImpl operation_impl;
+
+ // Layer 5
+ //
+ Traversal::Receives receives;
+ Traversal::Returns returns;
+
+ //--
+
+ Parameter parameter;
+
+ // Layer 6
+ //
+ Traversal::Belongs belongs;
+
+ public:
+ void
+ generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu)
+ {
+ // Plug automatic IDL indenter.
+ //
+ Indentation::Implanter<Indentation::Cxx> guard (cout);
+
+ unit.traverse (tu);
+ }
+ };
+}
+
+#endif // EXAMPLE_IDL2_CXX_MAPPING_GENERATOR_IMPL_HPP
diff --git a/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Makefile.alt b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Makefile.alt
new file mode 100644
index 00000000000..d9be7f9343f
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/Makefile.alt
@@ -0,0 +1,30 @@
+# file : Example/IDL2/CxxMapping/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := driver.cpp Generator.cpp
+
+module_base := driver
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+
+
+CXX_LINK_LIBS += -L$(root)/CCF/IDL2 \
+ -lIDL2 \
+ -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_filesystem
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Example/IDL2/CxxMapping/driver.cpp b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/driver.cpp
new file mode 100644
index 00000000000..11c6e895611
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/driver.cpp
@@ -0,0 +1,96 @@
+// file : Example/IDL2/CxxMapping/driver.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include <iostream>
+
+#include "CCF/CompilerElements/Context.hpp"
+#include "CCF/CompilerElements/FileSystem.hpp"
+#include "CCF/CompilerElements/Diagnostic.hpp"
+#include "CCF/CompilerElements/TokenStream.hpp"
+#include "CCF/CompilerElements/Preprocessor.hpp"
+
+#include "CCF/IDL2/LexicalAnalyzer.hpp"
+#include "CCF/IDL2/Parser.hpp"
+#include "CCF/IDL2/SemanticGraph.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Factory.hpp"
+
+#include "Generator.hpp"
+
+using std::cerr;
+using std::cout;
+using std::endl;
+
+using namespace CCF::CompilerElements;
+using namespace CCF::IDL2;
+using namespace CCF::IDL2::SemanticGraph;
+
+//@@ code repetition in driver.
+//
+
+int
+main ()
+{
+ try
+ {
+ Diagnostic::Stream dout;
+
+ fs::path file_path ("stdout");
+
+ InputStreamAdapter isa (std::cin);
+ CPP::Preprocessor pp (isa);
+
+ LexicalAnalyzer lexer (pp);
+
+ TokenList token_stream;
+
+ //@@ bad token comparison
+ for (TokenPtr token = lexer.next ();; token = lexer.next ())
+ {
+ token_stream.push_back (token);
+ if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break;
+ }
+
+ if (token_stream.size () < 2)
+ {
+ cerr << "no tokens produced so nothing to parse" << endl;
+ return 0;
+ }
+
+ TranslationUnit tu;
+
+ // Compilation context.
+ //
+ CCF::CompilerElements::Context context;
+ context.set ("file-path", file_path);
+ context.set ("trace-semantic-action", false);
+
+
+ SemanticAction::Impl::Factory actions (context, dout, tu);
+
+ Parser parser (context, dout, lexer, actions);
+
+ Parsing::parse (token_stream.begin (),
+ token_stream.end (),
+ parser.start ());
+
+ if (dout.error_count () != 0) return -1;
+
+ IDL2::Generator g;
+
+ g.generate (tu);
+ }
+ catch (std::bad_cast const&)
+ {
+ cerr << "bad cast exception" << endl;
+ }
+ catch (InvalidName const&)
+ {
+ cerr << "invalid name exception" << endl;
+ }
+ catch (...)
+ {
+ cerr << "caught unknown exception" << endl;
+ return -1;
+ }
+}
diff --git a/TAO/CIAO/CCF/Example/IDL2/CxxMapping/test.idl b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/test.idl
new file mode 100644
index 00000000000..82e44440c58
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/CxxMapping/test.idl
@@ -0,0 +1,12 @@
+// file : Example/IDL2/CxxMapping/test.idl
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+module M
+{
+ interface I
+ {
+ long foo (in string s, inout boolean b, out long l);
+ void bar ();
+ };
+};
diff --git a/TAO/CIAO/CCF/Example/IDL2/Makefile.alt b/TAO/CIAO/CCF/Example/IDL2/Makefile.alt
new file mode 100644
index 00000000000..bd7e6a31018
--- /dev/null
+++ b/TAO/CIAO/CCF/Example/IDL2/Makefile.alt
@@ -0,0 +1,18 @@
+# file : Example/IDL2/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := CxxMapping
+default_makefile_name := Makefile.alt
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Makefile b/TAO/CIAO/CCF/Makefile
new file mode 100644
index 00000000000..aefb7d2515f
--- /dev/null
+++ b/TAO/CIAO/CCF/Makefile
@@ -0,0 +1,13 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE library
+#----------------------------------------------------------------------------
+
+.DEFAULT:
+ @$(MAKE) -C CCF $@
+
+.PHONY: all
+
+all:
+ @$(MAKE) -C CCF $@
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp b/TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp
new file mode 100644
index 00000000000..278278b3360
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp
@@ -0,0 +1,32 @@
+// file : Test/CIDL/Compiler/Generator.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "Generator.hpp"
+#include "GeneratorImpl.hpp"
+
+namespace CIDL
+{
+ Generator::
+ ~Generator ()
+ {
+ }
+
+ Generator::
+ Generator ()
+ : pimpl_ (new GeneratorImpl), impl_ (*pimpl_)
+ {
+ }
+
+ Generator::
+ Generator (GeneratorImpl& gi)
+ : pimpl_ (), impl_ (gi)
+ {
+ }
+
+ void Generator::
+ generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu)
+ {
+ impl_.generate (tu);
+ }
+}
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp b/TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp
new file mode 100644
index 00000000000..3876195469d
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp
@@ -0,0 +1,34 @@
+// file : Test/CIDL/Compiler/Generator.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_CIDL_COMPILER_GENERATOR_HPP
+#define TEST_CIDL_COMPILER_GENERATOR_HPP
+
+#include <memory>
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+
+namespace CIDL
+{
+ class GeneratorImpl;
+
+ class Generator
+ {
+ public:
+ ~Generator ();
+ Generator ();
+
+ void
+ generate (CCF::CIDL::SemanticGraph::TranslationUnit& tu);
+
+ protected:
+ Generator (GeneratorImpl&);
+
+ protected:
+ std::auto_ptr<GeneratorImpl> pimpl_;
+ GeneratorImpl& impl_;
+ };
+}
+
+#endif // TEST_CIDL_COMPILER_GENERATOR_HPP
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp b/TAO/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp
new file mode 100644
index 00000000000..169fb57ace3
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp
@@ -0,0 +1,228 @@
+// file : Test/CIDL/Compiler/GeneratorImpl.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_CIDL_COMPILER_GENERATOR_IMPL_HPP
+#define TEST_CIDL_COMPILER_GENERATOR_IMPL_HPP
+
+#include <iostream>
+
+#include "CCF/CodeGenerationKit/IndentationIDL.hpp"
+#include "CCF/CodeGenerationKit/IndentationImplanter.hpp"
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "../../IDL3/Compiler/GeneratorImpl.hpp"
+
+namespace CIDL
+{
+ using namespace CCF::CIDL;
+
+ using std::cout;
+ using std::endl;
+
+ class GeneratorImpl : public IDL3::GeneratorImpl
+ {
+ protected:
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ // Layer 3
+ //
+
+ //--
+
+ struct Composition : Traversal::Composition
+ {
+ virtual void
+ pre (Type& c)
+ {
+ //@@ TODO kind
+ cout << "composition " << "session" << " ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+ };
+
+
+ struct HomeExecutor : Traversal::HomeExecutor
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "home executor ";
+ }
+
+ virtual void
+ name (Type& he)
+ {
+ cout << he.name () << "{";
+ }
+
+ virtual void
+ implements_pre (Type&)
+ {
+ cout << "implements ";
+ }
+
+ virtual void
+ implements_post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ manages_pre (Type&)
+ {
+ cout << "manages ";
+ }
+
+ virtual void
+ manages_post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ post (Type& he)
+ {
+ cout << "};";
+ }
+ };
+
+
+ // Layer 4
+ //
+
+ //--
+
+ // Layer 5
+ //
+
+ //--
+
+ struct SimpleName : Traversal::Nameable
+ {
+ virtual void
+ traverse (Type& n)
+ {
+ cout << n.name ();
+ }
+ };
+
+ public:
+
+ GeneratorImpl ()
+ {
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ // Layer 3
+ //
+
+ //--
+
+ defines.node_traverser (composition);
+
+ // Layer 4
+ //
+
+ composition.edge_traverser (composition_defines);
+
+ //--
+
+ composition_defines.node_traverser (home_executor);
+
+ // Layer 5
+ //
+ home_executor.edge_traverser (home_executor_implements);
+ home_executor.edge_traverser (home_executor_manages);
+
+ //--
+
+ home_executor_implements.node_traverser (type_name);
+ home_executor_manages.node_traverser (simple_name);
+
+ // Layer 6
+ //
+
+ }
+
+ protected:
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ // Layer 3
+ //
+
+ //--
+
+ Composition composition;
+
+ // Layer 4
+ //
+
+ Traversal::Defines composition_defines;
+
+ //--
+
+ HomeExecutor home_executor;
+
+ // Layer 5
+ //
+ Traversal::Implements home_executor_implements;
+ Traversal::Manages home_executor_manages;
+
+ //--
+
+ SimpleName simple_name;
+
+ // Layer 6
+ //
+
+ public:
+ void
+ generate (CCF::CIDL::SemanticGraph::TranslationUnit& tu)
+ {
+ // Plug automatic IDL indenter.
+ //
+ Indentation::Implanter<Indentation::IDL> guard (cout);
+
+ unit.traverse (tu);
+ }
+ };
+}
+
+#endif // TEST_CIDL_COMPILER_GENERATOR_IMPL_HPP
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/Makefile.alt b/TAO/CIAO/CCF/Test/CIDL/Compiler/Makefile.alt
new file mode 100644
index 00000000000..c19c3f3a5a1
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/Makefile.alt
@@ -0,0 +1,33 @@
+# file : Test/IDL3/Compiler/driver/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := driver.cpp Generator.cpp
+
+module_base := driver
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+
+CXX_LINK_LIBS += -L$(root)/CCF/CIDL \
+ -lCIDL \
+ -L$(root)/CCF/IDL3 \
+ -lIDL3 \
+ -L$(root)/CCF/IDL2 \
+ -lIDL2 \
+ -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_filesystem
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/driver.cpp b/TAO/CIAO/CCF/Test/CIDL/Compiler/driver.cpp
new file mode 100644
index 00000000000..222dd8f851c
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/driver.cpp
@@ -0,0 +1,97 @@
+// file : Test/CIDL/Compiler/driver.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CompilerElements/Context.hpp"
+#include "CCF/CompilerElements/FileSystem.hpp"
+#include "CCF/CompilerElements/Diagnostic.hpp"
+#include "CCF/CompilerElements/TokenStream.hpp"
+#include "CCF/CompilerElements/Preprocessor.hpp"
+
+#include "CCF/CIDL/LexicalAnalyzer.hpp"
+#include "CCF/CIDL/Parser.hpp"
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/SemanticAction/Impl/Factory.hpp"
+
+#include "Generator.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::cout;
+using std::endl;
+
+using namespace CCF::CompilerElements;
+using namespace CCF::CIDL;
+using namespace SemanticGraph;
+
+int
+main ()
+{
+ try
+ {
+ Diagnostic::Stream dout;
+
+ fs::path file_path ("stdout");
+
+ InputStreamAdapter isa (std::cin);
+ CPP::Preprocessor pp (isa);
+
+ LexicalAnalyzer lexer (pp);
+
+ TokenList token_stream;
+
+ //@@ bad token comparison
+ for (TokenPtr token = lexer.next ();; token = lexer.next ())
+ {
+ token_stream.push_back (token);
+ if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break;
+ }
+
+ if (token_stream.size () < 2)
+ {
+ cerr << "no tokens produced so nothing to parse" << endl;
+ return 0;
+ }
+
+ TranslationUnit tu;
+
+ // Compilation context.
+ //
+ CCF::CompilerElements::Context context;
+ context.set ("file-path", file_path);
+ context.set ("trace-semantic-action", false);
+
+
+ SemanticAction::Impl::Factory actions (context, dout, tu);
+
+ Parser parser (context, dout, lexer, actions);
+
+ //@@ should be able to use IDL3 here. Or better yet get rid of this
+ // function completely.
+ //
+ CCF::IDL2::Parsing::parse (token_stream.begin (),
+ token_stream.end (),
+ parser.start ());
+
+ if (dout.error_count () != 0) return -1;
+
+ CIDL::Generator g;
+
+ g.generate (tu);
+
+ }
+ catch (std::bad_cast const&)
+ {
+ cerr << "bad cast exception" << endl;
+ }
+ catch (InvalidName const&)
+ {
+ cerr << "invalid name exception" << endl;
+ }
+ catch (...)
+ {
+ cerr << "caught unknown exception" << endl;
+ return -1;
+ }
+}
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig b/TAO/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig
new file mode 100644
index 00000000000..6ba766db738
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig
@@ -0,0 +1,14 @@
+component C
+{
+};
+home H manages ::C
+{
+};
+composition session SC
+{
+ home executor H_Exec
+ {
+ implements ::H;
+ manages C_Exec;
+ };
+};
diff --git a/TAO/CIAO/CCF/Test/CIDL/Compiler/test.cidl b/TAO/CIAO/CCF/Test/CIDL/Compiler/test.cidl
new file mode 100644
index 00000000000..349712a18df
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Compiler/test.cidl
@@ -0,0 +1,21 @@
+// file : CCF/Test/CIDL/Compiler/test.cidl
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+component C
+{
+};
+
+home H manages C
+{
+};
+
+composition session SC
+{
+ home executor H_Exec
+ {
+ implements H;
+ manages C_Exec;
+ };
+};
+
diff --git a/TAO/CIAO/CCF/Test/CIDL/Makefile.alt b/TAO/CIAO/CCF/Test/CIDL/Makefile.alt
new file mode 100644
index 00000000000..9c40e927d74
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CIDL/Makefile.alt
@@ -0,0 +1,19 @@
+# file : Test/CIDL/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := Compiler
+default_makefile_name := Makefile.alt
+
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Test/CompilerElements/CPP/Makefile.alt b/TAO/CIAO/CCF/Test/CompilerElements/CPP/Makefile.alt
new file mode 100644
index 00000000000..4f02253d0da
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CompilerElements/CPP/Makefile.alt
@@ -0,0 +1,24 @@
+# file : Test/CompilerElements/CPP/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := driver.cpp
+
+module_base := driver
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+CXX_LINK_LIBS += -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp b/TAO/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp
new file mode 100644
index 00000000000..de3624d86a7
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp
@@ -0,0 +1,40 @@
+// file : CCF/Test/CompilerElements/CPP/driver.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include <iostream>
+
+#include "CCF/CompilerElements/TokenStream.hpp"
+#include "CCF/CompilerElements/Preprocessor.hpp"
+
+using std::cout;
+using std::endl;
+
+using CCF::CompilerElements::InputStreamAdapter;
+
+using namespace CCF::CompilerElements::CPP;
+
+int
+main ()
+{
+ InputStreamAdapter isa (std::cin);
+ Preprocessor pp (isa);
+
+ try
+ {
+ for (;;)
+ {
+ Token t (pp.next ());
+
+ if (t == Token::eos) break;
+
+ std::cout << t;
+ }
+ }
+ catch (std::exception const& e)
+ {
+ cout << e.what () << endl;
+ }
+
+ return 0;
+}
diff --git a/TAO/CIAO/CCF/Test/CompilerElements/Makefile.alt b/TAO/CIAO/CCF/Test/CompilerElements/Makefile.alt
new file mode 100644
index 00000000000..58d7280afeb
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/CompilerElements/Makefile.alt
@@ -0,0 +1,19 @@
+# file : Test/CompilerElements/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := CPP
+default_makefile_name := Makefile.alt
+
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Test/IDL2/Compiler/Makefile.alt b/TAO/CIAO/CCF/Test/IDL2/Compiler/Makefile.alt
new file mode 100644
index 00000000000..73b6a748070
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Compiler/Makefile.alt
@@ -0,0 +1,31 @@
+# file : Test/IDL2/Compiler/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := driver.cpp
+
+translated_units += ../Traversal/Recreate/Generator.o
+
+module_base := driver
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+
+CXX_LINK_LIBS += -L$(root)/CCF/IDL2 \
+ -lIDL2 \
+ -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_filesystem
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Test/IDL2/Compiler/driver.cpp b/TAO/CIAO/CCF/Test/IDL2/Compiler/driver.cpp
new file mode 100644
index 00000000000..71d8dc9b971
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Compiler/driver.cpp
@@ -0,0 +1,94 @@
+// file : Test/IDL2/Compiler/driver.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CompilerElements/Context.hpp"
+#include "CCF/CompilerElements/FileSystem.hpp"
+#include "CCF/CompilerElements/Diagnostic.hpp"
+#include "CCF/CompilerElements/TokenStream.hpp"
+#include "CCF/CompilerElements/Preprocessor.hpp"
+
+#include "CCF/IDL2/LexicalAnalyzer.hpp"
+#include "CCF/IDL2/Parser.hpp"
+#include "CCF/IDL2/SemanticGraph.hpp"
+#include "CCF/IDL2/SemanticAction/Impl/Factory.hpp"
+
+#include "../Traversal/Recreate/Generator.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::cout;
+using std::endl;
+
+using namespace CCF::CompilerElements;
+using namespace CCF::IDL2;
+using namespace CCF::IDL2::SemanticGraph;
+
+int
+main ()
+{
+ try
+ {
+ Diagnostic::Stream dout;
+
+ fs::path file_path ("stdout");
+
+ InputStreamAdapter isa (std::cin);
+ CPP::Preprocessor pp (isa);
+
+ LexicalAnalyzer lexer (pp);
+
+ TokenList token_stream;
+
+ //@@ bad token comparison
+ for (TokenPtr token = lexer.next ();; token = lexer.next ())
+ {
+ token_stream.push_back (token);
+ if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break;
+ }
+
+ if (token_stream.size () < 2)
+ {
+ cerr << "no tokens produced so nothing to parse" << endl;
+ return 0;
+ }
+
+ TranslationUnit tu;
+
+ // Compilation context.
+ //
+ CCF::CompilerElements::Context context;
+ context.set ("file-path", file_path);
+ context.set ("trace-semantic-action", false);
+
+
+ SemanticAction::Impl::Factory actions (context, dout, tu);
+
+ Parser parser (context, dout, lexer, actions);
+
+ Parsing::parse (token_stream.begin (),
+ token_stream.end (),
+ parser.start ());
+
+ if (dout.error_count () != 0) return -1;
+
+ IDL2::Generator g;
+
+ g.generate (tu);
+
+ }
+ catch (std::bad_cast const&)
+ {
+ cerr << "bad cast exception" << endl;
+ }
+ catch (InvalidName const&)
+ {
+ cerr << "invalid name exception" << endl;
+ }
+ catch (...)
+ {
+ cerr << "caught unknown exception" << endl;
+ return -1;
+ }
+}
diff --git a/TAO/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig b/TAO/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig
new file mode 100644
index 00000000000..a29258b9e6f
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig
@@ -0,0 +1,88 @@
+module AttributeTest
+{
+ interface I
+ {
+ attribute long a;
+ attribute string foo;
+ };
+};
+module InterfaceTest
+{
+ abstract interface AI;
+ local interface LI;
+ interface I;
+ abstract interface AI
+ {
+ };
+ interface I : ::InterfaceTest::AI
+ {
+ };
+ local interface LI : ::InterfaceTest::I, ::InterfaceTest::AI
+ {
+ };
+};
+module MemberTest
+{
+ typedef long Id;
+ struct S
+ {
+ long id;
+ string foo;
+ string bar;
+ string baz;
+ };
+};
+module ModuleTest
+{
+ module M
+ {
+ module N
+ {
+ typedef long L;
+ };
+ };
+ module M
+ {
+ typedef long L;
+ };
+ module N
+ {
+ typedef long L;
+ };
+};
+module OperationTest
+{
+ interface I
+ {
+ long f (in string a, out long b, inout octet c);
+ };
+};
+module Sequence
+{
+ typedef sequence<octet> OctetSeq;
+ typedef sequence<octet> RawSeq;
+ typedef sequence<string> StringSeq;
+ typedef sequence<string> StrSeq;
+};
+module StructTest
+{
+ struct S;
+ struct S
+ {
+ long m;
+ };
+};
+module TypeidTest
+{
+ interface I;
+ typeid ::TypeidTest::I "Foo";
+ typeprefix ::TypeidTest "Bar";
+};
+module TypedefTest
+{
+ interface I;
+ typedef ::TypedefTest::I J;
+ interface I
+ {
+ };
+};
diff --git a/TAO/CIAO/CCF/Test/IDL2/Compiler/test.idl b/TAO/CIAO/CCF/Test/IDL2/Compiler/test.idl
new file mode 100644
index 00000000000..1d18e7118fe
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Compiler/test.idl
@@ -0,0 +1,151 @@
+// file : CCF/Test/IDL2/Compiler/test.idl
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+// Attribute
+//
+//
+module AttributeTest
+{
+ interface I
+ {
+ attribute long a;
+ attribute string foo;
+ };
+};
+
+// Interface
+//
+//
+module InterfaceTest
+{
+ abstract interface AI;
+ local interface LI;
+ interface I;
+
+ abstract interface AI
+ {
+ };
+
+ interface I : AI
+ {
+ };
+
+ local interface LI : I, AI
+ {
+ };
+};
+
+// Member
+//
+//
+module MemberTest
+{
+ typedef long Id;
+
+ struct S
+ {
+ Id id;
+ string foo, bar, baz;
+ };
+};
+
+// Module
+//
+//
+module ModuleTest
+{
+ module M
+ {
+ module N
+ {
+ typedef long L;
+ };
+ };
+
+ module M
+ {
+ typedef N::L L;
+ };
+
+ module N
+ {
+ typedef M::N::L L;
+ };
+};
+
+
+// Operation
+//
+//
+module OperationTest
+{
+ interface I
+ {
+ long f (in string a, out long b, inout octet c);
+ };
+};
+
+
+// Sequence
+//
+//
+module Sequence
+{
+ typedef sequence<octet> OctetSeq;
+
+ typedef OctetSeq RawSeq;
+
+ typedef sequence<string> StringSeq, StrSeq;
+};
+
+
+// Struct
+//
+//
+module StructTest
+{
+ struct S;
+
+ struct S
+ {
+ long m; // Struct cannot be empty.
+ };
+
+};
+
+// Typeid
+//
+//
+module TypeidTest
+{
+ interface I;
+
+ typeid I "Foo";
+ typeprefix TypeidTest "Bar";
+};
+
+
+// Typedef
+//
+//
+
+module TypedefTest
+{
+ interface I;
+
+ typedef I J;
+
+ interface I
+ {
+ /*
+ struct S
+ {
+ long l;
+ };
+
+ J::S op ();
+ */
+ };
+};
+
diff --git a/TAO/CIAO/CCF/Test/IDL2/Makefile.alt b/TAO/CIAO/CCF/Test/IDL2/Makefile.alt
new file mode 100644
index 00000000000..d8b36f4b731
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Makefile.alt
@@ -0,0 +1,24 @@
+# file : Test/IDL2/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := Compiler \
+ SemanticGraph \
+ Traversal
+
+default_makefile_name := Makefile.alt
+
+Traversal : SemanticGraph
+Compiler : Traversal
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp
new file mode 100644
index 00000000000..764ab3fbc6f
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp
@@ -0,0 +1,165 @@
+// file : Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include <iostream>
+
+#include "Builder.hpp"
+
+using namespace CCF::IDL2::SemanticGraph;
+
+//@@ tmp
+using std::cerr;
+using std::endl;
+
+TranslationUnit* Builder::
+build ()
+{
+ /*
+ 0
+ 1 #include "../foo/quote.idl"
+ 2 #include <ui/bracket.idl>
+ 3
+ 4 module M
+ 5 {
+ 6
+ 7 interface I;
+ 8
+ 9 typedef I J;
+ 10
+ 11 interface I
+ 12 {
+ 13 void f (in long id, out string name);
+ 14
+ 15 attribute long a;
+ 16 };
+ 17
+ 18 interface Q : J {};
+ 19
+ 20 typeid I "Foo";
+ 21 typeprefix M "Bar";
+ 22
+ 23 struct S
+ 24 {
+ 25 long member;
+ 26 };
+ 27
+ 28 typedef sequence<long> LongSeq;
+ 29
+ 30 };
+ 31
+ 32
+ */
+
+ //@@ names can be spcified without explicit construction.
+ //
+
+ TranslationUnit& tu (*(new TranslationUnit));
+
+
+ // 0: Implied translation region with fundamental types.
+ //
+ //
+ TranslationRegion& fundamental (tu.new_node<TranslationRegion> ());
+ tu.new_edge<ContainsImplied> (tu, fundamental, ".fundamental");
+
+ Root& fundamental_root (tu.new_node<Root> ());
+ tu.new_edge<ContainsRoot> (fundamental, fundamental_root);
+
+ Void& void_ (tu.new_node<Void> ());
+ tu.new_edge<Defines> (fundamental_root, void_, SimpleName ("void"));
+
+ Long& long_ (tu.new_node<Long> ());
+ tu.new_edge<Defines> (fundamental_root, long_, SimpleName ("long"));
+
+ String& string_ (tu.new_node<String> ());
+ tu.new_edge<Defines> (fundamental_root, string_, SimpleName ("string"));
+
+ // Principal translation region.
+ //
+ TranslationRegion& principal (tu.new_node<TranslationRegion> ());
+ tu.new_edge<ContainsPrincipal> (tu, principal);
+
+ // 1: Quote included translation region.
+ //
+ TranslationRegion& quote_included (tu.new_node<TranslationRegion> ());
+ tu.new_edge<QuoteIncludes> (principal, quote_included, "../foo/quote.idl");
+
+ // 2: Bracket included translation region.
+ //
+ TranslationRegion& braket_included (tu.new_node<TranslationRegion> ());
+ tu.new_edge<BracketIncludes> (principal, braket_included, "ui/bracket.idl");
+
+ Root& root (tu.new_node<Root> ());
+ tu.new_edge<ContainsRoot> (principal, root);
+
+ // 4-5:
+ //
+ Module& m (tu.new_node<Module> ());
+ tu.new_edge<Defines> (root, m, SimpleName ("M"));
+
+ // 7-11:
+ //
+ UnconstrainedInterface& i (tu.new_node<UnconstrainedInterface> ());
+ tu.new_edge<Mentions> (m, i, SimpleName ("I"));
+ tu.new_edge<Aliases> (m, i, SimpleName ("J"));
+ tu.new_edge<Defines> (m, i, SimpleName ("I"));
+
+ // 13:
+ //
+ TwoWayOperation& f (tu.new_node<TwoWayOperation> ());
+ tu.new_edge<Returns> (f, void_);
+
+ Parameter& id (tu.new_node<InParameter> ("id"));
+ tu.new_edge<Belongs> (id, long_);
+ tu.new_edge<Receives> (f, id);
+
+ Parameter& name (tu.new_node<OutParameter> ("name"));
+ tu.new_edge<Belongs> (name, string_);
+ tu.new_edge<Receives> (f, name);
+
+ tu.new_edge<Defines> (i, f, SimpleName ("f"));
+
+ // 15:
+ //
+ Attribute& a (tu.new_node<Attribute> ());
+ tu.new_edge<Belongs> (a, long_);
+ tu.new_edge<Defines> (i, a, SimpleName ("a"));
+
+ // 18:
+ //
+ UnconstrainedInterface& q (tu.new_node<UnconstrainedInterface> ());
+ tu.new_edge<Inherits> (q, i);
+ tu.new_edge<Defines> (m, q, SimpleName ("Q"));
+
+ // 20:
+ //
+ TypeId& ti (tu.new_node<TypeId> (
+ ScopedName ("::M::I"), StringLiteral ("Foo")));
+ tu.new_edge<Defines> (m, ti, SimpleName ("typeid"));
+
+ // 21:
+ //
+ TypePrefix& tp (tu.new_node<TypePrefix> (
+ ScopedName ("::M"), StringLiteral ("Bar")));
+ tu.new_edge<Defines> (m, tp, SimpleName ("typeprefix"));
+
+ // 23-24:
+ //
+ Struct& s (tu.new_node<Struct> ());
+ tu.new_edge<Defines> (m, s, SimpleName ("S"));
+
+ // 25:
+ //
+ Member& member (tu.new_node<Member> ());
+ tu.new_edge<Belongs> (member, long_);
+ tu.new_edge<Defines> (s, member, SimpleName ("member"));
+
+ // 28:
+ //
+ UnboundedSequence& long_seq (tu.new_node<UnboundedSequence> ());
+ tu.new_edge<Specialized> (long_seq, long_);
+ tu.new_edge<Aliases> (m, long_seq, SimpleName ("LongSeq"));
+
+ return &tu;
+}
diff --git a/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp
new file mode 100644
index 00000000000..794c56547d2
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp
@@ -0,0 +1,17 @@
+// file : Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_IDL2_SEMANTIC_GRAPH_BUILDER_HPP
+#define TEST_IDL2_SEMANTIC_GRAPH_BUILDER_HPP
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+
+class Builder
+{
+public:
+ CCF::IDL2::SemanticGraph::TranslationUnit*
+ build ();
+};
+
+#endif // TEST_IDL2_SEMANTIC_GRAPH_BUILDER_HPP
diff --git a/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Makefile.alt b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Makefile.alt
new file mode 100644
index 00000000000..806d14771c0
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Makefile.alt
@@ -0,0 +1,29 @@
+# file : Test/IDL2/SemanticGraph/HandBuilt/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := hand_built.cpp Builder.cpp
+
+module_base := hand_built
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+
+CXX_LINK_LIBS += -L$(root)/CCF/IDL2 \
+ -lIDL2 \
+ -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_filesystem
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp
new file mode 100644
index 00000000000..3640282cfe3
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp
@@ -0,0 +1,16 @@
+// file : Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "Builder.hpp"
+
+using namespace CCF::IDL2;
+
+int
+main ()
+{
+ Builder b;
+ SemanticGraph::TranslationUnit& tu (*b.build ());
+
+ delete &tu;
+}
diff --git a/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/Makefile.alt b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/Makefile.alt
new file mode 100644
index 00000000000..3a59fa55404
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/SemanticGraph/Makefile.alt
@@ -0,0 +1,18 @@
+# file : Test/IDL2/SemanticGraph/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := HandBuilt
+default_makefile_name := Makefile.alt
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Test/IDL2/Traversal/Makefile.alt b/TAO/CIAO/CCF/Test/IDL2/Traversal/Makefile.alt
new file mode 100644
index 00000000000..7e498776ee5
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Traversal/Makefile.alt
@@ -0,0 +1,18 @@
+# file : Test/IDL2/Traversal/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := Recreate
+default_makefile_name := Makefile.alt
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp
new file mode 100644
index 00000000000..8aa3e895b9d
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp
@@ -0,0 +1,32 @@
+// file : Test/IDL2/Traversal/Recreate/Generator.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "Generator.hpp"
+#include "GeneratorImpl.hpp"
+
+namespace IDL2
+{
+ Generator::
+ ~Generator ()
+ {
+ }
+
+ Generator::
+ Generator ()
+ : pimpl_ (new GeneratorImpl), impl_ (*pimpl_)
+ {
+ }
+
+ Generator::
+ Generator (GeneratorImpl& gi)
+ : pimpl_ (), impl_ (gi)
+ {
+ }
+
+ void Generator::
+ generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu)
+ {
+ impl_.generate (tu);
+ }
+}
diff --git a/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp
new file mode 100644
index 00000000000..b0387317ad5
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp
@@ -0,0 +1,34 @@
+// file : Test/IDL2/Traversal/Recreate/Generator.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_HPP
+#define TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_HPP
+
+#include <memory>
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+
+namespace IDL2
+{
+ class GeneratorImpl;
+
+ class Generator
+ {
+ public:
+ ~Generator ();
+ Generator ();
+
+ void
+ generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu);
+
+ protected:
+ Generator (GeneratorImpl&);
+
+ protected:
+ std::auto_ptr<GeneratorImpl> pimpl_;
+ GeneratorImpl& impl_;
+ };
+}
+
+#endif // TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_HPP
diff --git a/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp
new file mode 100644
index 00000000000..52b89e03e12
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp
@@ -0,0 +1,682 @@
+// file : Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_IMPL_HPP
+#define TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_IMPL_HPP
+
+#include <iostream>
+
+#include "CCF/CodeGenerationKit/IndentationIDL.hpp"
+#include "CCF/CodeGenerationKit/IndentationImplanter.hpp"
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+#include "CCF/IDL2/Traversal.hpp"
+
+namespace IDL2
+{
+ using namespace CCF::IDL2;
+ using namespace CCF::IDL2::SemanticGraph;
+
+ using std::cout;
+ using std::endl;
+
+ class GeneratorImpl
+ {
+ protected:
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+ struct BracketIncludes : Traversal::BracketIncludes
+ {
+ virtual void
+ traverse (Type& qi)
+ {
+ cout << "include <" << qi.file ().string () << ">" << endl;
+ }
+ };
+
+ struct QuoteIncludes : Traversal::QuoteIncludes
+ {
+ virtual void
+ traverse (Type& qi)
+ {
+ cout << "include \"" << qi.file ().string () << "\"" << endl;
+ }
+ };
+
+ //--
+
+ // Layer 3
+ //
+
+ struct Aliases : Traversal::Aliases
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "typedef ";
+ }
+
+ virtual void
+ name (Type& a)
+ {
+ cout << " " << a.name ();
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+ };
+
+ //--
+
+ struct AbstractInterfaceFwd : Traversal::AbstractInterface
+ {
+ virtual void
+ traverse (Type& i)
+ {
+ cout << "abstract interface " << i.name () << ";";
+ }
+ };
+
+ struct LocalInterfaceFwd : Traversal::LocalInterface
+ {
+ virtual void
+ traverse (Type& i)
+ {
+ cout << "local interface " << i.name () << ";";
+ }
+ };
+
+ struct UnconstrainedInterfaceFwd : Traversal::UnconstrainedInterface
+ {
+ virtual void
+ traverse (Type& i)
+ {
+ cout << "interface " << i.name () << ";";
+ }
+ };
+
+ struct StructFwd : Traversal::Struct
+ {
+ virtual void
+ traverse (Type& i)
+ {
+ cout << "struct " << i.name () << ";";
+ }
+ };
+
+
+ struct AbstractInterface : Traversal::AbstractInterface
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "abstract interface ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ struct LocalInterface : Traversal::LocalInterface
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "local interface ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ struct UnconstrainedInterface : Traversal::UnconstrainedInterface
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "interface ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+
+ struct Module : Traversal::Module
+ {
+ virtual void
+ pre (Type& m)
+ {
+ cout << "module " << m.name ();
+ }
+
+ virtual void
+ names_pre (Type& m)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type& m)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type& m)
+ {
+ cout << ";";
+ }
+ };
+
+ struct Struct : Traversal::Struct
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "struct ";
+ }
+
+ virtual void
+ name (Type& s)
+ {
+ cout << s.name ();
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+ };
+
+
+ struct TypeId : Traversal::TypeId
+ {
+ virtual void
+ traverse (Type& ti)
+ {
+ cout << "typeid " << ti.declaration () << " " << ti.id () << ";";
+ }
+ };
+
+
+ struct TypePrefix : Traversal::TypePrefix
+ {
+ virtual void
+ traverse (Type& ti)
+ {
+ cout << "typeprefix " << ti.declaration () << " "
+ << ti.prefix () << ";";
+ }
+ };
+
+ struct TypeName : Traversal::Nameable,
+ Traversal::FundamentalType
+ {
+ virtual void
+ traverse (SemanticGraph::Nameable& n)
+ {
+ cout << n.scoped_name ();
+ }
+
+ virtual void
+ traverse (SemanticGraph::FundamentalType& ft)
+ {
+ cout << ft.name ();
+ }
+ };
+
+ struct UnboundedSequence : Traversal::UnboundedSequence
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "sequence<";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ">";
+ }
+ };
+
+ // Layer 4
+ //
+
+ //--
+
+ struct Operation : Traversal::Operation
+ {
+ virtual void
+ name (Type& o)
+ {
+ cout << " " << o.name ();
+ }
+
+ virtual void
+ receives_pre (Type&)
+ {
+ cout << " (";
+ }
+
+ virtual void
+ receives_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ raises_pre (Type&)
+ {
+ cout << " raises (";
+ }
+
+ virtual void
+ raises_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ struct Attribute : Traversal::Attribute
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "attribute ";
+ }
+
+ virtual void
+ name (Type& a)
+ {
+ cout << " " << a.name ();
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ };
+
+ struct Member : Traversal::Member
+ {
+ virtual void
+ name (Type& m)
+ {
+ cout << " " << m.name ();
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+ };
+
+ // Layer 5
+ //
+
+ //--
+
+ struct Parameter : Traversal::InParameter,
+ Traversal::OutParameter,
+ Traversal::InOutParameter
+ {
+ virtual void
+ pre (InParameter& p)
+ {
+ cout << " in ";
+ }
+
+ virtual void
+ pre (OutParameter& p)
+ {
+ cout << " out ";
+ }
+
+ virtual void
+ pre (InOutParameter& p)
+ {
+ cout << " inout ";
+ }
+
+ virtual void
+ name (InParameter& p)
+ {
+ cout << p.name ();
+ }
+
+ virtual void
+ name (OutParameter& p)
+ {
+ cout << p.name ();
+ }
+
+ virtual void
+ name (InOutParameter& p)
+ {
+ cout << p.name ();
+ }
+ };
+
+ public:
+
+ GeneratorImpl ()
+ {
+ // Layer 1
+ //
+ unit.edge_traverser (contains_principal);
+
+ //--
+
+ contains_principal.node_traverser (region);
+
+ // Layer 2
+ //
+ region.edge_traverser (quote_includes);
+ region.edge_traverser (bracket_includes);
+ region.edge_traverser (contains_root);
+
+ //--
+
+ contains_root.node_traverser (root);
+
+ // Layer 3
+ //
+ root.edge_traverser (mentions);
+ root.edge_traverser (defines);
+ root.edge_traverser (aliases);
+
+ //--
+
+ mentions.node_traverser (abstract_interface_fwd);
+ mentions.node_traverser (local_interface_fwd);
+ mentions.node_traverser (unconstrained_interface_fwd);
+ mentions.node_traverser (struct_fwd);
+
+ defines.node_traverser (abstract_interface);
+ defines.node_traverser (local_interface);
+ defines.node_traverser (unconstrained_interface);
+ defines.node_traverser (module);
+ defines.node_traverser (struct_);
+ defines.node_traverser (type_id);
+ defines.node_traverser (type_prefix);
+
+ aliases.node_traverser (type_name);
+ aliases.node_traverser (unbounded_sequence);
+
+ // Layer 4
+ //
+ module.edge_traverser (mentions);
+ module.edge_traverser (defines);
+ module.edge_traverser (aliases);
+
+ abstract_interface.edge_traverser (inherits);
+ local_interface.edge_traverser (inherits);
+ unconstrained_interface.edge_traverser (inherits);
+
+ abstract_interface.edge_traverser (interface_defines);
+ local_interface.edge_traverser (interface_defines);
+ unconstrained_interface.edge_traverser (interface_defines);
+
+ struct_.edge_traverser (struct_defines);
+
+ unbounded_sequence.edge_traverser (specialized);
+
+ //--
+
+ inherits.node_traverser (type_name);
+
+ interface_defines.node_traverser (operation);
+ interface_defines.node_traverser (attribute);
+
+ struct_defines.node_traverser (member);
+
+ specialized.node_traverser (type_name);
+
+ // Layer 5
+ //
+
+ operation.edge_traverser (receives);
+ operation.edge_traverser (returns);
+
+ attribute.edge_traverser (belongs);
+
+ member.edge_traverser (belongs);
+
+ //--
+
+ receives.node_traverser (parameter);
+ returns.node_traverser (type_name);
+ belongs.node_traverser (type_name);
+
+ // Layer 6
+ //
+ parameter.edge_traverser (belongs);
+
+ }
+
+ protected:
+ Traversal::TranslationUnit unit;
+
+ // Layer 1
+ //
+ Traversal::ContainsPrincipal contains_principal;
+
+ //--
+
+ Traversal::TranslationRegion region;
+
+ // Layer 2
+ //
+ BracketIncludes bracket_includes;
+ QuoteIncludes quote_includes;
+ Traversal::ContainsRoot contains_root;
+
+ //--
+
+ Traversal::Root root;
+
+ // Layer 3
+ //
+ Traversal::Mentions mentions;
+ Traversal::Defines defines;
+ Aliases aliases;
+
+ //--
+
+ AbstractInterfaceFwd abstract_interface_fwd;
+ LocalInterfaceFwd local_interface_fwd;
+ UnconstrainedInterfaceFwd unconstrained_interface_fwd;
+
+ StructFwd struct_fwd;
+
+ AbstractInterface abstract_interface;
+ LocalInterface local_interface;
+ UnconstrainedInterface unconstrained_interface;
+
+ Module module;
+
+ Struct struct_;
+
+ TypeId type_id;
+ TypePrefix type_prefix;
+
+ TypeName type_name;
+
+ UnboundedSequence unbounded_sequence;
+
+ // Layer 4
+ //
+ Traversal::Inherits inherits;
+ Traversal::Defines interface_defines;
+ Traversal::Defines struct_defines;
+ Traversal::Specialized specialized;
+
+ //--
+
+ Operation operation;
+ Attribute attribute;
+ Member member;
+
+ // Layer 5
+ //
+ Traversal::Receives receives;
+ Traversal::Returns returns;
+ Traversal::Belongs belongs;
+
+ //--
+
+ Parameter parameter;
+
+ // Layer 6
+ //
+
+ public:
+ void
+ generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu)
+ {
+ // Plug automatic IDL indenter.
+ //
+ Indentation::Implanter<Indentation::IDL> guard (cout);
+
+ unit.traverse (tu);
+ }
+ };
+}
+
+#endif // TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_IMPL_HPP
diff --git a/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Makefile.alt b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Makefile.alt
new file mode 100644
index 00000000000..601f6749c57
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/Makefile.alt
@@ -0,0 +1,33 @@
+# file : Test/IDL2/Traversal/Recreate/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := recreate.cpp Generator.cpp
+
+translated_units += ../../SemanticGraph/HandBuilt/Builder.o
+
+module_base := recreate
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+# -L$(root)/CCF/CompilerElements \
+# -lCompilerElements \
+
+CXX_LINK_LIBS += -L$(root)/CCF/IDL2 \
+ -lIDL2 \
+ -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_filesystem
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp
new file mode 100644
index 00000000000..560040bbcb0
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp
@@ -0,0 +1,24 @@
+// file : Test/IDL2/Traversal/Recreate/recreate.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include <iostream>
+
+#include "CCF/IDL2/SemanticGraph.hpp"
+
+#include "../../SemanticGraph/HandBuilt/Builder.hpp"
+
+#include "Generator.hpp"
+
+int
+main ()
+{
+ Builder b;
+ CCF::IDL2::SemanticGraph::TranslationUnit& tu (*b.build ());
+
+ IDL2::Generator g;
+
+ g.generate (tu);
+
+ delete &tu;
+}
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp b/TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp
new file mode 100644
index 00000000000..06310ecd4b8
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp
@@ -0,0 +1,32 @@
+// file : Test/IDL3/Compiler/Generator.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "Generator.hpp"
+#include "GeneratorImpl.hpp"
+
+namespace IDL3
+{
+ Generator::
+ ~Generator ()
+ {
+ }
+
+ Generator::
+ Generator ()
+ : pimpl_ (new GeneratorImpl), impl_ (*pimpl_)
+ {
+ }
+
+ Generator::
+ Generator (GeneratorImpl& gi)
+ : pimpl_ (), impl_ (gi)
+ {
+ }
+
+ void Generator::
+ generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu)
+ {
+ impl_.generate (tu);
+ }
+}
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp b/TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp
new file mode 100644
index 00000000000..667e1d3c69f
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp
@@ -0,0 +1,34 @@
+// file : Test/IDL3/Compiler/Generator.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_IDL3_COMPILER_GENERATOR_HPP
+#define TEST_IDL3_COMPILER_GENERATOR_HPP
+
+#include <memory>
+
+#include "CCF/IDL3/SemanticGraph.hpp"
+
+namespace IDL3
+{
+ class GeneratorImpl;
+
+ class Generator
+ {
+ public:
+ ~Generator ();
+ Generator ();
+
+ void
+ generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu);
+
+ protected:
+ Generator (GeneratorImpl&);
+
+ protected:
+ std::auto_ptr<GeneratorImpl> pimpl_;
+ GeneratorImpl& impl_;
+ };
+}
+
+#endif // TEST_IDL3_COMPILER_GENERATOR_HPP
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp b/TAO/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp
new file mode 100644
index 00000000000..5125e62d580
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp
@@ -0,0 +1,616 @@
+// file : Test/IDL3/Compiler/GeneratorImpl.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TEST_IDL3_COMPILER_GENERATOR_IMPL_HPP
+#define TEST_IDL3_COMPILER_GENERATOR_IMPL_HPP
+
+#include <iostream>
+
+#include "CCF/CodeGenerationKit/IndentationIDL.hpp"
+#include "CCF/CodeGenerationKit/IndentationImplanter.hpp"
+
+#include "CCF/IDL3/SemanticGraph.hpp"
+#include "CCF/IDL3/Traversal.hpp"
+
+#include "../../IDL2/Traversal/Recreate/GeneratorImpl.hpp"
+
+namespace IDL3
+{
+ using namespace CCF::IDL3;
+
+ using std::cout;
+ using std::endl;
+
+ class GeneratorImpl : public IDL2::GeneratorImpl
+ {
+ protected:
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ // Layer 3
+ //
+
+ //--
+ struct ComponentFwd : Traversal::Component
+ {
+ virtual void
+ traverse (Type& i)
+ {
+ cout << "component " << i.name () << ";";
+ }
+ };
+
+ struct Component : Traversal::Component
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "component ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ supports_pre (Type&)
+ {
+ cout << " supports ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+
+ struct Home : Traversal::Home
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "home ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ supports_pre (Type&)
+ {
+ cout << " supports ";
+ }
+
+ virtual void
+ manages_pre (Type&)
+ {
+ cout << " manages ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ struct AbstractEventType : Traversal::AbstractEventType
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "abstract eventtype ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ supports_pre (Type&)
+ {
+ cout << " supports ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ struct ConcreteEventType : Traversal::ConcreteEventType
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "eventtype ";
+ }
+
+ virtual void
+ name (Type& i)
+ {
+ cout << i.name ();
+ }
+
+ virtual void
+ inherits_pre (Type&)
+ {
+ cout << " : ";
+ }
+
+ virtual void
+ supports_pre (Type&)
+ {
+ cout << " supports ";
+ }
+
+ virtual void
+ names_pre (Type&)
+ {
+ cout << "{";
+ }
+
+ virtual void
+ names_post (Type&)
+ {
+ cout << "}";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ // Layer 4
+ //
+
+ struct Provider : Traversal::ProviderData
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "provides ";
+ }
+
+ virtual void
+ name (Type& e)
+ {
+ cout << " " << e.name ();
+ }
+
+ virtual void
+ post (Type& e)
+ {
+ cout << ";";
+ }
+ };
+
+ struct User : Traversal::UserData
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "uses ";
+ }
+
+ virtual void
+ name (Type& e)
+ {
+ cout << " " << e.name ();
+ }
+
+ virtual void
+ post (Type& e)
+ {
+ cout << ";";
+ }
+ };
+
+ struct Publisher : Traversal::PublisherData
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "publishes ";
+ }
+
+ virtual void
+ name (Type& e)
+ {
+ cout << " " << e.name ();
+ }
+
+ virtual void
+ post (Type& e)
+ {
+ cout << ";";
+ }
+ };
+
+ struct Emitter : Traversal::EmitterData
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "emits ";
+ }
+
+ virtual void
+ name (Type& e)
+ {
+ cout << " " << e.name ();
+ }
+
+ virtual void
+ post (Type& e)
+ {
+ cout << ";";
+ }
+ };
+
+ struct Consumer : Traversal::ConsumerData
+ {
+ virtual void
+ pre (Type&)
+ {
+ cout << "consumes ";
+ }
+
+ virtual void
+ name (Type& e)
+ {
+ cout << " " << e.name ();
+ }
+
+ virtual void
+ post (Type& e)
+ {
+ cout << ";";
+ }
+ };
+
+ //--
+
+ struct HomeFactory : Traversal::HomeFactory
+ {
+ virtual void
+ returns (Type&)
+ {
+ cout << "factory ";
+ }
+
+ virtual void
+ name (Type& hf)
+ {
+ cout << hf.name ();
+ }
+
+ virtual void
+ receives_pre (Type&)
+ {
+ cout << " (";
+ }
+
+ virtual void
+ receives_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ raises_pre (Type&)
+ {
+ cout << " raises (";
+ }
+
+ virtual void
+ raises_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+
+ struct HomeFinder : Traversal::HomeFinder
+ {
+ virtual void
+ returns (Type&)
+ {
+ cout << "finder ";
+ }
+
+ virtual void
+ name (Type& hf)
+ {
+ cout << hf.name ();
+ }
+
+ virtual void
+ receives_pre (Type&)
+ {
+ cout << " (";
+ }
+
+ virtual void
+ receives_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ raises_pre (Type&)
+ {
+ cout << " raises (";
+ }
+
+ virtual void
+ raises_post (Type&)
+ {
+ cout << ")";
+ }
+
+ virtual void
+ post (Type&)
+ {
+ cout << ";";
+ }
+
+ virtual void
+ comma (Type&)
+ {
+ cout << ", ";
+ }
+ };
+
+ // Layer 5
+ //
+
+ //--
+
+ public:
+
+ GeneratorImpl ()
+ {
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ // Layer 3
+ //
+
+ //--
+
+ mentions.node_traverser (component_fwd);
+
+ defines.node_traverser (component);
+
+ defines.node_traverser (home);
+
+ defines.node_traverser (abstract_event_type);
+ defines.node_traverser (concrete_event_type);
+
+ // Layer 4
+ //
+
+ component.edge_traverser (inherits);
+ component.edge_traverser (supports);
+ component.edge_traverser (component_defines);
+
+ home.edge_traverser (inherits);
+ home.edge_traverser (supports);
+ home.edge_traverser (manages);
+ home.edge_traverser (home_defines);
+
+ //@@ eventtype can define the whole bunch of stuff
+ // just like valuetype.
+ //
+ abstract_event_type.edge_traverser (inherits);
+ concrete_event_type.edge_traverser (inherits);
+
+ //--
+
+ supports.node_traverser (type_name);
+
+ component_defines.node_traverser (attribute);
+ component_defines.node_traverser (provider);
+ component_defines.node_traverser (user);
+ component_defines.node_traverser (publisher);
+ component_defines.node_traverser (emitter);
+ component_defines.node_traverser (consumer);
+
+ manages.node_traverser (type_name);
+
+ //@@ home can define the whole bunch of stuff just like
+ // interface & valuetype.
+
+ home_defines.node_traverser (home_factory);
+ home_defines.node_traverser (home_finder);
+
+ // Layer 5
+ //
+
+ provider.edge_traverser (belongs);
+ user.edge_traverser (belongs);
+ publisher.edge_traverser (belongs);
+ emitter.edge_traverser (belongs);
+ consumer.edge_traverser (belongs);
+
+ home_factory.edge_traverser (receives);
+ home_finder.edge_traverser (receives);
+
+ //--
+
+ // Layer 6
+ //
+
+ }
+
+ protected:
+ // Layer 1
+ //
+
+ // Layer 2
+ //
+
+ // Layer 3
+ //
+
+ //--
+
+ ComponentFwd component_fwd;
+
+ Component component;
+
+ Home home;
+
+ AbstractEventType abstract_event_type;
+ ConcreteEventType concrete_event_type;
+
+
+ // Layer 4
+ //
+ Traversal::Supports supports;
+ Traversal::Defines component_defines;
+
+ Traversal::Manages manages;
+ Traversal::Defines home_defines;
+
+ //--
+
+ Provider provider;
+ User user;
+ Publisher publisher;
+ Emitter emitter;
+ Consumer consumer;
+
+ HomeFactory home_factory;
+ HomeFinder home_finder;
+
+ // Layer 5
+ //
+
+ // Layer 6
+ //
+
+ public:
+ void
+ generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu)
+ {
+ // Plug automatic IDL indenter.
+ //
+ Indentation::Implanter<Indentation::IDL> guard (cout);
+
+ unit.traverse (tu);
+ }
+ };
+}
+
+#endif // TEST_IDL3_COMPILER_GENERATOR_IMPL_HPP
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/Makefile.alt b/TAO/CIAO/CCF/Test/IDL3/Compiler/Makefile.alt
new file mode 100644
index 00000000000..4dc5c72d511
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/Makefile.alt
@@ -0,0 +1,31 @@
+# file : Test/IDL3/Compiler/driver/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root = ../../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.pre.rules)
+
+cxx_translation_units := driver.cpp Generator.cpp
+
+module_base := driver
+module_prefix :=
+module_suffix :=
+
+CXX_PREPROCESS_FLAGS += -I$(root) $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+
+
+CXX_LINK_LIBS += -L$(root)/CCF/IDL3 \
+ -lIDL3 \
+ -L$(root)/CCF/IDL2 \
+ -lIDL2 \
+ -L$(root)/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_filesystem
+
+$(call include, $(UTILITY_BUILD_RULES)/Executable.post.rules)
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/driver.cpp b/TAO/CIAO/CCF/Test/IDL3/Compiler/driver.cpp
new file mode 100644
index 00000000000..d2f8ff91ba0
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/driver.cpp
@@ -0,0 +1,97 @@
+// file : Test/IDL3/Compiler/driver.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/CompilerElements/Context.hpp"
+#include "CCF/CompilerElements/FileSystem.hpp"
+#include "CCF/CompilerElements/Diagnostic.hpp"
+#include "CCF/CompilerElements/TokenStream.hpp"
+#include "CCF/CompilerElements/Preprocessor.hpp"
+
+#include "CCF/IDL3/LexicalAnalyzer.hpp"
+#include "CCF/IDL3/Parser.hpp"
+#include "CCF/IDL3/SemanticGraph.hpp"
+#include "CCF/IDL3/SemanticAction/Impl/Factory.hpp"
+
+#include "Generator.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::cout;
+using std::endl;
+
+using namespace CCF::CompilerElements;
+using namespace CCF::IDL3;
+using namespace SemanticGraph;
+
+int
+main ()
+{
+ try
+ {
+ Diagnostic::Stream dout;
+
+ fs::path file_path ("stdout");
+
+ InputStreamAdapter isa (std::cin);
+ CPP::Preprocessor pp (isa);
+
+ LexicalAnalyzer lexer (pp);
+
+ TokenList token_stream;
+
+ //@@ bad token comparison
+ for (TokenPtr token = lexer.next ();; token = lexer.next ())
+ {
+ token_stream.push_back (token);
+ if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break;
+ }
+
+ if (token_stream.size () < 2)
+ {
+ cerr << "no tokens produced so nothing to parse" << endl;
+ return 0;
+ }
+
+ TranslationUnit tu;
+
+ // Compilation context.
+ //
+ CCF::CompilerElements::Context context;
+ context.set ("file-path", file_path);
+ context.set ("trace-semantic-action", false);
+
+
+ SemanticAction::Impl::Factory actions (context, dout, tu);
+
+ Parser parser (context, dout, lexer, actions);
+
+ //@@ should be able to use IDL3 here. Or better yet get rid of this
+ // function completely.
+ //
+ CCF::IDL2::Parsing::parse (token_stream.begin (),
+ token_stream.end (),
+ parser.start ());
+
+ if (dout.error_count () != 0) return -1;
+
+ IDL3::Generator g;
+
+ g.generate (tu);
+
+ }
+ catch (std::bad_cast const&)
+ {
+ cerr << "bad cast exception" << endl;
+ }
+ catch (InvalidName const&)
+ {
+ cerr << "invalid name exception" << endl;
+ }
+ catch (...)
+ {
+ cerr << "caught unknown exception" << endl;
+ return -1;
+ }
+}
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig b/TAO/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig
new file mode 100644
index 00000000000..730e7c103cb
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig
@@ -0,0 +1,103 @@
+module ComponentTest
+{
+ component A;
+ component B
+ {
+ };
+ interface I
+ {
+ };
+ interface J
+ {
+ };
+ component A : ::ComponentTest::B supports ::ComponentTest::I, ::ComponentTest::J
+ {
+ };
+};
+module ConsumesTest
+{
+ eventtype E
+ {
+ };
+ component C
+ {
+ consumes ::ConsumesTest::E e;
+ };
+};
+module EmitsTest
+{
+ eventtype E
+ {
+ };
+ component C
+ {
+ emits ::EmitsTest::E e;
+ };
+};
+module EventTypeTest
+{
+ eventtype E
+ {
+ };
+};
+module HomeTest
+{
+ interface I
+ {
+ };
+ interface J
+ {
+ };
+ component A
+ {
+ };
+ home AH manages ::HomeTest::A
+ {
+ };
+ component B
+ {
+ };
+ home BH : ::HomeTest::AH supports ::HomeTest::I, ::HomeTest::J manages ::HomeTest::B
+ {
+ };
+};
+module HomeFactoryTest
+{
+ component A
+ {
+ };
+ home AH manages ::HomeFactoryTest::A
+ {
+ factory new (in long size);
+ };
+};
+module ProvidesTest
+{
+ interface I
+ {
+ };
+ component C
+ {
+ provides ::ProvidesTest::I i;
+ };
+};
+module PublishesTest
+{
+ eventtype E
+ {
+ };
+ component C
+ {
+ publishes ::PublishesTest::E e;
+ };
+};
+module UsesTest
+{
+ interface I
+ {
+ };
+ component C
+ {
+ uses ::UsesTest::I i;
+ };
+};
diff --git a/TAO/CIAO/CCF/Test/IDL3/Compiler/test.idl b/TAO/CIAO/CCF/Test/IDL3/Compiler/test.idl
new file mode 100644
index 00000000000..e85e86a610d
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Compiler/test.idl
@@ -0,0 +1,166 @@
+// file : CCF/Test/IDL3/Compiler/test.idl
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+// Component
+//
+//
+
+module ComponentTest
+{
+ component A;
+
+ component B
+ {
+ };
+
+ interface I
+ {
+ };
+
+ interface J
+ {
+ };
+
+ component A : B supports I, J
+ {
+ };
+};
+
+
+// Consumes
+//
+//
+module ConsumesTest
+{
+ eventtype E
+ {
+ };
+
+ component C
+ {
+ consumes E e;
+ };
+};
+
+
+// Emits
+//
+//
+module EmitsTest
+{
+ eventtype E
+ {
+ };
+
+ component C
+ {
+ emits E e;
+ };
+};
+
+
+// EventType (incomplete)
+//
+//
+module EventTypeTest
+{
+ eventtype E
+ {
+ };
+};
+
+
+// Home
+//
+//
+module HomeTest
+{
+ interface I
+ {
+ };
+
+ interface J
+ {
+ };
+
+ component A
+ {
+ };
+
+ home AH manages A
+ {
+ };
+
+ component B
+ {
+ };
+
+ home BH : AH supports I, J manages B
+ {
+ };
+};
+
+
+// HomeFactory
+//
+//
+module HomeFactoryTest
+{
+ component A
+ {
+ };
+
+ home AH manages A
+ {
+ factory new (in long size);
+ };
+};
+
+
+// Provides
+//
+//
+module ProvidesTest
+{
+ interface I
+ {
+ };
+
+ component C
+ {
+ provides I i;
+ };
+};
+
+
+// Publishes
+//
+//
+module PublishesTest
+{
+ eventtype E
+ {
+ };
+
+ component C
+ {
+ publishes E e;
+ };
+};
+
+
+// Uses
+//
+//
+module UsesTest
+{
+ interface I
+ {
+ };
+
+ component C
+ {
+ uses I i;
+ };
+};
diff --git a/TAO/CIAO/CCF/Test/IDL3/Makefile.alt b/TAO/CIAO/CCF/Test/IDL3/Makefile.alt
new file mode 100644
index 00000000000..7e9518a302d
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/IDL3/Makefile.alt
@@ -0,0 +1,19 @@
+# file : Test/IDL3/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ../..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := Compiler
+default_makefile_name := Makefile.alt
+
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
+
diff --git a/TAO/CIAO/CCF/Test/Makefile.alt b/TAO/CIAO/CCF/Test/Makefile.alt
new file mode 100644
index 00000000000..607d1b640bd
--- /dev/null
+++ b/TAO/CIAO/CCF/Test/Makefile.alt
@@ -0,0 +1,17 @@
+# file : Test/Makefile.alt
+# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+# cvs-id : $Id$
+
+root := ..
+
+include $(root)/Bootstrap.rules
+
+$(call include, $(root)/Config.rules)
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.pre.rules)
+
+target_makefile_list :=
+target_directory_list := CompilerElements IDL2 IDL3 CIDL
+default_makefile_name := Makefile.alt
+
+$(call include, $(UTILITY_BUILD_RULES)/Recursion.post.rules)
diff --git a/TAO/CIAO/CIDLC/Makefile b/TAO/CIAO/CIDLC/Makefile
new file mode 100644
index 00000000000..6df3be78def
--- /dev/null
+++ b/TAO/CIAO/CIDLC/Makefile
@@ -0,0 +1,858 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+include ../CCF/Config.rules
+
+BIN = cidlc
+
+FILES = ExecutorMappingGenerator \
+ DescriptorGenerator \
+ SizeTypeCalculator \
+ ServantGenerator \
+ ServantHeaderGenerator \
+ ServantSourceGenerator \
+ TypeNameEmitter \
+ cidlc
+
+SRC = $(addsuffix .cpp,$(FILES))
+
+BUILD = $(VBIN)
+
+INSTALL = $(VBIN:%=$(INSBIN)/%$(EXEEXT))
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+CPPFLAGS += -I.. -I../CCF
+
+ifneq ($(MAKECMDGOALS),depend)
+CPPFLAGS += $(UTILITY_CPP_FLAGS) $(BOOST_CPP_FLAGS)
+endif
+
+LIBS += -L../CCF/CCF/CIDL \
+ -lCIDL \
+ -L../CCF/CCF/IDL3 \
+ -lIDL3 \
+ -L../CCF/CCF/IDL2 \
+ -lIDL2 \
+ -L../CCF/CCF/CodeGenerationKit \
+ -lCodeGenerationKit \
+ -L../CCF/CCF/CompilerElements \
+ -lCompilerElements \
+ $(BOOST_LD_FLAGS) \
+ -lboost_regex \
+ -lboost_filesystem
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ExecutorMappingGenerator.o .obj/ExecutorMappingGenerator.so .shobj/ExecutorMappingGenerator.o .shobj/ExecutorMappingGenerator.so: ExecutorMappingGenerator.cpp \
+ ExecutorMappingGenerator.hpp ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp \
+ ../CCF/CCF/CodeGenerationKit/Regex.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationIDL.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationBuffer.hpp \
+ ../CCF/CCF/CompilerElements/ExH.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationImplanter.hpp
+
+.obj/DescriptorGenerator.o .obj/DescriptorGenerator.so .shobj/DescriptorGenerator.o .shobj/DescriptorGenerator.so: DescriptorGenerator.cpp DescriptorGenerator.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp Literals.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp \
+ ../CCF/CCF/CodeGenerationKit/Regex.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationXML.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationBuffer.hpp \
+ ../CCF/CCF/CompilerElements/ExH.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationImplanter.hpp
+
+.obj/SizeTypeCalculator.o .obj/SizeTypeCalculator.so .shobj/SizeTypeCalculator.o .shobj/SizeTypeCalculator.so: SizeTypeCalculator.cpp SizeTypeCalculator.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp Literals.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp
+
+.obj/ServantGenerator.o .obj/ServantGenerator.so .shobj/ServantGenerator.o .shobj/ServantGenerator.so: ServantGenerator.cpp ServantGenerator.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp ServantHeaderGenerator.hpp \
+ ServantSourceGenerator.hpp ../CCF/CCF/CodeGenerationKit/Regex.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationCxx.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationBuffer.hpp \
+ ../CCF/CCF/CompilerElements/ExH.hpp \
+ ../CCF/CCF/CodeGenerationKit/IndentationImplanter.hpp
+
+.obj/ServantHeaderGenerator.o .obj/ServantHeaderGenerator.so .shobj/ServantHeaderGenerator.o .shobj/ServantHeaderGenerator.so: ServantHeaderGenerator.cpp \
+ ServantHeaderGenerator.hpp ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp TypeNameEmitter.hpp Literals.hpp \
+ ../CCF/CCF/CodeGenerationKit/Regex.hpp
+
+.obj/ServantSourceGenerator.o .obj/ServantSourceGenerator.so .shobj/ServantSourceGenerator.o .shobj/ServantSourceGenerator.so: ServantSourceGenerator.cpp \
+ ServantSourceGenerator.hpp ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp Literals.hpp TypeNameEmitter.hpp \
+ ../CCF/CCF/CodeGenerationKit/Regex.hpp
+
+.obj/TypeNameEmitter.o .obj/TypeNameEmitter.so .shobj/TypeNameEmitter.o .shobj/TypeNameEmitter.so: TypeNameEmitter.cpp TypeNameEmitter.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp Literals.hpp
+
+.obj/cidlc.o .obj/cidlc.so .shobj/cidlc.o .shobj/cidlc.so: cidlc.cpp ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/CompilerElements/Diagnostic.hpp \
+ ../CCF/CCF/CompilerElements/ExH.hpp \
+ ../CCF/CCF/CompilerElements/TokenStream.hpp \
+ ../CCF/CCF/CompilerElements/Preprocessor.hpp \
+ ../CCF/CCF/CompilerElements/PreprocessorToken.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineParser.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp \
+ ../CCF/CCF/CIDL/LexicalAnalyzer.hpp ../CCF/CCF/IDL3/LexicalAnalyzer.hpp \
+ ../CCF/CCF/IDL2/LexicalAnalyzer.hpp ../CCF/CCF/IDL2/Token.hpp \
+ ../CCF/CCF/CompilerElements/ReferenceCounting.hpp \
+ ../CCF/CCF/CIDL/Parser.hpp ../CCF/CCF/IDL3/Parser.hpp \
+ ../CCF/CCF/IDL2/Parser.hpp ../CCF/CCF/IDL2/SemanticAction.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Factory.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Include.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/ValueType.hpp \
+ ../CCF/CCF/IDL2/Parsing/Elements.hpp ../CCF/CCF/IDL2/Parsing/Action.hpp \
+ ../CCF/CCF/IDL2/Parsing/Recovery.hpp ../CCF/CCF/IDL3/SemanticAction.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Elements.hpp ../CCF/CCF/IDL3/Token.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Consumes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Emits.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Home.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/HomeFactory.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/HomeFinder.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Provides.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Publishes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Uses.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Factory.hpp \
+ ../CCF/CCF/CIDL/SemanticAction.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Elements.hpp ../CCF/CCF/CIDL/Token.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/HomeExecutor.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Factory.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/Factory.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Factory.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Include.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Typedef.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Provides.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Uses.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Publishes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Emits.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Consumes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Home.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/HomeFactory.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Include.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/HomeExecutor.hpp \
+ ExecutorMappingGenerator.hpp ServantGenerator.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp DescriptorGenerator.hpp \
+ SizeTypeCalculator.hpp ../ciao/Version.h
+
+.obj/cidlc.o .obj/cidlc.so .shobj/cidlc.o .shobj/cidlc.so: cidlc.cpp ../CCF/CCF/CompilerElements/Context.hpp \
+ ../CCF/CCF/CompilerElements/FileSystem.hpp \
+ ../CCF/CCF/CompilerElements/Diagnostic.hpp \
+ ../CCF/CCF/CompilerElements/ExH.hpp \
+ ../CCF/CCF/CompilerElements/TokenStream.hpp \
+ ../CCF/CCF/CompilerElements/Preprocessor.hpp \
+ ../CCF/CCF/CompilerElements/PreprocessorToken.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLine.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineParser.hpp \
+ ../CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp \
+ ../CCF/CCF/CIDL/LexicalAnalyzer.hpp ../CCF/CCF/IDL3/LexicalAnalyzer.hpp \
+ ../CCF/CCF/IDL2/LexicalAnalyzer.hpp ../CCF/CCF/IDL2/Token.hpp \
+ ../CCF/CCF/CompilerElements/ReferenceCounting.hpp \
+ ../CCF/CCF/CIDL/Parser.hpp ../CCF/CCF/IDL3/Parser.hpp \
+ ../CCF/CCF/IDL2/Parser.hpp ../CCF/CCF/IDL2/SemanticAction.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Factory.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Include.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Typedef.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/ValueType.hpp \
+ ../CCF/CCF/IDL2/Parsing/Elements.hpp ../CCF/CCF/IDL2/Parsing/Action.hpp \
+ ../CCF/CCF/IDL2/Parsing/Recovery.hpp ../CCF/CCF/IDL3/SemanticAction.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Elements.hpp ../CCF/CCF/IDL3/Token.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Consumes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Emits.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Home.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/HomeFactory.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/HomeFinder.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Provides.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Publishes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Uses.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Factory.hpp \
+ ../CCF/CCF/CIDL/SemanticAction.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Elements.hpp ../CCF/CCF/CIDL/Token.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/HomeExecutor.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Factory.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph.hpp ../CCF/CCF/IDL3/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Graph.tpp \
+ ../CCF/CCF/CompilerElements/Introspection.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Name.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Fundamental.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Literals.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Sequence.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Translation.ipp \
+ ../CCF/CCF/IDL2/SemanticGraph/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticGraph/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticGraph/Home.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticGraph/Executor.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/Factory.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Factory.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Elements.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Elements.tpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Attribute.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Enum.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Exception.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Include.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Interface.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Member.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Module.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Native.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Operation.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Struct.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Typedef.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/TypeId.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/Union.hpp \
+ ../CCF/CCF/IDL2/SemanticAction/Impl/ValueType.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Component.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Elements.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Provides.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Uses.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Publishes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Emits.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Consumes.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/EventType.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Home.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/HomeFactory.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp \
+ ../CCF/CCF/IDL3/SemanticAction/Impl/Include.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/Composition.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/Elements.hpp \
+ ../CCF/CCF/CIDL/SemanticAction/Impl/HomeExecutor.hpp \
+ ExecutorMappingGenerator.hpp ServantGenerator.hpp \
+ ../CCF/CCF/CIDL/Traversal.hpp ../CCF/CCF/IDL3/Traversal.hpp \
+ ../CCF/CCF/IDL2/Traversal.hpp ../CCF/CCF/IDL2/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL2/Traversal/Elements.tpp \
+ ../CCF/CCF/IDL2/Traversal/Attribute.hpp \
+ ../CCF/CCF/IDL2/Traversal/Enum.hpp \
+ ../CCF/CCF/IDL2/Traversal/Exception.hpp \
+ ../CCF/CCF/IDL2/Traversal/Fundamental.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.hpp \
+ ../CCF/CCF/IDL2/Traversal/Interface.tpp \
+ ../CCF/CCF/IDL2/Traversal/Member.hpp \
+ ../CCF/CCF/IDL2/Traversal/Module.hpp \
+ ../CCF/CCF/IDL2/Traversal/Native.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.hpp \
+ ../CCF/CCF/IDL2/Traversal/Operation.tpp \
+ ../CCF/CCF/IDL2/Traversal/Struct.hpp \
+ ../CCF/CCF/IDL2/Traversal/Sequence.hpp \
+ ../CCF/CCF/IDL2/Traversal/Translation.hpp \
+ ../CCF/CCF/IDL2/Traversal/TypeId.hpp \
+ ../CCF/CCF/IDL2/Traversal/Union.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.hpp \
+ ../CCF/CCF/IDL2/Traversal/ValueType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Elements.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.hpp \
+ ../CCF/CCF/IDL3/Traversal/Component.tpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.hpp \
+ ../CCF/CCF/IDL3/Traversal/EventType.tpp \
+ ../CCF/CCF/IDL3/Traversal/Home.hpp \
+ ../CCF/CCF/CIDL/Traversal/Elements.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.hpp \
+ ../CCF/CCF/CIDL/Traversal/Composition.tpp \
+ ../CCF/CCF/CIDL/Traversal/Executor.hpp DescriptorGenerator.hpp \
+ SizeTypeCalculator.hpp ../ciao/Version.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/CIDLC/README.html b/TAO/CIAO/CIDLC/README.html
new file mode 100644
index 00000000000..304ba197ddc
--- /dev/null
+++ b/TAO/CIAO/CIDLC/README.html
@@ -0,0 +1,48 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
+ <title>TAO Release Information and TODO List</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!-- $Id$ -->
+<center>
+<hr></center>
+
+<center>
+<h3>
+Release Information for the Component Implentation Definition Language
+Compiler(CIDLC)</h3></center>
+This document contains information on the following topics related to the
+<a href="../VERSION">current release</a> of <a
+href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a>:
+<table BORDER=0 CELLSPACING=0 CELLPADDING=10 >
+<tr>
+
+The C++ source files in this directory are compiled into the
+code generators and driver for the CIAO CIDL compiler. CORBA
+Compiler Framework (CCF) provides the front-end for the compiler. <p>
+
+Pre-built binary executables of CIDL compiler are available at <p>
+
+<code> http://www.dre.vanderbilt.edu/~boris/cidlc </code>
+
+<p>
+
+To build CIDL compiler you will need to compile CCF libraries
+first. Instructions for doing this can be found at <p>
+
+<code> $(CIAO_ROOT)/CCF/Documentation/Build.html </code> <p>
+
+After you have CCF libraries compiled you can build CIDL compiler
+with makefiles on UNIX <p>
+
+<code> $ make -f Makefile.alt</code> <p>
+
+or by using VC 7.1 project on Windows. <p>
+
+</tr>
+</body>
+</html>
+
diff --git a/TAO/CIAO/ciao/Makefile b/TAO/CIAO/ciao/Makefile
new file mode 100644
index 00000000000..49cddd1dd2f
--- /dev/null
+++ b/TAO/CIAO/ciao/Makefile
@@ -0,0 +1,79 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.CIAO_Client all.CIAO_Container all.CIAO_Server
+
+debug: debug.CIAO_Client debug.CIAO_Container debug.CIAO_Server
+
+profile: profile.CIAO_Client profile.CIAO_Container profile.CIAO_Server
+
+optimize: optimize.CIAO_Client optimize.CIAO_Container optimize.CIAO_Server
+
+install: install.CIAO_Client install.CIAO_Container install.CIAO_Server
+
+deinstall: deinstall.CIAO_Client deinstall.CIAO_Container deinstall.CIAO_Server
+
+clean: clean.CIAO_Client clean.CIAO_Container clean.CIAO_Server
+
+realclean: realclean.CIAO_Client realclean.CIAO_Container realclean.CIAO_Server
+
+clobber: clobber.CIAO_Client clobber.CIAO_Container clobber.CIAO_Server
+
+depend: depend.CIAO_Client depend.CIAO_Container depend.CIAO_Server
+
+rcs_info: rcs_info.CIAO_Client rcs_info.CIAO_Container rcs_info.CIAO_Server
+
+idl_stubs: idl_stubs.CIAO_Client idl_stubs.CIAO_Container idl_stubs.CIAO_Server
+
+CIAO_Client: all.CIAO_Client
+
+%.CIAO_Client:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.CIAO_Client -C . $(*);
+else
+ @$(MAKE) -f Makefile.CIAO_Client -C . $(*);
+endif
+
+CIAO_Container: all.CIAO_Container
+
+%.CIAO_Container: %.CIAO_Client
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.CIAO_Container -C . $(*);
+else
+ @$(MAKE) -f Makefile.CIAO_Container -C . $(*);
+endif
+
+CIAO_Server: all.CIAO_Server
+
+%.CIAO_Server: %.CIAO_Container
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.CIAO_Server -C . $(*);
+else
+ @$(MAKE) -f Makefile.CIAO_Server -C . $(*);
+endif
+
+
+reverseclean: realclean.CIAO_Server realclean.CIAO_Container realclean.CIAO_Client
+
+project_name_list:
+ @echo CIAO_Client
+ @echo CIAO_Container
+ @echo CIAO_Server
diff --git a/TAO/CIAO/ciao/Makefile.CIAO_Client b/TAO/CIAO/ciao/Makefile.CIAO_Client
new file mode 100644
index 00000000000..3ff1b6e9c7a
--- /dev/null
+++ b/TAO/CIAO/ciao/Makefile.CIAO_Client
@@ -0,0 +1,1591 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.CIAO_Client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.CIAO_Client
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libCIAO_Client.a
+LIB = $(LIB_UNCHECKED)
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libCIAO_Client.$(SOEXT)
+SHLIB = $(SHLIB_UNCHECKED)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = CCM_Base CCM_Event CCM_Component CIAO_Value
+
+FILES = \
+ CCM_BaseC \
+ CCM_EventC \
+ CCM_ComponentC \
+ CIAO_ValueC \
+ Client_init
+
+RESOURCES += \
+ ciao.rc
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lTAO_IFR_Client -lTAO_Valuetype -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/CIAO_Client
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DCIAO_CLIENT_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I $(TAO_ROOT) -Wb,stub_export_include=CIAO_Client_Export.h -Wb,stub_export_macro=CIAO_CLIENT_Export -Wb,skel_export_include=CIAO_Container_Export.h -Wb,skel_export_macro=CIAO_CONTAINER_Export -Gv -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/CCM_BaseC.o .obj/CCM_BaseC.so .shobj/CCM_BaseC.o .shobj/CCM_BaseC.so: CCM_BaseC.cpp CCM_BaseC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CCM_EventC.o .obj/CCM_EventC.so .shobj/CCM_EventC.o .shobj/CCM_EventC.so: CCM_EventC.cpp CCM_EventC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CCM_ComponentC.o .obj/CCM_ComponentC.so .shobj/CCM_ComponentC.o .shobj/CCM_ComponentC.so: CCM_ComponentC.cpp CCM_ComponentC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CIAO_ValueC.o .obj/CIAO_ValueC.so .shobj/CIAO_ValueC.o .shobj/CIAO_ValueC.so: CIAO_ValueC.cpp CIAO_ValueC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ CCM_BaseC.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i CIAO_ValueC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/Client_init.o .obj/Client_init.so .shobj/Client_init.o .shobj/Client_init.so: Client_init.cpp Client_init.h \
+ $(ACE_ROOT)/ace/pre.h CIAO_Client_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h CIAO_common.h \
+ CCM_ComponentC.h $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i CIAO_ValueC.h CIAO_ValueC.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/ciao/Makefile.CIAO_Container b/TAO/CIAO/ciao/Makefile.CIAO_Container
new file mode 100644
index 00000000000..dd68ea1b4ef
--- /dev/null
+++ b/TAO/CIAO/ciao/Makefile.CIAO_Container
@@ -0,0 +1,3284 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.CIAO_Container
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.CIAO_Container
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libCIAO_Container.a
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libCIAO_Container.$(SOEXT)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = CCM_Transaction CosPersistentState CCM_Container CCM_Container_Ex
+
+FILES = \
+ CCM_TransactionC \
+ CosPersistentStateC \
+ CCM_ContainerC \
+ CCM_Container_ExC \
+ CCM_BaseS \
+ CCM_EventS \
+ CCM_ComponentS \
+ Cookies
+
+RESOURCES += \
+ ciao.rc
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lCIAO_Client -lTAO_IFR_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/CIAO_Container
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+ LIB = $(LIB_UNCHECKED)
+ SHLIB = $(SHLIB_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DCIAO_CONTAINER_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(TAO_ROOT)/orbsvcs/orbsvcs -Wb,export_include=CIAO_Container_Export.h -Wb,export_macro=CIAO_CONTAINER_Export -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/CCM_TransactionC.o .obj/CCM_TransactionC.so .shobj/CCM_TransactionC.o .shobj/CCM_TransactionC.so: CCM_TransactionC.cpp CCM_TransactionC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ CIAO_Container_Export.h CCM_TransactionC.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.cpp
+
+.obj/CosPersistentStateC.o .obj/CosPersistentStateC.so .shobj/CosPersistentStateC.o .shobj/CosPersistentStateC.so: CosPersistentStateC.cpp CosPersistentStateC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ CIAO_Container_Export.h CosPersistentStateC.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp
+
+.obj/CCM_ContainerC.o .obj/CCM_ContainerC.so .shobj/CCM_ContainerC.o .shobj/CCM_ContainerC.so: CCM_ContainerC.cpp CCM_ContainerC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ CIAO_Container_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i CCM_ComponentC.h \
+ CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Security/security_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.h \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.i \
+ CCM_TransactionC.h CCM_TransactionC.i CCM_ContainerC.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CCM_Container_ExC.o .obj/CCM_Container_ExC.so .shobj/CCM_Container_ExC.o .shobj/CCM_Container_ExC.so: CCM_Container_ExC.cpp CCM_Container_ExC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ CIAO_Container_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_ContainerC.h CCM_ComponentC.h CIAO_Client_Export.h CCM_EventC.h \
+ CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Security/security_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.h \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.i \
+ CCM_TransactionC.h CCM_TransactionC.i CCM_ContainerC.i \
+ CosPersistentStateC.h CosPersistentStateC.i CCM_Container_ExC.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CCM_BaseS.o .obj/CCM_BaseS.so .shobj/CCM_BaseS.o .shobj/CCM_BaseS.so: CCM_BaseS.cpp CCM_BaseS.h \
+ $(ACE_ROOT)/ace/pre.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/CCM_EventS.o .obj/CCM_EventS.so .shobj/CCM_EventS.o .shobj/CCM_EventS.so: CCM_EventS.cpp CCM_EventS.h \
+ $(ACE_ROOT)/ace/pre.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/CCM_ComponentS.o .obj/CCM_ComponentS.so .shobj/CCM_ComponentS.o .shobj/CCM_ComponentS.so: CCM_ComponentS.cpp CCM_ComponentS.h \
+ $(ACE_ROOT)/ace/pre.h CCM_EventS.h CCM_BaseS.h \
+ CCM_BaseC.h $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Cookies.o .obj/Cookies.so .shobj/Cookies.o .shobj/Cookies.so: Cookies.cpp Cookies.h \
+ $(ACE_ROOT)/ace/pre.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i CIAO_Container_Export.h CIAO_ValueC.h CIAO_ValueC.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ Cookies.inl
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/ciao/Makefile.CIAO_Server b/TAO/CIAO/ciao/Makefile.CIAO_Server
new file mode 100644
index 00000000000..8770fa79c4a
--- /dev/null
+++ b/TAO/CIAO/ciao/Makefile.CIAO_Server
@@ -0,0 +1,3572 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.CIAO_Server
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.CIAO_Server
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libCIAO_Server.a
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libCIAO_Server.$(SOEXT)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = CCM_Deployment CIAO_Servers
+
+FILES = \
+ CCM_DeploymentC \
+ CCM_DeploymentS \
+ CIAO_ServersC \
+ CIAO_ServersS \
+ ComponentInstallation_Impl \
+ ComponentServer_Impl \
+ Container_Base \
+ Container_Impl \
+ Server_init \
+ ServerActivator_Impl
+
+RESOURCES += \
+ ciao.rc
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lCIAO_Client -lTAO_Security -lTAO_IFR_Client -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/CIAO_Server
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+ LIB = $(LIB_UNCHECKED)
+ SHLIB = $(SHLIB_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DCIAO_SERVER_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(TAO_ROOT)/orbsvcs/orbsvcs -Wb,export_include=CIAO_Server_Export.h -Wb,export_macro=CIAO_SERVER_Export -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/CCM_DeploymentC.o .obj/CCM_DeploymentC.so .shobj/CCM_DeploymentC.o .shobj/CCM_DeploymentC.so: CCM_DeploymentC.cpp CCM_DeploymentC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i CCM_ComponentC.h \
+ CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i CCM_DeploymentC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Basic_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CCM_DeploymentS.o .obj/CCM_DeploymentS.so .shobj/CCM_DeploymentS.o .shobj/CCM_DeploymentS.so: CCM_DeploymentS.cpp CCM_DeploymentS.h \
+ $(ACE_ROOT)/ace/pre.h CCM_ComponentS.h \
+ CCM_EventS.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i CCM_DeploymentC.h \
+ CIAO_Server_Export.h CCM_DeploymentC.i CCM_DeploymentS_T.h \
+ CCM_DeploymentS_T.i CCM_DeploymentS_T.cpp CCM_DeploymentS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/CIAO_ServersC.o .obj/CIAO_ServersC.so .shobj/CIAO_ServersC.o .shobj/CIAO_ServersC.so: CIAO_ServersC.cpp CIAO_ServersC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ CCM_DeploymentC.h CCM_ComponentC.h CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i CCM_DeploymentC.i CIAO_ServersC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/CIAO_ServersS.o .obj/CIAO_ServersS.so .shobj/CIAO_ServersS.o .shobj/CIAO_ServersS.so: CIAO_ServersS.cpp CIAO_ServersS.h \
+ $(ACE_ROOT)/ace/pre.h CCM_DeploymentS.h \
+ CCM_ComponentS.h CCM_EventS.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i CCM_DeploymentC.h \
+ CIAO_Server_Export.h CCM_DeploymentC.i CCM_DeploymentS_T.h \
+ CCM_DeploymentS_T.i CCM_DeploymentS_T.cpp CCM_DeploymentS.i \
+ CIAO_ServersC.h CIAO_ServersC.i CIAO_ServersS_T.h CIAO_ServersS_T.i \
+ CIAO_ServersS_T.cpp CIAO_ServersS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/ComponentInstallation_Impl.o .obj/ComponentInstallation_Impl.so .shobj/ComponentInstallation_Impl.o .shobj/ComponentInstallation_Impl.so: ComponentInstallation_Impl.cpp \
+ ComponentInstallation_Impl.h \
+ $(ACE_ROOT)/ace/pre.h CCM_DeploymentS.h \
+ CCM_ComponentS.h CCM_EventS.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i CCM_DeploymentC.h \
+ CIAO_Server_Export.h CCM_DeploymentC.i CCM_DeploymentS_T.h \
+ CCM_DeploymentS_T.i CCM_DeploymentS_T.cpp CCM_DeploymentS.i \
+ $(ACE_ROOT)/ace/Configuration.h \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ ComponentInstallation_Impl.inl \
+ $(ACE_ROOT)/ace/Configuration_Import_Export.h
+
+.obj/ComponentServer_Impl.o .obj/ComponentServer_Impl.so .shobj/ComponentServer_Impl.o .shobj/ComponentServer_Impl.so: ComponentServer_Impl.cpp ComponentServer_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h CCM_DeploymentS.h \
+ CCM_ComponentS.h CCM_EventS.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i CCM_DeploymentC.h \
+ CIAO_Server_Export.h CCM_DeploymentC.i CCM_DeploymentS_T.h \
+ CCM_DeploymentS_T.i CCM_DeploymentS_T.cpp CCM_DeploymentS.i \
+ Object_Set_T.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ Object_Set_T.inl Object_Set_T.cpp ComponentServer_Impl.inl \
+ Container_Impl.h Container_Base.h CCM_ContainerC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Security/security_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.h \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.i \
+ CCM_TransactionC.h CCM_TransactionC.i CCM_ContainerC.i \
+ Container_Base.inl Container_Impl.inl
+
+.obj/Container_Base.o .obj/Container_Base.so .shobj/Container_Base.o .shobj/Container_Base.so: Container_Base.cpp Container_Base.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CCM_ContainerC.h CIAO_Container_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i CCM_ComponentC.h \
+ CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Security/security_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.h \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.i \
+ CCM_TransactionC.h CCM_TransactionC.i CCM_ContainerC.i \
+ CCM_DeploymentC.h CIAO_Server_Export.h CCM_DeploymentC.i \
+ Container_Base.inl
+
+.obj/Container_Impl.o .obj/Container_Impl.so .shobj/Container_Impl.o .shobj/Container_Impl.so: Container_Impl.cpp Container_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h CCM_DeploymentS.h \
+ CCM_ComponentS.h CCM_EventS.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i CCM_DeploymentC.h \
+ CIAO_Server_Export.h CCM_DeploymentC.i CCM_DeploymentS_T.h \
+ CCM_DeploymentS_T.i CCM_DeploymentS_T.cpp CCM_DeploymentS.i \
+ Container_Base.h CCM_ContainerC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Security/security_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.h \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel1C.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/SecurityLevel2C.i \
+ CCM_TransactionC.h CCM_TransactionC.i CCM_ContainerC.i \
+ Container_Base.inl Object_Set_T.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ Object_Set_T.inl Object_Set_T.cpp Container_Impl.inl
+
+.obj/Server_init.o .obj/Server_init.so .shobj/Server_init.o .shobj/Server_init.so: Server_init.cpp Server_init.h \
+ $(ACE_ROOT)/ace/pre.h CIAO_Server_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h CIAO_common.h \
+ CCM_ComponentC.h $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_EventC.h CCM_BaseC.h CCM_BaseC.i CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.i Cookies.h CIAO_Container_Export.h CIAO_ValueC.h \
+ CIAO_ValueC.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ Cookies.inl
+
+.obj/ServerActivator_Impl.o .obj/ServerActivator_Impl.so .shobj/ServerActivator_Impl.o .shobj/ServerActivator_Impl.so: ServerActivator_Impl.cpp ServerActivator_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h CCM_DeploymentS.h \
+ CCM_ComponentS.h CCM_EventS.h CCM_BaseS.h CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ CIAO_Container_Export.h CCM_BaseS_T.h CCM_BaseS_T.i CCM_BaseS_T.cpp \
+ CCM_BaseS.i CCM_EventC.h CCM_EventC.i CCM_EventS_T.h CCM_EventS_T.i \
+ CCM_EventS_T.cpp CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ CCM_ComponentC.h CCM_ComponentC.i CCM_ComponentS_T.h CCM_ComponentS_T.i \
+ CCM_ComponentS_T.cpp CCM_ComponentS.i CCM_DeploymentC.h \
+ CIAO_Server_Export.h CCM_DeploymentC.i CCM_DeploymentS_T.h \
+ CCM_DeploymentS_T.i CCM_DeploymentS_T.cpp CCM_DeploymentS.i \
+ CIAO_ServersS.h CIAO_ServersC.h CIAO_ServersC.i CIAO_ServersS_T.h \
+ CIAO_ServersS_T.i CIAO_ServersS_T.cpp CIAO_ServersS.i Object_Set_T.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ Object_Set_T.inl Object_Set_T.cpp ServerActivator_Impl.inl \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.inl \
+ $(ACE_ROOT)/ace/Read_Buffer.h \
+ $(ACE_ROOT)/ace/Read_Buffer.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/docs/RT-Extension.html b/TAO/CIAO/docs/RT-Extension.html
new file mode 100644
index 00000000000..3414a30b78e
--- /dev/null
+++ b/TAO/CIAO/docs/RT-Extension.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!-- $Id$ -->
+<html> <head>
+<title>Using the Real-time Extension in CIAO</title>
+</head>
+
+<body>
+<h1>Using the Real-time Extension in CIAO</h1>
+
+<!-- ============================================================ -->
+<h3>Abstract</H3>
+
+The real-time extension support in CIAO enables application developers
+to deploy real-time applications by specifying real-time
+configurations as XML descriptors without modifying the component
+implementation. In fact, embedding the real-time configuration
+policies in component implementations decrease the reusability of the
+software components.
+
+Different types of real-time policy can be applied at different
+stage of the component development lifecycle, e.g.,
+<ul>
+ <li>Component implementation
+ <li>Component packaging
+ <li>Application composition
+ <li>Target platform configuration
+ <li>Deployment configuration
+</ul>
+
+Real-time policies can also be applied to various scope in an
+applications, e.g., many real-time policies can be associate with some
+or all of the following ORB mechanisms:
+<ul>
+ <li>ORBs
+ <li>POAs
+ <li>Threads
+ <li>Object references
+</ul>
+
+<!-- ============================================================ -->
+<h3>CIAO's Real-time Extension</h3>
+
+CIAO extends CCM's assembly descriptor to support the specifications
+of real-time policies. This mechanism allows you to allocate
+resources that are global to a RTComponentServer and to define real-time
+policies required by a component installation. Currently, CIAO
+support configuration of certain real-time policies at the POA level,
+i.e., in CCM's terminology, the container level. These policies
+include:
+
+<ol>
+ <li>Priority Model Policy
+ <li>Threadpool Policy
+ <li>Banded Connection Policy
+</ol>
+
+The kind of resources that are global to a RT component server that CIAO
+real-time extension specifies include:
+
+<ol>
+ <li>Threadpool
+ <li>Threadpool with lanes
+ <li>Connection bands
+</ol>
+
+<!-- ============================================================ -->
+<h3>Using the CIAO Real-time Extension</h3>
+
+Application developers can define the aforementioned Real-Time
+extension Descriptor (.rtd file) that CIAO defines to allocate
+resources and specify real-time policies. The Document Type
+Definition (DTD) for the real-time extension description is defined in
+this <a href="XML/ciao_rt_cad_ext.dtd">file</a>. Each .RTD file
+specifies the required resources and the policy definitions within a
+RTComponentServer.
+
+A RTComponentServer can be associated to a .RTD file. This is done by
+using the "extension" element with "class" attributed set to
+"RT-CAD-EXT", within a processcollocation or hostcollocation element.
+Here is an example:
+<code><pre>
+
+ &lt;processcollocation&gt;
+ .
+ .
+ .
+ &lt;extension class="RT-CAD-EXT" origin="CIAO"&gt;somefile.rtd&lt;/extension&gt;
+ .
+ &lt;/processcollocation&gt;
+</pre></code>
+
+Each .RTD file contains the two major subelements:
+<ul>
+ <li>&lt;rtresources&gt;: defines all the RT resources the assciating
+ RTComponentServer should provide.
+ <li>&lt;rtpolicysets&gt;: defines named collections of policies
+ (&lt;rtpolicyset&gt;) that apply to component installations in
+ the RTComponentServer.
+</ul>
+
+The &lt;rtpolicyset&gt;'s defined in the .RTD file can be associated
+to a component installation, i.e., a component placement within the
+RTComponentServer to which the .RTD file is associated. For example,
+
+<code><pre>
+ &lt;homeplacement&gt;
+ .
+ .
+ ,
+ &lt;extension class="RT-POLICY-SET"
+ origin="CIAO"&gt;A_POLICY_NAME&lt;/extension&gt;
+ .
+ &lt;/homeplacement&gt;
+</pre></code>
+
+<h3>Future Addition</h3>
+
+As mentioned earlier, RT policies can be applied at various stages of
+component-based deployment lifecycle and at different scope. For
+example, applying RTpolicies at the ORB level, or at the object
+reference level of a component receptacle. These extensions involve
+at least, extending the "appropriate" XML descriptor definition and
+extending the CIAO runtime, including core and/or the CIDL generated
+code to configure the policies. How other RT-related policies can be
+added will be reviewed in my thesis available shortly.
+
+<hr>
+<address>Nanbor Wang</address>
+<!-- hhmts start -->
+Last modified: Sun Nov 30 19:23:25 Mountain Standard Time 2003
+<!-- hhmts end -->
+</body> </html>
diff --git a/TAO/CIAO/docs/releasenotes/index.html b/TAO/CIAO/docs/releasenotes/index.html
new file mode 100644
index 00000000000..303e8fb74d6
--- /dev/null
+++ b/TAO/CIAO/docs/releasenotes/index.html
@@ -0,0 +1,403 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!-- $Id$ -->
+<html> <head>
+<title>CIAO Release Information and TODOs</title>
+</head>
+
+<body>
+<h1>CIAO Release Information and TODOs</h1>
+
+<ul>
+ <li><a href="#status">Current Status</a>
+ <li><a href="#outlook">Project Outlook</a>
+ <li>Short-term <a href="todo.html">to-do list</a></p>
+</ul>
+
+<hr>
+<h2>Current Status</h2><a name="status">
+
+<ol>
+ <li><h3>Latest News</h3>
+ <ul>
+ <li>Sun Aug 24 2003 - The first phase of RT support extension
+ is complete. The RT extension enables developers to
+ specify RT policy on a per component installation basis
+ (per home, and the component created form the home). The
+ extension includes the following major features:
+ <ul>
+ <li>A real-time ComponentServer: A real-time
+ ComponentServer is capable of hosting real-time
+ Container for components in real-time applications.
+ To use the real-time ComponentServer, simply tell
+ CIAO_Daemon to use the RTComponentServer via the
+ '-n' flag.
+
+ <li>RT extension for assembly descriptors (defined in
+ .cad files) to specify component installations to RT
+ policy sets defined in CIAO's real-time descriptors
+ (defined in CIAO's .rtd files.) DTD definitions for
+ .rtd files can be found in <a
+ href="../XML/ciao_rt_cad_ext.dtd">this file</a>. An
+ example .cad file that uses the RT extension and an
+ example .rtd file that provides RT policy
+ definitions can be found at:
+ <pre><code>
+ $(CIAO_ROOT)/examples/OEP/Display/descriptors/HUDisplay-rtcad.cad
+ $(CIAO_ROOT)/examples/OEP/Display/descriptors/test.rtd
+ </code></pre>
+ </ul>
+
+ More documentation and comprehensive
+ examples/tests/benchmark results for CIAO's RT extension
+ will be added shortly.
+ <p>
+
+ <li>Thu Jul 31 2003 - Arvind and Diego are starting to work on
+ benchmarking and comparing the performance of CIAO and
+ TAO. These performance test programs are available in
+ <a href="../../performance-tests/Benchmark/">the repository
+ </a><p>
+
+ <li>Thu Jul 24 2003 - Bala and George are starting to work on a container
+ mediated event delivering support. This will allow developers
+ to specify the event deliverying strategy and the degree
+ of QoS. The fist task is to integrate TAO's event channel
+ into the container framework.<p>
+
+ <li>Tue Jun 3 2003 - The first Alpha release of CIAO is now
+ available with ACE/TAO beta kit.<p>
+
+ <li>Mon Jun 2 2003 - We now have a CIDL compiler. Check
+ out its <a href="../../CIDLC/README">README</a> file for more
+ information. Examples are also moved to <a
+ href="../../examples/OEP/">here</a> to use the new CIDL
+ compiler to generate servant glue code.<p>
+
+ <li>Thu Apr 16 2003 - The HUDisplay example now also works on
+ Linux platforms and allows you to remotely setup an
+ application. <p>
+
+ <li>Sat Apr 5 2003 - Added the support for connection
+ establishment and finished the multiple-component
+ <a href="../../examples/OEP/Display/"> HUDisplay
+ example</a>. Check out the <a
+ href="../../examples/OEP/Display/descriptors/NOTE.txt">
+ note </a> to see how to play with it. You need to
+ have <a href="http://www.trolltech.com/">Qt</a> library
+ available if you want to play with the GUI based
+ component. If you don't, no worries. You can still play
+ with the non-GUI configurations.<p>
+
+ <li>Thu Apr 3 2003 - Added the XML documents handlers for
+ componentassembly. They build the assembly specification
+ that the assembly mechanisms use to compose an
+ application. As with handlers for parsing softpkg
+ documents, these handlers do not have robust error
+ handling capability as they assume a validator in ACEXML
+ parser handles the validity of documents already (which
+ isn't the case for the time being.)<p>
+
+ <li>Fri Mar 21 2003 - Finished the component implementations
+ for the multi-component example. Next up, assembling
+ mechanism. <p>
+
+ <li>Thu Mar 6 2003 - The HelloWorld now uses the new command
+ Daemon control options to read in the component softpkg
+ descriptor, spawn a ComponentServer, and instantiate the
+ component. See the <code>
+ <a href="../../examples/Hello/run_test.pl">
+ run_test.pl</a></code> for more details on how this can be
+ done. <p>
+
+ <li>Sun Feb 16 2003 - A new implementation for the per-host
+ daemon process is now availabe under <code>
+ $(CIAO_ROOT)/tools/Daemon/</code>. This application
+ includes both <code> ComponentInstallation</code> and
+ <code>ServerActivator</code> interfaces. It also comes
+ with a command line utility program to interact with the
+ daemon process. Please see its <a
+ href="../../tools/Daemon/README">README</a> file for more
+ information.<p>
+
+ Implementation for <code>ComponentInstallation</code>
+ interface uses ACE_Configuration to maintain persistency
+ of component intallation data. <p>
+
+ <li>Fri Feb 14 2003 - We now have most of the assembly and
+ deployment framewok processes available. Next up,
+ implementing the XML
+ handlers that actually parses component assemblies and
+ assembles an application.<p>
+
+ <li>Sun Feb 9 2003 - Started implementing the Deployment and
+ Assembly framework a week ago. So far, the object
+ management mechanisms for AssemblyFactory and Assembly is
+ done, but I still need to fill in the meat where we build an
+ Assembly by parsing the Assembly descriptor. I'm going to
+ move on to finish the implementations for the rest of the
+ Deployment and Assembly interfaces in the next few days.<p>
+
+ <b>It looks like we will have to go straight to our
+ planned 0.2 release as our first publically available
+ CIAO. </b><p>
+
+ <li>Mon Jan 13 2003 - Finished the first round effort to
+ create a meta-code to describe how the CIDL compiler
+ should generated the container specific glue code. These
+ templates are available <a href="../templates/">here</a>.
+ These templates can also be used to help handcrafting the
+ examples I'm working on.<p>
+
+ <li>Mon Jan 6 2003 - Both Jeff and Boris are working on the
+ CIDL compiler implementation.<p>
+
+ <li>Tue Dec 24 2002 - Started working a multi-component
+ handcrafted example in <a
+ href="../../examples/OEP/Display/">examples/OEP/Display/</a><p>
+
+ <li>Sat Dec 21 2002 - Added *nix Makefiles, MPC specifications
+ and created MPC templates for CIAO clients, component
+ implementations, and server tools.<p>
+
+ <li>Wed Dec 18 2002 - A perl script fits beautifully with the
+ HelloWorld example.<p>
+
+ <li>Dec 17 2002 - A NameService based HomeFinder
+ implementation -- CIAO::HomeRegistrar -- is now
+ available. The simple component server in CIAO now use
+ the support the HomeFinder interface so we can install as
+ many components in the component server as possible.<p>
+
+ <li>Dec 15 2002 - Generic component server that can host
+ multiple components with a proprietary config file. More
+ information can be found <a
+ href="../../tools/Simple_Component_Server/README"> here </a>
+ Next up, a trivial HomeFinder interface that can
+ simply forward requests to a Naming Service.<p>
+
+ <li>Dec 11 2002 - The server implementation in the HelloWorld
+ example is now a generic one-component server. It can be
+ modified easily to host any *one* component easily.<p>
+
+ <li>Dec 10 2002 - <a href="com-impl.html">This document</a>
+ captures how to "handcraft" a component and how this all
+ will be automated in the future.<p>
+
+ <li>Nov 22 2002 - Completed the first handcrafted example
+ <a href="../../examples/Hello/README">HelloWorld</a>
+ component implementation. CIAO now also include a
+ minimally functioning session container implementation.<p>
+ </ul>
+
+ <li> <h3>Status of individual modules</h3>
+<table valign="top" border="1" width="90%">
+ <th> Modules </th>
+ <th> Status </th>
+
+ <tr>
+ <td>CCM Core</td>
+ <td>We are currently working on a prototype that enables remote
+ component installation using the CCM
+ <code>ComponentInstallation</code> interface, a component
+ server implementation. Since we
+ still don't have a CIDL implementation, we will also write up
+ an example to show how the code should be generated in both
+ CCIDL compiler and provide example component
+ implementations.
+
+ There exists 3 libraries in CCM Core.
+ <ol>
+ <li><b>CIAO_Client</b>: contains the client side stubs for
+ CCMObject. All client programs that use CCMObject must
+ link to this library.
+ <li><b>CIAO_Container</b>: contains the interface
+ definitions and CIAO's container implementation. All
+ component implementations must link to this library.
+ <li><b>CIAO_Server</b>: contains the stubs to access
+ deployment framework. We'll need to use this to
+ implement the deployment mechanism.
+ </ol>
+ </td>
+ </tr>
+
+ <tr>
+ <td>TAO_IDL</td>
+ <td>TAO_IDL has been extended to handle and generate all the
+ component related keywords but <code>import</code>. We are
+ currently using the generated mapping, in combination to
+ manually simulation of CIDL generated code to implement CCM
+ component.
+ TAO_IDL Check out <a
+ href="http://cvs.doc.wustl.edu/ace-latest.cgi/ACE_wrappers/TAO/docs/releasenotes/index.html#idl"> TAO IDL compiler</a> for more details.
+ </td>
+ </tr>
+
+ <tr>
+ <td>CIDL (Component Implementation Defintion Language) Compiler</td>
+ <td>
+ An implementation that supports a subset of CIDL appropriate for
+ DRE systems has been implemented.
+ We do not have immediate plans to integrate
+ Persistence State Service into the CIAO CIDL compiler. At present
+ we support only a simple construct like the following:
+<pre>
+ module component_composite_name {
+ composition service component_home_executor {
+ implements component_home;
+ manages component_executor;
+ };
+ };
+</pre>
+ The compiler generates operation implementations
+ inherited from following interfaces:
+ <ul>
+ <li><code>Navigation</code>
+ <li><code>Receptacle</code>
+ <li><code>Event</code>
+ <li><code>CCMObject</code>
+ <li>Component specific context
+ <li>Executor
+ </ul>
+
+ </td>
+ </tr>
+</table><p>
+
+<li><b>TAO Modules required by CIAO:</b> We currently don't have a
+ target set up in TAO's make system to build CIAO required module
+ only, so you need to do this yourself. (BTW, we only support the
+ use of dynamic linked libraries, at least for now.) Here is a list
+ of necessary TAO modules in order of dependencies:
+
+ <ol>
+ <li>TAO Main library.
+ <li>PortableServer
+ <li>orbsvcs/orbsvcs/Security
+ <li>IFR_Client
+ </ol><p>
+
+</ol>
+
+<hr>
+<a name="outlook">
+<h2>Project Outlook</h2>
+This to-do list is currently arranged in chronological order,
+<i>i.e.</i>, we group features that are expected to be available in
+certain release together. All interfaces and types are under
+<CODE>Components</code> module namespace if not specified explicitly.
+
+<ul>
+ <li><b>CIAO 0.1 alpha release</b> - (post TAO 1.3, Dec. 2002)
+ <UL>
+ <li>Default implementation of <code>
+ <ul>
+ <li>Navigations
+ <li>Receptacles
+ <li>Events
+ </ul>
+ </code>
+ interfaces and their supporting data types that
+ <code>CCMObject</code> interface requires. These
+ interfaces are defined in <code>
+ <a href="../../ciao/CIAO_Base.idl">CCM_Base.idl</a></code>
+ and <code><a
+ href="../../ciao/CIAO_Event.idl">CCM_Event.idl</a></code>.
+ <li>Default implementation of <code>
+ <ul>
+ <li>CCMObject
+ <li>CCMHome
+ <li>KeylessCCMHome
+ </ul>
+ </code> and their supporting data types as defined in part
+ of the <code><a href="../../ciao/CCM_Component.idl">
+ CIAO_Component.idl </a></code>.
+ <li>Partial support for basic container/callback interfaces: <code>
+ <ul>
+ <li>CCMContext, SessionContext
+ <li>EnterpriseComponent, SessionComponent
+ </ul>
+ </code>
+ <li>Extension to CORBA Core
+ <ul>
+ <li><code>CORBA::LocalObject</code> interface has been
+ added a long time ago.
+ <li><code>get_component()</code> method in
+ <code>CORBA::{Object|LocalObject}</code>
+ interfaces.
+ </ul>
+ <li><code>HomeExecutorBase</code> interface
+ <li>Support (hand crafted) monolithic executor implementation
+ <li>Extension to IDL compiler and Typecode factory. IDL
+ compiler shall recognize all CCM keyword extensions but not
+ necessarily generate code for these added keywords.
+ <li>Adaptive configuration of Notification Service/Event Channels
+ <li>Partial implementation of <code>Deployment</code> module.
+ <!-- support some descriptors -->
+ </UL>
+ AT this stage, we only implement "enough" CCM defined interface
+ capability to allow manual implementation of components and a
+ simple framework that offer some remote installation/composition
+ capability. This will help design how CCIDL generated code
+ should look like.
+
+ <p>
+
+ <LI><b>CIAO 0.2 beta release</b> - (TAO 1.3.X, Apr. 2003)
+ <ul>
+ <li>Support for various RT and QoS Policies
+ <li>Support for policy-based adaptation mechanism
+ <li><code>HomeFinder</code> interface
+ <li><code>HomeRegistration</code> interface
+ <li>Configuration interfaces <code>
+ <ul>
+ <li>Configurator
+ <li>StandardConfigurator
+ <li>HomeConfiguration
+ </ul>
+ </code>
+ <li>Other basic container programming interfaces <code>
+ <ul>
+ <li>EntityContext
+ <li>EntityComponent
+ </ul>
+ </code>
+ <li>Extension to Interface Repository.
+ <li>IDL should generate correct client/server side mapping for
+ component extension
+ <li>CCIDL implementation that generates skeleton implementation for
+ <ul>
+ <li><code>Navigations</code>, <code>Receptacles</code>,
+ and <code>Events</code> interfaces of a components
+ <li>component executor and home_executor templates for
+ monolithic component implementation
+ <li>What else???
+ </ul>
+ <li>Complete <code>Deployment</code> implementation, assuming
+ the revised deployment specification will be available
+ <!-- Support more descriptors -->
+ </ul>
+
+ <p>
+
+ <li><b>CIAO 0.4</b> - (TAO 1.4, Jan 2004)
+ <ul>
+ <li>Usable version of CIAO tested on Linux and Win32.
+ <li>CIDLC supports most of the IDL2 and IDL3 keywords.
+ <li>Simple examples of usage is available in
+ <code>$CIAO_ROOT/examples</code>
+ </ul>
+ <p>
+
+</ul>
+
+ <!--#include virtual="/~nanbor/signature.html" -->
+<!-- <hr> -->
+<!-- <address></address> -->
+<!-- <\!-- hhmts start -\-> -->
+<!-- Last modified: Sun Jun 1 23:20:37 Central Standard Time 2003 -->
+<!-- <\!-- hhmts end -\-> -->
+<!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> -->
+</body> </html>
+
+<!-- LocalWords: TODOs CCM IDL CCIDL CIDL backend idl
+ -->
diff --git a/TAO/CIAO/docs/tutorial/Hello/CIAO_Installation_Data.ini b/TAO/CIAO/docs/tutorial/Hello/CIAO_Installation_Data.ini
new file mode 100644
index 00000000000..30c917fe349
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/CIAO_Installation_Data.ini
@@ -0,0 +1,3 @@
+[ComponentInstallation]
+DCE:05833d92-4783-4b85-ac14-e2575dac26f7=hello_svnt
+DCE:530a6305-8181-47ca-bd82-0b834016db97=hello_exec
diff --git a/TAO/CIAO/docs/tutorial/Hello/README b/TAO/CIAO/docs/tutorial/Hello/README
new file mode 100644
index 00000000000..182f5e5baee
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/README
@@ -0,0 +1,104 @@
+// $Id$
+
+This example showcases a component implementation in its simplest
+form. The utmost purpose of this example is to demonstrate how easy
+it is to implement a component and a system using CCM and to provide
+ourselves an example implementation of how the CCIDL generated code
+should look like.
+
+To implement a component, all you need to do is to define the
+component, as in hello.idl. Then you have to define some aspects of
+the component implementations using the CIDL definition, as we do here
+with hello.cidl. And finally, the component implementor implement the
+component and home executors according to the executor mapping.
+
+
+User Defined Notes
+Files
+--------- ---------------------------------------
+hello.idl Component and Home IDL definitions.
+
+hello.cidl Component and Home implementation definitions.
+
+hello_exec Executor implementations.
+
+
+We also generate 3 libraries and 2 executables in this example. They
+may look perplexing at the first glance, but when we have full CCM
+support, all but one library and one executable will need to be
+generated manually. The rest should be generated thru the tools provided by CIAO.
+Below is the list of libraries and executable in this example:
+
+Files Notes
+--------- ---------------------------------------
+hello_stub A library contains the client stub implementation.
+ Client programs can link to this library instead of including
+ the stub implementation directly in the executable. The real
+ purpose of putting the stub code in a separate library is
+ to avoid code duplication when various interdependent components
+ are installed into one component server (where they will need to
+ interact with other components using the collocation code in the
+ stub library.)
+
+hello_svant This library contains the server side skeletons and CIDL generated
+ (currently handcrafted) servant implementation for the component
+ and home defined in CIDL.
+
+server This is a minimalist's implementaion of a simple "generic server".
+ We should be able to generalize the example into a "component server"
+ in CIAO which will support component deployment and server configuration
+ thru some property files.
+
+client A simple client program that access the component.
+
+hello_exec This library contains the CIDL generated executor definitions and the
+ actual component and home implementations (business logic.) It it not
+ clear to me whether we should package this file together with hello_servants
+ library as most of the stuff included in these libraries are generated
+ by CIDL compiler. We will see in the future.
+
+
+** Here's a more detailed break down of the process.
+
+1. Define the component, as in hello.idl which defines the client-view
+ of the component. This view is equivalent to the interfaces
+ defined in helloC.idl (for component unawared client.)
+
+2. Define how the component should be implemented, as in hello.cidl.
+ CIDL compiler should generate the executor definitions as in
+ helloE.idl.
+
+3. CIDL also generate the component-specific skeleton (container?)
+ implementations as in HelloSkel.xxx. These skeleton
+ implementations determine how the component should be activated,
+ how to manage the servant lifecycle, their OID and such.
+
+4. If a component implementation needs to support more advanced
+ features, such as transactional behavior, the developer needs to
+ "extend" the executor definitions by inheriting from other
+ components callback interfaces, such as SessionSynchronization.
+ We don't have an example here because we want to keep this example
+ as simple as possible.
+
+5. Component executors are implemention by implementing the desired
+ executor definition.
+
+6. Packaging and deploying the component.... This example only shows
+ how to deploy a single component implementation. The servant
+ skeletons can either be packaged with the component implementation
+ in a single DLL, or be packaged in a separate DLL which, in turn,
+ can be deployed with the component implementation together as an
+ assembly, or be put in some sort of repository.
+
+
+How to Run:
+----------
+
+Run with
+
+ run_test.pl to start the test using CIAO_Daemon and ComponentServer
+
+or
+
+ run_simple_test.pl to start the test using Simple_Component_Server
+ Note: I am having trouble with the simple component server. \ No newline at end of file
diff --git a/TAO/CIAO/docs/tutorial/Hello/client.cpp b/TAO/CIAO/docs/tutorial/Hello/client.cpp
new file mode 100644
index 00000000000..df7497cd9b9
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/client.cpp
@@ -0,0 +1,117 @@
+// $Id$
+
+#include "helloC.h"
+#include "ace/Read_Buffer.h"
+#include "ace/streams.h"
+
+int
+invoke (CORBA::Object_ptr obj,
+ const char *msg
+ ACE_ENV_ARG_DECL)
+{
+ // Narrow
+ HelloHome_var hh = HelloHome::_narrow (obj
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1); ;
+
+ if (CORBA::is_nil (hh.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Argument is not a HelloHome reference\n"), -1);
+
+ HelloWorld_var hw = hh->create ();
+
+ if (CORBA::is_nil (hw.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Fail to create a HelloWorld reference\n"), -1);
+
+ CORBA::String_var name = CORBA::string_dup (msg);
+ CORBA::String_var hi = hw->sayhello (name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_DEBUG ((LM_INFO, "%s\n", hi.in ()));
+
+ hh->remove_component (hw.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
+
+ // Resolve HomeFinder interface
+
+#if 0
+ CORBA::Object_var obj = orb->resolve_initial_references ("HomeFinder"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Components::HomeFinder_var home_finder =
+ Components::HomeFinder::_narrow (obj ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (home_finder.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Can't resolve initial HomeFinder reference\n"), -1);
+
+ // Now get the HelloHome
+
+ obj = home_finder->find_home_by_name ("HelloHome"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ invoke (obj.in (),
+ "Frodo Baggins using 'find_home_by_name'"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ obj = home_finder->find_home_by_home_type
+ ("IDL:omg.org/HelloHome:1.0"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ invoke (obj.in (),
+ "Samwise Gamgee using 'find_home_by_home_type'"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ obj = home_finder->find_home_by_component_type
+ ("IDL:omg.org/HelloWorld:1.0"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ invoke (obj.in (),
+ "Meriadoc Brandybuck using 'find_home_by_component_type'"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#else
+ CORBA::Object_var obj
+ = orb->string_to_object ("file://hello.ior" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ invoke (obj.in (),
+ "Meriadoc Brandybuck using 'file://hello.ior'"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+#endif
+
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Who is the culprit \n");
+ cerr << "Uncaught CORBA exception" << endl;
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/CIAO/docs/tutorial/Hello/config b/TAO/CIAO/docs/tutorial/Hello/config
new file mode 100644
index 00000000000..3bfe3d3dbe5
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/config
@@ -0,0 +1 @@
+hello_executors|createHelloHome_Impl|hello_servants|createHelloHome_Servant|IDL:omg.org/HelloHome:1.0|IDL:omg.org/HelloWorld:1.0|HelloHome
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello.cidl b/TAO/CIAO/docs/tutorial/Hello/hello.cidl
new file mode 100644
index 00000000000..fa41764521e
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello.cidl
@@ -0,0 +1,13 @@
+// $Id$ -*- IDL -*-
+
+// Component implementation definition of hello.idl.
+#include "hello.idl"
+
+composition session hello_example
+{
+ home executor HelloHome_Exec
+ {
+ implements HelloHome; // This implies that HelloWorld_Exec
+ manages HelloWorld_Exec; // implements HellowWorld.
+ };
+};
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello.csd b/TAO/CIAO/docs/tutorial/Hello/hello.csd
new file mode 100644
index 00000000000..ac185744423
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello.csd
@@ -0,0 +1,75 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<!-- Hello World's Software Package Descriptor -->
+<!-- This file describes various HelloWorld executor -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-HelloWorld" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>Hello World</title>
+ <author>
+ <company>Washington University in St. Louis</company>
+ <webpage href="http://www.cs.wustl.edu/~doc/"/>
+ </author>
+ <description>A Hello World executor implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:HelloWorld:1.0" homeid="IDL:HelloHome:1.0">
+ <fileinarchive name="hello.idl"/>
+ </idl>
+
+ <!-- We don't need a property file for this example. However, -->
+ <!-- what to do with this element? Cache it in ComponentInstallation? -->
+ <!-- A better question maybe, when do we actually read the file and -->
+ <!-- build the attributes defined in the file? By Assembly perhaps? -->
+ <!-- Notice that this property file applies to the implementation itself. -->
+ <!-- Whatever that means. -->
+<!-- <propertyfile> -->
+<!-- <fileinarchive name="empty.cpf"/> -->
+<!-- </propertyfile> -->
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="hello.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:530a6305-8181-47ca-bd82-0b834016db97">
+ <!-- Perhaps we can list more OS here as ACE knows what to look for? -->
+ <!-- Maybe not... But then selecting the right configuration becomes hard. -->
+ <os name="WinNT" version="4.0"/>
+ <os name="WinXP" version="5.0"/>
+ <processor name="x86"/>
+ <!-- What about configuration? Such as Debug/Release? -->
+ <compile name="MSVC" version="6.0"/>
+ <programminglanguage name="C++"/>
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
+ <fileinarchive name="hello.ssd"/>
+ <implref idref="DCE:05833d92-4783-4b85-ac14-e2575dac26f7"/>
+ </softpkgref>
+ </dependency>
+
+ <!-- What happens when one define descriptors for both softpkg and -->
+ <!-- implementations? -->
+
+ <code type="DLL">
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="hello_exec"/>
+ <entrypoint>createHelloHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+ <!-- Let's add more implementation description later when we try to -->
+ <!-- compile this stuff on, say, Solaris and Linux. -->
+
+</softpkg>
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello.idl b/TAO/CIAO/docs/tutorial/Hello/hello.idl
new file mode 100644
index 00000000000..fe1a29a0370
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello.idl
@@ -0,0 +1,19 @@
+// $Id$
+
+// A plain vanilla component definition.
+
+#include <Components.idl>
+
+interface Hello
+{
+ string sayhello (in string username);
+};
+
+component HelloWorld supports Hello
+{
+};
+
+
+home HelloHome manages HelloWorld
+{
+};
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello.mpc b/TAO/CIAO/docs/tutorial/Hello/hello.mpc
new file mode 100644
index 00000000000..9146af9101f
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello.mpc
@@ -0,0 +1,80 @@
+// $Id$
+
+project(hello_stub): ciao_client {
+ sharedname = hello_stub
+ idlflags += -Wb,stub_export_macro=HELLO_STUB_Export -Wb,stub_export_include=hello_stub_export.h -Wb,skel_export_macro=HELLO_SVNT_Export -Wb,skel_export_include=hello_svnt_export.h
+ dynamicflags = HELLO_STUB_BUILD_DLL
+
+ IDL_Files {
+ hello.idl
+ }
+
+ Source_Files {
+ helloC.cpp
+ }
+}
+
+project(hello_svnt) : ciao_servant {
+ after += hello_stub
+ sharedname = hello_svnt
+ libs += hello_stub
+ idlflags += -Wb,export_macro=HELLO_SVNT_Export -Wb,export_include=hello_svnt_export.h
+ dynamicflags = HELLO_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ hello.cidl
+ }
+
+ IDL_Files {
+ helloE.idl
+ }
+
+ Source_Files {
+ helloEC.cpp
+ helloS.cpp
+ hello_svnt.cpp
+ }
+}
+
+project(hello_exec) : ciao_component {
+ after += hello_svnt
+ sharedname = hello_exec
+ libs += hello_stub hello_svnt
+ dynamicflags = HELLO_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ hello_exec.cpp
+ }
+}
+
+project (*normal_client) : ciao_client {
+ exename = client
+ after += hello_stub
+ libs += hello_stub
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ client.cpp
+ }
+}
+
+// Client for interacting with the Simple_Component_Server
+project (*simple_client) : ciao_client {
+ libpaths += $(CIAO_ROOT)/tools/Simple_Component_Server
+ after += hello_stub Simple_Server_Stub
+ libpaths += $(CIAO_ROOT)/tools/Simple_Component_Server
+ libs += hello_stub CIAO_Simple_Server_Stub
+ exename = simple_client
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ simple_client.cpp
+ }
+}
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello.ssd b/TAO/CIAO/docs/tutorial/Hello/hello.ssd
new file mode 100644
index 00000000000..828ca435f5b
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello.ssd
@@ -0,0 +1,53 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<!-- Hello World's Servant Software Descriptor -->
+<!-- This file describes various HelloWorld servant -->
+<!-- implementations. -->
+
+
+<softpkg name="CIAO-HelloWorld-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>Hello World Servants</title>
+ <author>
+ <company>Washington University in St. Louis</company>
+ <webpage href="http://www.cs.wustl.edu/~doc/"/>
+ </author>
+ <description>A Hello World executor implementation.</description>
+ <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
+ <idl id="IDL:HelloWorld:1.0" homeid="IDL:HelloHome:1.0">
+ <fileinarchive name="hello.idl"/>
+ </idl>
+
+ <!-- Duplicate information. We should use the copy in hello.csd -->
+ <!-- So, do we really need this one? -->
+ <descriptor type="CORBA Component">
+ <fileinarchive name="hello.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:05833d92-4783-4b85-ac14-e2575dac26f7">
+ <!-- The following stuff should match those defined in csd file. -->
+ <os name="WinNT" version="4.0"/>
+ <os name="WinXP" version="5.0"/>
+ <processor name="x86"/>
+ <compile name="MSVC" version="6.0"/>
+ <programminglanguage name="C++"/>
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="hello_svnt"/>
+ <entrypoint>createHelloHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+ <!-- Let's add more implementation description later when we try to -->
+ <!-- compile this stuff on, say, Solaris and Linux. -->
+
+</softpkg>
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello_exec.cpp b/TAO/CIAO/docs/tutorial/Hello/hello_exec.cpp
new file mode 100644
index 00000000000..c4c0f3a86d3
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello_exec.cpp
@@ -0,0 +1,52 @@
+// $Id$
+
+#include "hello_exec.h"
+
+HelloWorld_Impl::HelloWorld_Impl ()
+{
+}
+
+HelloWorld_Impl::~HelloWorld_Impl
+ ()
+{
+}
+
+char *
+HelloWorld_Impl::sayhello (const char *username
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ static const char *fmt = "Hello World message for ";
+
+ CORBA::String_var str =
+ CORBA::string_alloc (ACE_OS::strlen (fmt) +
+ ACE_OS::strlen (username) +
+ 1);
+
+ ACE_OS::strcpy (str.inout (), fmt);
+ ACE_OS::strcat (str.inout (), username);
+
+ return str._retn ();
+}
+
+HelloHome_Impl::HelloHome_Impl ()
+{
+}
+
+HelloHome_Impl::~HelloHome_Impl ()
+{
+}
+
+Components::EnterpriseComponent_ptr
+HelloHome_Impl::create (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((Components::CCMException,
+ CORBA::SystemException))
+{
+ return new HelloWorld_Impl ();
+}
+
+extern "C" HELLO_EXEC_Export ::Components::HomeExecutorBase_ptr
+createHelloHome_Impl (void)
+{
+ return new HelloHome_Impl ();
+}
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello_exec.h b/TAO/CIAO/docs/tutorial/Hello/hello_exec.h
new file mode 100644
index 00000000000..0fdf42e4c2e
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello_exec.h
@@ -0,0 +1,54 @@
+// $Id$
+
+// This file contains executor implementations.
+
+#if !defined (HELLO_EXECUTORS_H)
+#define HELLO_EXECUTORS_H
+
+#include "helloEC.h"
+#include "hello_exec_export.h"
+#include "tao/LocalObject.h"
+
+class HelloWorld_Impl :
+ public virtual CCM_HelloWorld,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+ /// Default ctor.
+ HelloWorld_Impl ();
+
+ /// Default dtor.
+ ~HelloWorld_Impl ();
+
+ virtual char *sayhello (const char *username
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+};
+
+class HelloHome_Impl :
+ public virtual CCM_HelloHome,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+ /// Default ctor.
+ HelloHome_Impl ();
+
+ /// Default dtor.
+ ~HelloHome_Impl ();
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((Components::CCMException,
+ CORBA::SystemException));
+};
+
+// We still need to figure out a way to clean up the object created by
+// the factory correctly. Like we did in ACE_FACTORY macro, with a
+// Gobbler function.
+
+extern "C" HELLO_EXEC_Export ::Components::HomeExecutorBase_ptr
+createHelloHome_Impl (void);
+
+#endif /* HELLO_EXECUTORS_H */
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello_exec_export.h b/TAO/CIAO/docs/tutorial/Hello/hello_exec_export.h
new file mode 100644
index 00000000000..9ed6e395b0f
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_EXEC
+// ------------------------------
+#ifndef HELLO_EXEC_EXPORT_H
+#define HELLO_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_EXEC_HAS_DLL)
+# define HELLO_EXEC_HAS_DLL 1
+#endif /* ! HELLO_EXEC_HAS_DLL */
+
+#if defined (HELLO_EXEC_HAS_DLL) && (HELLO_EXEC_HAS_DLL == 1)
+# if defined (HELLO_EXEC_BUILD_DLL)
+# define HELLO_EXEC_Export ACE_Proper_Export_Flag
+# define HELLO_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_EXEC_BUILD_DLL */
+# define HELLO_EXEC_Export ACE_Proper_Import_Flag
+# define HELLO_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_EXEC_BUILD_DLL */
+#else /* HELLO_EXEC_HAS_DLL == 1 */
+# define HELLO_EXEC_Export
+# define HELLO_EXEC_SINGLETON_DECLARATION(T)
+# define HELLO_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_EXEC_HAS_DLL == 1 */
+
+// Set HELLO_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_EXEC_NTRACE */
+
+#if (HELLO_EXEC_NTRACE == 1)
+# define HELLO_EXEC_TRACE(X)
+#else /* (HELLO_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_EXEC_NTRACE == 1) */
+
+#endif /* HELLO_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello_stub_export.h b/TAO/CIAO/docs/tutorial/Hello/hello_stub_export.h
new file mode 100644
index 00000000000..9a004d9a06b
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_STUB
+// ------------------------------
+#ifndef HELLO_STUB_EXPORT_H
+#define HELLO_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_STUB_HAS_DLL)
+# define HELLO_STUB_HAS_DLL 1
+#endif /* ! HELLO_STUB_HAS_DLL */
+
+#if defined (HELLO_STUB_HAS_DLL) && (HELLO_STUB_HAS_DLL == 1)
+# if defined (HELLO_STUB_BUILD_DLL)
+# define HELLO_STUB_Export ACE_Proper_Export_Flag
+# define HELLO_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_STUB_BUILD_DLL */
+# define HELLO_STUB_Export ACE_Proper_Import_Flag
+# define HELLO_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_STUB_BUILD_DLL */
+#else /* HELLO_STUB_HAS_DLL == 1 */
+# define HELLO_STUB_Export
+# define HELLO_STUB_SINGLETON_DECLARATION(T)
+# define HELLO_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_STUB_HAS_DLL == 1 */
+
+// Set HELLO_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_STUB_NTRACE */
+
+#if (HELLO_STUB_NTRACE == 1)
+# define HELLO_STUB_TRACE(X)
+#else /* (HELLO_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_STUB_NTRACE == 1) */
+
+#endif /* HELLO_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/docs/tutorial/Hello/hello_svnt_export.h b/TAO/CIAO/docs/tutorial/Hello/hello_svnt_export.h
new file mode 100644
index 00000000000..6cd3a02b663
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/hello_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_SVNT
+// ------------------------------
+#ifndef HELLO_SVNT_EXPORT_H
+#define HELLO_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_SVNT_HAS_DLL)
+# define HELLO_SVNT_HAS_DLL 1
+#endif /* ! HELLO_SVNT_HAS_DLL */
+
+#if defined (HELLO_SVNT_HAS_DLL) && (HELLO_SVNT_HAS_DLL == 1)
+# if defined (HELLO_SVNT_BUILD_DLL)
+# define HELLO_SVNT_Export ACE_Proper_Export_Flag
+# define HELLO_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_SVNT_BUILD_DLL */
+# define HELLO_SVNT_Export ACE_Proper_Import_Flag
+# define HELLO_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_SVNT_BUILD_DLL */
+#else /* HELLO_SVNT_HAS_DLL == 1 */
+# define HELLO_SVNT_Export
+# define HELLO_SVNT_SINGLETON_DECLARATION(T)
+# define HELLO_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_SVNT_HAS_DLL == 1 */
+
+// Set HELLO_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_SVNT_NTRACE */
+
+#if (HELLO_SVNT_NTRACE == 1)
+# define HELLO_SVNT_TRACE(X)
+#else /* (HELLO_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_SVNT_NTRACE == 1) */
+
+#endif /* HELLO_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/docs/tutorial/Hello/run_simple_test.pl b/TAO/CIAO/docs/tutorial/Hello/run_simple_test.pl
new file mode 100755
index 00000000000..f09d29f3915
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/run_simple_test.pl
@@ -0,0 +1,47 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# This perl script run the Hello World component using the
+# Simple Component Server
+
+use lib "../../../../../bin";
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("ior");
+unlink $iorfile;
+$status = 0;
+
+$SV = new PerlACE::Process ("../../../tools/Simple_Component_Server/Simple_Component_Server",
+ "-i config -o $iorfile");
+
+$CL = new PerlACE::Process ("simple_client", "-i file://$iorfile -x");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile, 5) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/CIAO/docs/tutorial/Hello/run_test.pl b/TAO/CIAO/docs/tutorial/Hello/run_test.pl
new file mode 100755
index 00000000000..aa1c949d64d
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/run_test.pl
@@ -0,0 +1,113 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "../../../../../bin";
+use PerlACE::Run_Test;
+
+$status = 0;
+$daemon_ior = PerlACE::LocalFile ("daemon.ior");
+$svr_ior = PerlACE::LocalFile ("server.ior");
+$home_ior = PerlACE::LocalFile ("hello.ior");
+
+unlink $daemon_ior;
+unlink $svr_ior;
+unlink $home_ior;
+
+$cs_exe = PerlACE::Process::Normalize_Executable_Name ("../../../tools/ComponentServer/ComponentServer");
+
+# CIAO Daemon command line arguments
+$daemon_args = "-o $daemon_ior -n $cs_exe";
+
+# CIAO Daemon Controller location:
+$controller = "../../../tools/Daemon/DaemonController";
+
+# Daemon controller common command line arguments
+$common_args = "-ORBInitRef CIAODaemon=file://$daemon_ior";
+
+# Daemon controller start_home command
+$start_args = "start_home -s hello.csd -m $home_ior -c $svr_ior";
+
+# Daemon controller end_home command
+$end_args = "end_home -c file://$svr_ior";
+
+# Daemon controller shutdown command
+$shutdown_args = "shutdown";
+
+# Client program command line arguments
+$cl_args = "";
+
+# Naming_Service process definition
+$DS = new PerlACE::Process ("../../../tools/Daemon/CIAO_Daemon",
+ "$daemon_args");
+
+# Client process definition
+$CL = new PerlACE::Process ("client",
+ "$cl_args");
+
+## Starting up the CIAO daemon
+$DS->Spawn ();
+if (PerlACE::waitforfile_timed ($daemon_ior, 15) == -1) {
+ print STDERR "ERROR: Could not find daemon ior file <$daemon_ior>\n";
+ $DS->Kill ();
+ exit 1;
+}
+
+## Starting up a ComponentServer running the hello world home.
+$DC = new PerlACE::Process ("$controller",
+ "$common_args $start_args");
+
+$DC->SpawnWaitKill (60);
+if (PerlACE::waitforfile_timed ($home_ior, 15) == -1) {
+ print STDERR "ERROR: Could not find home ior file <$home_ior>\n";
+ $DS->Kill ();
+ exit 1;
+}
+
+
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+
+## Terminating the ComponentServer running the hello world home.
+$DC = new PerlACE::Process ("$controller",
+ "$common_args $end_args");
+
+$ctrl = $DC->SpawnWaitKill (60);
+if ($ctrl != 0) {
+ print STDERR "ERROR: Fail to end component server\n";
+ $DS->Kill ();
+ exit 1;
+}
+
+## Terminating the ComponentServer running the hello world home.
+$DC = new PerlACE::Process ("$controller",
+ "$common_args $shutdown_args");
+
+$ctrl = $DC->SpawnWaitKill (60);
+if ($ctrl != 0) {
+ print STDERR "ERROR: Fail to shutdown CIAODaemon\n";
+ $DS->Kill ();
+ exit 1;
+}
+
+$ctrl = $DS->WaitKill (60);
+if ($ctrl != 0) {
+ print STDERR "ERROR: CIAODaemon didn't shutdown gracefully $ctrl\n";
+ $DS->Kill ();
+ exit 1;
+}
+
+
+unlink $daemon_ior;
+unlink $svr_ior;
+unlink $home_ior;
+
+exit $status;
diff --git a/TAO/CIAO/docs/tutorial/Hello/simple_client.cpp b/TAO/CIAO/docs/tutorial/Hello/simple_client.cpp
new file mode 100644
index 00000000000..89fde740942
--- /dev/null
+++ b/TAO/CIAO/docs/tutorial/Hello/simple_client.cpp
@@ -0,0 +1,103 @@
+// $Id$
+
+#include "tools/Simple_Component_Server/Simple_ServerC.h"
+#include "ace/Get_Opt.h"
+#include "ace/Read_Buffer.h"
+#include "helloC.h"
+#include "ace/streams.h"
+
+char *ior = 0;
+int shutdown_server = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "i:x");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'x': // Shutdown server when exit?
+ shutdown_server = 1;
+ break;
+
+ case 'i': // get component configuration
+ ior = get_opts.opt_arg ();
+ break;
+
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s\n"
+ "-i <simple server ior>\n"
+ "-x shutdown server when exit\n"
+ "\n",
+ argv [0]),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
+
+ if (parse_args (argc, argv) != 0)
+ return -1;
+
+ CORBA::Object_var obj
+ = orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CIAO::Simple_Server_var cserve
+ = CIAO::Simple_Server::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Components::CCMHome_var home = cserve->get_home (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ HelloHome_var hh = HelloHome::_narrow (home.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (hh.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Argument is not a HelloHome reference\n"), -1);
+
+ HelloWorld_var hw = hh->create ();
+
+ if (CORBA::is_nil (hw.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Fail to create a HelloWorld reference\n"), -1);
+
+ CORBA::String_var hi = hw->sayhello ("Simple_Component_Server"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_INFO, "%s\n", hi.in ()));
+
+ hh->remove_component (hw.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ if (shutdown_server != 0)
+ cserve->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Who is the culprit \n");
+ cerr << "Uncaught CORBA exception" << endl;
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl
new file mode 100644
index 00000000000..0ac19ea2276
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.idl
@@ -0,0 +1,27 @@
+//$Id$:
+/**
+ * @file Hello_Base.idl
+ * Definition of common interfaces used by the Hello example
+ *
+ * @auther Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef HELLO_IDL
+#define HELLO_IDL
+
+#include <Components.idl>
+
+module Hello
+{
+ interface message
+ {
+ string get_message();
+ };
+
+ eventtype timeout
+ {
+ };
+
+};
+
+#endif /* HELLO_IDL */
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc
new file mode 100644
index 00000000000..9f2327a0d5c
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base.mpc
@@ -0,0 +1,30 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -n Hello_Base"
+
+project(Hello_Base_stub): ciao_client {
+
+ sharedname = Hello_Base_stub
+ idlflags += -Wb,stub_export_macro=HELLO_BASE_STUB_Export -Wb,stub_export_include=Hello_Base_stub_export.h -Wb,skel_export_macro=HELLO_BASE_SVNT_Export -Wb,skel_export_include=Hello_Base_svnt_export.h
+ dynamicflags = HELLO_BASE_STUB_BUILD_DLL
+
+ IDL_Files {
+ Hello_Base.idl
+ }
+
+ Source_Files {
+ Hello_BaseC.cpp
+ }
+}
+
+project(Hello_Base_svnt) : ciao_server {
+ after += Hello_Base_stub
+ sharedname = Hello_Base_svnt
+ libs += Hello_Base_stub
+
+ idlflags += -Wb,export_macro=HELLO_BASE_SVNT_Export -Wb,export_include=Hello_Base_svnt_export.h
+ dynamicflags = HELLO_BASE_SVNT_BUILD_DLL
+
+ Source_Files {
+ Hello_BaseS.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h
new file mode 100644
index 00000000000..224fe95a845
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_BASE_STUB
+// ------------------------------
+#ifndef HELLO_BASE_STUB_EXPORT_H
+#define HELLO_BASE_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_BASE_STUB_HAS_DLL)
+# define HELLO_BASE_STUB_HAS_DLL 1
+#endif /* ! HELLO_BASE_STUB_HAS_DLL */
+
+#if defined (HELLO_BASE_STUB_HAS_DLL) && (HELLO_BASE_STUB_HAS_DLL == 1)
+# if defined (HELLO_BASE_STUB_BUILD_DLL)
+# define HELLO_BASE_STUB_Export ACE_Proper_Export_Flag
+# define HELLO_BASE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_BASE_STUB_BUILD_DLL */
+# define HELLO_BASE_STUB_Export ACE_Proper_Import_Flag
+# define HELLO_BASE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_BASE_STUB_BUILD_DLL */
+#else /* HELLO_BASE_STUB_HAS_DLL == 1 */
+# define HELLO_BASE_STUB_Export
+# define HELLO_BASE_STUB_SINGLETON_DECLARATION(T)
+# define HELLO_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_BASE_STUB_HAS_DLL == 1 */
+
+// Set HELLO_BASE_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_BASE_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_BASE_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_BASE_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_BASE_STUB_NTRACE */
+
+#if (HELLO_BASE_STUB_NTRACE == 1)
+# define HELLO_BASE_STUB_TRACE(X)
+#else /* (HELLO_BASE_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_BASE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_BASE_STUB_NTRACE == 1) */
+
+#endif /* HELLO_BASE_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h
new file mode 100644
index 00000000000..57625da60c6
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Hello_Base/Hello_Base_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HELLO_BASE_SVNT
+// ------------------------------
+#ifndef HELLO_BASE_SVNT_EXPORT_H
+#define HELLO_BASE_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (HELLO_BASE_SVNT_HAS_DLL)
+# define HELLO_BASE_SVNT_HAS_DLL 1
+#endif /* ! HELLO_BASE_SVNT_HAS_DLL */
+
+#if defined (HELLO_BASE_SVNT_HAS_DLL) && (HELLO_BASE_SVNT_HAS_DLL == 1)
+# if defined (HELLO_BASE_SVNT_BUILD_DLL)
+# define HELLO_BASE_SVNT_Export ACE_Proper_Export_Flag
+# define HELLO_BASE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HELLO_BASE_SVNT_BUILD_DLL */
+# define HELLO_BASE_SVNT_Export ACE_Proper_Import_Flag
+# define HELLO_BASE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HELLO_BASE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HELLO_BASE_SVNT_BUILD_DLL */
+#else /* HELLO_BASE_SVNT_HAS_DLL == 1 */
+# define HELLO_BASE_SVNT_Export
+# define HELLO_BASE_SVNT_SINGLETON_DECLARATION(T)
+# define HELLO_BASE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HELLO_BASE_SVNT_HAS_DLL == 1 */
+
+// Set HELLO_BASE_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HELLO_BASE_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HELLO_BASE_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HELLO_BASE_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HELLO_BASE_SVNT_NTRACE */
+
+#if (HELLO_BASE_SVNT_NTRACE == 1)
+# define HELLO_BASE_SVNT_TRACE(X)
+#else /* (HELLO_BASE_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define HELLO_BASE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (HELLO_BASE_SVNT_NTRACE == 1) */
+
+#endif /* HELLO_BASE_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/README b/TAO/CIAO/examples/Hello/README
new file mode 100644
index 00000000000..86651de4344
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/README
@@ -0,0 +1,7 @@
+//Step-By-Step example
+
+This Hello example is meant to be a step-by-step example of building a
+CIAO-based application. The step-by-step text is at
+(www.dre.vanderbilt.edu/~lu/ciao).
+
+For more information about CIAO please refer to http://www.dre.vanderbilt.edu/CIAO
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver.cidl b/TAO/CIAO/examples/Hello/Receiver/Receiver.cidl
new file mode 100644
index 00000000000..aab2d099ff7
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver.cidl
@@ -0,0 +1,22 @@
+//$Id$:
+/**
+ * @file Reciever.cild
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef SENDER_CIDL
+#define SENDER_CIDL
+
+#include "Receiver.idl"
+
+composition session Receiver_Impl
+{
+ home executor ReceiverHome_Exec
+ {
+ implements Hello::ReceiverHome;
+ manages Receiver_Exec;
+ };
+};
+
+#endif /* SENDER_CIDL */
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver.idl b/TAO/CIAO/examples/Hello/Receiver/Receiver.idl
new file mode 100644
index 00000000000..bf03b35237e
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver.idl
@@ -0,0 +1,26 @@
+//$Id$:
+/**
+ * @file Receiver.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef RECEIVER_IDL
+#define RECEIVER_IDL
+
+#include "../Hello_Base/Hello_Base.idl"
+
+module Hello
+{
+ component Receiver
+ {
+ uses message read_message;
+ consumes timeout click_in;
+ };
+
+ home ReceiverHome manages Receiver
+ {
+ };
+
+};
+#endif /*RECEIVER_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver.mpc b/TAO/CIAO/examples/Hello/Receiver/Receiver.mpc
new file mode 100644
index 00000000000..4db2bd7f999
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver.mpc
@@ -0,0 +1,60 @@
+// $Id$
+// This file is generated with "generate_component_mpc_extra.pl -p Hello_Base Receiver"
+
+project(Hello_Base_Receiver_stub): ciao_client {
+ after += Hello_Base_stub
+ sharedname = Receiver_stub
+ idlflags += -Wb,stub_export_macro=RECEIVER_STUB_Export -Wb,stub_export_include=Receiver_stub_export.h -Wb,skel_export_macro=RECEIVER_SVNT_Export -Wb,skel_export_include=Receiver_svnt_export.h
+ dynamicflags = RECEIVER_STUB_BUILD_DLL
+ libs += Hello_Base_stub
+
+ IDL_Files {
+ Receiver.idl
+ }
+
+ Source_Files {
+ ReceiverC.cpp
+ }
+}
+
+project(Hello_Base_Receiver_svnt) : ciao_servant {
+ after += Hello_Base_svnt Hello_Base_Receiver_stub
+ sharedname = Receiver_svnt
+ libs += Receiver_stub Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=RECEIVER_SVNT_Export -Wb,export_include=Receiver_svnt_export.h
+ dynamicflags = RECEIVER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Receiver.cidl
+ }
+
+ IDL_Files {
+ ReceiverE.idl
+ }
+
+ Source_Files {
+ ReceiverEC.cpp
+ ReceiverS.cpp
+ Receiver_svnt.cpp
+ }
+}
+
+
+project(Hello_Base_Receiver_exec) : ciao_component {
+ after += Hello_Base_Receiver_svnt
+ sharedname = Receiver_exec
+ libs += Receiver_stub Receiver_svnt Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=RECEIVER_EXEC_Export -Wb,export_include=Receiver_exec_export.h
+ dynamicflags = RECEIVER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ ReceiverEI.idl
+ }
+
+ Source_Files {
+ ReceiverEIC.cpp
+ Receiver_exec.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl b/TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl
new file mode 100644
index 00000000000..9c92a309fbb
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/ReceiverEI.idl
@@ -0,0 +1,25 @@
+//$Id$:
+/**
+ * @file ReceiverEI.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef RECEIVEREI_IDL
+#define RECEIVERET_IDL
+
+
+#include "ReceiverE.idl"
+
+module Hello
+{
+ //Note since the Receiver only uses the message interface, there won't
+ //be any inheritance from CCM_message.
+ local interface Receiver_Exec :
+ CCM_Receiver,
+ Components::SessionComponent
+ {
+ };
+
+};
+#endif /*RECEIVEREI_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp
new file mode 100644
index 00000000000..9be84b94558
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.cpp
@@ -0,0 +1,123 @@
+//$Id$
+/*
+ * @file Receiver_exec.cpp
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#include "Receiver_exec.h"
+#include "CIAO_common.h"
+
+MyImpl::Receiver_exec_i::Receiver_exec_i ()
+{
+}
+
+MyImpl::Receiver_exec_i::~Receiver_exec_i ()
+{
+}
+
+void
+MyImpl::Receiver_exec_i::push_click_in (Hello::timeout *
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ //Get the message from the Sender first.
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver - Informed by the Sender \n"));
+
+ Hello::message_var rev
+ = this->context_->get_connection_read_message (ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (rev.in ()))
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ CORBA::String_var str =
+ rev->get_message (ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver - Got message from the server [%s] \n",
+ str.in () ));
+}
+
+// Operations from Components::SessionComponen
+void
+MyImpl::Receiver_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::set_session_context\n"));
+
+ this->context_ =
+ Hello::CCM_Receiver_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::Receiver_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::ccm_activate\n"));
+
+ // @@ This hack work around a missing feature in CIAO's assembly
+ // mechanism where a Softpkg descriptor can specify it's dependency
+ // to a valuetype factory and instruct the deployment framework to
+ // initialize and register the corresponding valuefactory in the
+ // component server. Here, we are registering the valuefactory
+ // explicitly to work around this problem.
+ char *argv[1] = { "Receiver_exec"};
+ int argc = sizeof(argv)/sizeof(argv[0]);
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
+
+ CIAO_REGISTER_VALUE_FACTORY (orb.in(),
+ Hello::timeout_init,
+ Hello::timeout);
+}
+
+void
+MyImpl::Receiver_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::Receiver_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Receiver_exec_i::ccm_remove\n"));
+}
+
+
+MyImpl::ReceiverHome_exec_i::ReceiverHome_exec_i ()
+{
+}
+
+MyImpl::ReceiverHome_exec_i::~ReceiverHome_exec_i ()
+{
+}
+
+::Components::EnterpriseComponent_ptr
+MyImpl::ReceiverHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::Receiver_exec_i;
+}
+
+
+extern "C" RECEIVER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createReceiverHome_Impl (void)
+{
+ return new MyImpl::ReceiverHome_exec_i ();
+}
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h
new file mode 100644
index 00000000000..6d63f70201f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec.h
@@ -0,0 +1,102 @@
+//$Id$:
+//============================================================
+/**
+ * @file Receiver_exec.h
+ *
+ * Header file for the Executor implementation.
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+//============================================================
+
+#ifndef RECEIVER_EXEC_H
+#define RECEIVER_EXEC_H
+
+#include "ReceiverEIC.h"
+#include "tao/LocalObject.h"
+
+#ifdef linux
+//#define RECEIVER_EXEC_Export
+#endif
+
+namespace MyImpl
+{
+
+ /**
+ * @class Receiver_exec_i
+ *
+ * Receiver executor implementation class.
+ */
+
+ class RECEIVER_EXEC_Export Receiver_exec_i :
+ public virtual Hello::Receiver_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+
+ public:
+ /// Default constructor.
+ Receiver_exec_i ();
+
+ /// Default destructor.
+ ~Receiver_exec_i ();
+
+ // Operation which will be called upon receiving the timeout event.
+ virtual void
+ push_click_in (Hello::timeout *ev
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+ virtual void set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ protected:
+ /// Copmponent specific context
+ Hello::CCM_Receiver_Context_var context_;
+ private:
+ CORBA::String_var message_;
+ };
+
+ /**
+ * @class ReceiverHome_exec_i
+ *
+ * Receiver home executor implementation class.
+ */
+ class RECEIVER_EXEC_Export ReceiverHome_exec_i :
+ public virtual Hello::CCM_ReceiverHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ ReceiverHome_exec_i ();
+
+ /// Default dtor.
+ ~ReceiverHome_exec_i ();
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+extern "C" RECEIVER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createReceiverHome_Impl (void);
+
+#endif /* RECEIVER_EXEC_H */
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h
new file mode 100644
index 00000000000..8ad3640d130
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEIVER_EXEC
+// ------------------------------
+#ifndef RECEIVER_EXEC_EXPORT_H
+#define RECEIVER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RECEIVER_EXEC_HAS_DLL)
+# define RECEIVER_EXEC_HAS_DLL 1
+#endif /* ! RECEIVER_EXEC_HAS_DLL */
+
+#if defined (RECEIVER_EXEC_HAS_DLL) && (RECEIVER_EXEC_HAS_DLL == 1)
+# if defined (RECEIVER_EXEC_BUILD_DLL)
+# define RECEIVER_EXEC_Export ACE_Proper_Export_Flag
+# define RECEIVER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEIVER_EXEC_BUILD_DLL */
+# define RECEIVER_EXEC_Export ACE_Proper_Import_Flag
+# define RECEIVER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEIVER_EXEC_BUILD_DLL */
+#else /* RECEIVER_EXEC_HAS_DLL == 1 */
+# define RECEIVER_EXEC_Export
+# define RECEIVER_EXEC_SINGLETON_DECLARATION(T)
+# define RECEIVER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEIVER_EXEC_HAS_DLL == 1 */
+
+// Set RECEIVER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEIVER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEIVER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEIVER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEIVER_EXEC_NTRACE */
+
+#if (RECEIVER_EXEC_NTRACE == 1)
+# define RECEIVER_EXEC_TRACE(X)
+#else /* (RECEIVER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEIVER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEIVER_EXEC_NTRACE == 1) */
+
+#endif /* RECEIVER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h
new file mode 100644
index 00000000000..c457802854f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEIVER_STUB
+// ------------------------------
+#ifndef RECEIVER_STUB_EXPORT_H
+#define RECEIVER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RECEIVER_STUB_HAS_DLL)
+# define RECEIVER_STUB_HAS_DLL 1
+#endif /* ! RECEIVER_STUB_HAS_DLL */
+
+#if defined (RECEIVER_STUB_HAS_DLL) && (RECEIVER_STUB_HAS_DLL == 1)
+# if defined (RECEIVER_STUB_BUILD_DLL)
+# define RECEIVER_STUB_Export ACE_Proper_Export_Flag
+# define RECEIVER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEIVER_STUB_BUILD_DLL */
+# define RECEIVER_STUB_Export ACE_Proper_Import_Flag
+# define RECEIVER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEIVER_STUB_BUILD_DLL */
+#else /* RECEIVER_STUB_HAS_DLL == 1 */
+# define RECEIVER_STUB_Export
+# define RECEIVER_STUB_SINGLETON_DECLARATION(T)
+# define RECEIVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEIVER_STUB_HAS_DLL == 1 */
+
+// Set RECEIVER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEIVER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEIVER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEIVER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEIVER_STUB_NTRACE */
+
+#if (RECEIVER_STUB_NTRACE == 1)
+# define RECEIVER_STUB_TRACE(X)
+#else /* (RECEIVER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEIVER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEIVER_STUB_NTRACE == 1) */
+
+#endif /* RECEIVER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h b/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h
new file mode 100644
index 00000000000..1c9eca2556d
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Receiver/Receiver_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl RECEIVER_SVNT
+// ------------------------------
+#ifndef RECEIVER_SVNT_EXPORT_H
+#define RECEIVER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (RECEIVER_SVNT_HAS_DLL)
+# define RECEIVER_SVNT_HAS_DLL 1
+#endif /* ! RECEIVER_SVNT_HAS_DLL */
+
+#if defined (RECEIVER_SVNT_HAS_DLL) && (RECEIVER_SVNT_HAS_DLL == 1)
+# if defined (RECEIVER_SVNT_BUILD_DLL)
+# define RECEIVER_SVNT_Export ACE_Proper_Export_Flag
+# define RECEIVER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* RECEIVER_SVNT_BUILD_DLL */
+# define RECEIVER_SVNT_Export ACE_Proper_Import_Flag
+# define RECEIVER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define RECEIVER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* RECEIVER_SVNT_BUILD_DLL */
+#else /* RECEIVER_SVNT_HAS_DLL == 1 */
+# define RECEIVER_SVNT_Export
+# define RECEIVER_SVNT_SINGLETON_DECLARATION(T)
+# define RECEIVER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* RECEIVER_SVNT_HAS_DLL == 1 */
+
+// Set RECEIVER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (RECEIVER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define RECEIVER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define RECEIVER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !RECEIVER_SVNT_NTRACE */
+
+#if (RECEIVER_SVNT_NTRACE == 1)
+# define RECEIVER_SVNT_TRACE(X)
+#else /* (RECEIVER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define RECEIVER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (RECEIVER_SVNT_NTRACE == 1) */
+
+#endif /* RECEIVER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender.cidl b/TAO/CIAO/examples/Hello/Sender/Sender.cidl
new file mode 100644
index 00000000000..d9f091bb4cb
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender.cidl
@@ -0,0 +1,22 @@
+//$Id$:
+/**
+ * @file Sender.cild
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+#ifndef SENDER_CIDL
+#define SENDER_CIDL
+
+#include "Sender.idl"
+
+composition session Sender_Impl
+{
+ home executor SenderHome_Exec
+ {
+ implements Hello::SenderHome;
+
+ manages Sender_Exec;
+ };
+};
+
+#endif /* SENDER_CIDL */
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender.idl b/TAO/CIAO/examples/Hello/Sender/Sender.idl
new file mode 100644
index 00000000000..132ea8a3254
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender.idl
@@ -0,0 +1,37 @@
+//$Id$
+/**
+ * @file Sender.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef SENDER_IDL
+#define SENDER_IDL
+
+
+#include "../Hello_Base/Hello_Base.idl"
+
+module Hello
+{
+ /* This is a Sender specific interface which will be used to get the
+ * process start.
+ */
+
+ interface trigger
+ {
+ void start ();
+ };
+
+ component Sender supports trigger
+ {
+ provides message push_message;
+ publishes timeout click_out;
+ attribute string local_message;
+ };
+
+ home SenderHome manages Sender
+ {
+ };
+
+};
+#endif /*SENDER_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender.mpc b/TAO/CIAO/examples/Hello/Sender/Sender.mpc
new file mode 100644
index 00000000000..2f1330d2e70
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender.mpc
@@ -0,0 +1,73 @@
+// $Id$
+// This file is generated with "generate_component_mpc_extra.pl -p Hello_Base Sender"
+
+project(Hello_Base_Sender_stub): ciao_client {
+ after += Hello_Base_stub
+ sharedname = Sender_stub
+ idlflags += -Wb,stub_export_macro=SENDER_STUB_Export -Wb,stub_export_include=Sender_stub_export.h -Wb,skel_export_macro=SENDER_SVNT_Export -Wb,skel_export_include=Sender_svnt_export.h
+ dynamicflags = SENDER_STUB_BUILD_DLL
+ libs += Hello_Base_stub
+
+ IDL_Files {
+ Sender.idl
+ }
+
+ Source_Files {
+ SenderC.cpp
+
+ }
+}
+
+project(Hello_Base_Sender_svnt) : ciao_servant {
+ after += Hello_Base_svnt Hello_Base_Sender_stub
+ sharedname = Sender_svnt
+ libs += Sender_stub Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=SENDER_SVNT_Export -Wb,export_include=Sender_svnt_export.h
+ dynamicflags = SENDER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ Sender.cidl
+ }
+
+ IDL_Files {
+ SenderE.idl
+ }
+
+ Source_Files {
+ SenderEC.cpp
+ SenderS.cpp
+ Sender_svnt.cpp
+ }
+}
+
+project(Hello_Base_Sender_exec) : ciao_component {
+ after += Hello_Base_Sender_svnt
+ sharedname = Sender_exec
+ libs += Sender_stub Sender_svnt Hello_Base_stub Hello_Base_svnt
+
+ idlflags += -Wb,export_macro=SENDER_EXEC_Export -Wb,export_include=Sender_exec_export.h
+ dynamicflags = SENDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ SenderEI.idl
+ }
+
+ Source_Files {
+ SenderEIC.cpp
+ Sender_exec.cpp
+ }
+}
+
+project (Hello_Starter) : ciao_client, valuetype{
+ exename = starter
+ after += Hello_Base_Sender_stub
+ libs += Sender_stub
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ starter.cpp
+ }
+}
diff --git a/TAO/CIAO/examples/Hello/Sender/SenderEI.idl b/TAO/CIAO/examples/Hello/Sender/SenderEI.idl
new file mode 100644
index 00000000000..d4d94f8f80a
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/SenderEI.idl
@@ -0,0 +1,23 @@
+//$Id$:
+/**
+ * @file SenderEI.idl
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#ifndef SENDEREI_IDL
+#define SENDERET_IDL
+
+
+#include "SenderE.idl"
+
+module Hello
+{
+ local interface Sender_Exec :
+ CCM_Sender,
+ Components::SessionComponent
+ {
+ };
+
+};
+#endif /*SENDEREI_IDL*/
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
new file mode 100644
index 00000000000..f25fbf82530
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
@@ -0,0 +1,136 @@
+//$Id$
+/*
+ * @file Sender_exec.cpp
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#include "Sender_exec.h"
+
+// message_impl
+//
+//
+char*
+MyImpl::message_impl::get_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Sender sending out message. \n"));
+
+ return CORBA::string_dup (component_.message_.in ());
+}
+
+
+// Sender_exec_i
+//
+//
+MyImpl::Sender_exec_i::~Sender_exec_i ()
+{
+}
+
+void
+MyImpl::Sender_exec_i::local_message (const char * local_message
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ message_ = local_message;
+ this->message_impl_i->set_message (local_message) ;
+}
+
+char *
+MyImpl::Sender_exec_i::local_message (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup(message_);
+}
+
+Hello::CCM_message_ptr
+MyImpl::Sender_exec_i::get_push_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return new message_impl (*this);
+}
+
+
+void
+MyImpl::Sender_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ Hello::timeout_var event = new OBV_Hello::timeout;
+
+ ACE_DEBUG ((LM_DEBUG, "Sender initiates the process.\n"));
+
+ this->context_->push_click_out (event ACE_ENV_ARG_PARAMETER);
+}
+
+
+// Operations from Components::SessionComponen
+void
+MyImpl::Sender_exec_i::set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::set_session_context\n"));
+
+ this->context_ =
+ Hello::CCM_Sender_Context::_narrow (ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (CORBA::is_nil (this->context_.in ()))
+ ACE_THROW (CORBA::INTERNAL ());
+ // Urm, we actually discard exceptions thown from this operation.
+}
+
+void
+MyImpl::Sender_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::ccm_activate\n"));
+}
+
+void
+MyImpl::Sender_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::ccm_passivate\n"));
+}
+
+void
+MyImpl::Sender_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ ACE_DEBUG ((LM_DEBUG, "MyImpl::Sender_exec_i::ccm_remove\n"));
+}
+
+
+// SenderHome_exec_i
+//
+//
+MyImpl::SenderHome_exec_i::SenderHome_exec_i ()
+{
+}
+
+MyImpl::SenderHome_exec_i::~SenderHome_exec_i ()
+{
+}
+
+::Components::EnterpriseComponent_ptr
+MyImpl::SenderHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException))
+{
+ return new MyImpl::Sender_exec_i;
+}
+
+//
+//
+//
+extern "C" SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createSenderHome_Impl (void)
+{
+ return new MyImpl::SenderHome_exec_i ();
+}
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec.h b/TAO/CIAO/examples/Hello/Sender/Sender_exec.h
new file mode 100644
index 00000000000..1ea19063fe2
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec.h
@@ -0,0 +1,150 @@
+//$Id$
+//============================================================
+/**
+ * @file Sender_exec.h
+ *
+ * Header file for the Executor implementation.
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+//============================================================
+
+#ifndef SENDER_EXEC_H
+#define SENDER_EXEC_H
+
+#include "SenderEIC.h"
+
+#include "tao/LocalObject.h"
+
+namespace MyImpl
+{
+ /**
+ * @class Sender_exec_i
+ *
+ * Sender executor implementation class.
+ */
+
+ class SENDER_EXEC_Export Sender_exec_i :
+ public virtual Hello::CCM_Sender,
+ public virtual Component::SessionComponent,
+ public virtual TAO_Local_RefCounted_Object
+ {
+
+ public:
+ /// Default constructor.
+ Sender_exec_i ()
+ : message_("Default Message")
+ {
+ }
+
+ /// Secondary construction.
+ Sender_exec_i (const char* local_message)
+ : message_ (local_message)
+ {
+ }
+
+ /// Default destructor.
+ virtual ~Sender_exec_i ();
+
+ /// Operation to set the value of the attribute
+ virtual void local_message (const char * local_message
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Operation to get the value of the attribute
+ virtual char * local_message (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /* Operations for obtaining the interface reference. */
+ /* This method will be used in the assembly face so the
+ * ObjRef of this read_message facet will be sent to the
+ * client side(receptacle).
+ */
+ // Note: You can specify the return type as ::Hello::CCM_message *
+ virtual Hello::CCM_message_ptr
+ get_push_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ // Operation inside of the trigger interface.
+ virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+ virtual void set_session_context (Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+
+ protected:
+ /// Copmponent specific context
+ Hello::CCM_Sender_Context_var context_;
+
+ private:
+ CORBA::String_var message_;
+
+ friend class message_impl;
+ };
+
+
+ //
+ //
+ //
+ class message_impl : public virtual Hello::CCM_message,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ message_impl (Sender_exec_i& component)
+ : component_ (component)
+ {
+ }
+
+ virtual char *
+ get_message (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ Sender_exec_i& component_;
+ };
+
+ /**
+ * @class SenderHome_exec_i
+ *
+ * Sender home executor implementation class.
+ */
+ class SENDER_EXEC_Export SenderHome_exec_i :
+ public virtual Hello::CCM_SenderHome,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ /// Default ctor.
+ SenderHome_exec_i ();
+
+ /// Default dtor.
+ virtual ~SenderHome_exec_i ();
+
+ // Implicit home operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::CCMException));
+ };
+
+}
+
+extern "C" SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+createSenderHome_Impl (void);
+
+#endif /* SENDER_EXEC_H */
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h b/TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h
new file mode 100644
index 00000000000..dbaa7ea15bc
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SENDER_EXEC
+// ------------------------------
+#ifndef SENDER_EXEC_EXPORT_H
+#define SENDER_EXEC_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SENDER_EXEC_HAS_DLL)
+# define SENDER_EXEC_HAS_DLL 1
+#endif /* ! SENDER_EXEC_HAS_DLL */
+
+#if defined (SENDER_EXEC_HAS_DLL) && (SENDER_EXEC_HAS_DLL == 1)
+# if defined (SENDER_EXEC_BUILD_DLL)
+# define SENDER_EXEC_Export ACE_Proper_Export_Flag
+# define SENDER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SENDER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SENDER_EXEC_BUILD_DLL */
+# define SENDER_EXEC_Export ACE_Proper_Import_Flag
+# define SENDER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SENDER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SENDER_EXEC_BUILD_DLL */
+#else /* SENDER_EXEC_HAS_DLL == 1 */
+# define SENDER_EXEC_Export
+# define SENDER_EXEC_SINGLETON_DECLARATION(T)
+# define SENDER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SENDER_EXEC_HAS_DLL == 1 */
+
+// Set SENDER_EXEC_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SENDER_EXEC_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SENDER_EXEC_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SENDER_EXEC_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SENDER_EXEC_NTRACE */
+
+#if (SENDER_EXEC_NTRACE == 1)
+# define SENDER_EXEC_TRACE(X)
+#else /* (SENDER_EXEC_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SENDER_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SENDER_EXEC_NTRACE == 1) */
+
+#endif /* SENDER_EXEC_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h b/TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h
new file mode 100644
index 00000000000..28c5d3131d0
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_stub_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SENDER_STUB
+// ------------------------------
+#ifndef SENDER_STUB_EXPORT_H
+#define SENDER_STUB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SENDER_STUB_HAS_DLL)
+# define SENDER_STUB_HAS_DLL 1
+#endif /* ! SENDER_STUB_HAS_DLL */
+
+#if defined (SENDER_STUB_HAS_DLL) && (SENDER_STUB_HAS_DLL == 1)
+# if defined (SENDER_STUB_BUILD_DLL)
+# define SENDER_STUB_Export ACE_Proper_Export_Flag
+# define SENDER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SENDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SENDER_STUB_BUILD_DLL */
+# define SENDER_STUB_Export ACE_Proper_Import_Flag
+# define SENDER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SENDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SENDER_STUB_BUILD_DLL */
+#else /* SENDER_STUB_HAS_DLL == 1 */
+# define SENDER_STUB_Export
+# define SENDER_STUB_SINGLETON_DECLARATION(T)
+# define SENDER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SENDER_STUB_HAS_DLL == 1 */
+
+// Set SENDER_STUB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SENDER_STUB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SENDER_STUB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SENDER_STUB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SENDER_STUB_NTRACE */
+
+#if (SENDER_STUB_NTRACE == 1)
+# define SENDER_STUB_TRACE(X)
+#else /* (SENDER_STUB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SENDER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SENDER_STUB_NTRACE == 1) */
+
+#endif /* SENDER_STUB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h b/TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h
new file mode 100644
index 00000000000..53236a883f2
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_svnt_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl SENDER_SVNT
+// ------------------------------
+#ifndef SENDER_SVNT_EXPORT_H
+#define SENDER_SVNT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (SENDER_SVNT_HAS_DLL)
+# define SENDER_SVNT_HAS_DLL 1
+#endif /* ! SENDER_SVNT_HAS_DLL */
+
+#if defined (SENDER_SVNT_HAS_DLL) && (SENDER_SVNT_HAS_DLL == 1)
+# if defined (SENDER_SVNT_BUILD_DLL)
+# define SENDER_SVNT_Export ACE_Proper_Export_Flag
+# define SENDER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SENDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SENDER_SVNT_BUILD_DLL */
+# define SENDER_SVNT_Export ACE_Proper_Import_Flag
+# define SENDER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SENDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SENDER_SVNT_BUILD_DLL */
+#else /* SENDER_SVNT_HAS_DLL == 1 */
+# define SENDER_SVNT_Export
+# define SENDER_SVNT_SINGLETON_DECLARATION(T)
+# define SENDER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SENDER_SVNT_HAS_DLL == 1 */
+
+// Set SENDER_SVNT_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SENDER_SVNT_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SENDER_SVNT_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SENDER_SVNT_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SENDER_SVNT_NTRACE */
+
+#if (SENDER_SVNT_NTRACE == 1)
+# define SENDER_SVNT_TRACE(X)
+#else /* (SENDER_SVNT_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SENDER_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SENDER_SVNT_NTRACE == 1) */
+
+#endif /* SENDER_SVNT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/examples/Hello/Sender/starter.cpp b/TAO/CIAO/examples/Hello/Sender/starter.cpp
new file mode 100644
index 00000000000..c4f4fdd91a6
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/Sender/starter.cpp
@@ -0,0 +1,86 @@
+//$Id$:
+/**
+ * @file starter.cpp
+ *
+ * @auther Tao Lu <lu@dre.vanderbilt.edu>
+ */
+
+#include "SenderC.h"
+#include "ace/Get_Opt.h"
+
+//IOR file of the Sender
+char * ior = 0;
+char * message = "starters message";
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:m");
+ int c = 0;
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case 'm':
+ message = get_opts.opt_arg ();
+ break;
+
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s\n"
+ "-k <Sender IOR> (default is file://sender.ior)\n",
+ "-m <Message> (default is starters message)\n"
+ "\n",
+ argv [0]),
+ -1);
+ }
+
+ if (ior == 0)
+ ior = "file://sender.ior";
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
+
+ if (parse_args (argc, argv) != 0)
+ return -1;
+
+ CORBA::Object_var obj
+ = orb->string_to_object (ior
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Hello::Sender_var sender
+ = Hello::Sender::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (sender.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire Sender's objref\n"), -1);
+
+ sender->local_message (message);
+ sender->start (ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Unknown exception \n");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini
new file mode 100644
index 00000000000..c75aea61ebf
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/CIAO_Installation_Data.ini
@@ -0,0 +1,5 @@
+[ComponentInstallation]
+DCE:83d9348a-3248-445c-82c6-e38294943d65=Sender_exec
+DCE:2c16cd81-a364-4422-b9e0-ee2ebe084954=Sender_svnt
+DCE:6b6d29ca-c6e7-4823-806d-157113767331=Receiver_svnt
+DCE:34b61767-2b7d-459d-985d-ece6255275d5=Receiver_exec
diff --git a/TAO/CIAO/examples/Hello/descriptors/Receiver.csd b/TAO/CIAO/examples/Hello/descriptors/Receiver.csd
new file mode 100644
index 00000000000..041f7151e4f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Receiver.csd
@@ -0,0 +1,44 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="CIAO-Receiver" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>Receiver</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS, Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A Receiver executor implementation.</description>
+ <license href="http://www.dre.vanderbilt.edu/"/>
+ <idl id="IDL:Hello/Receiver:1.0"
+ homeid="IDL:Hello/ReceiverHome:1.0">
+ <fileinarchive name="Receiver.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Receiver.ccd"/>
+ </descriptor>
+
+ <!-- id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29" -->
+ <implementation id="DCE:34b61767-2b7d-459d-985d-ece6255275d5">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="Receiver.ssd"/>
+ <implref idref="DCE:6b6d29ca-c6e7-4823-806d-157113767331"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="Receiver_exec"/>
+ <entrypoint>createReceiverHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/Receiver.ssd b/TAO/CIAO/examples/Hello/descriptors/Receiver.ssd
new file mode 100644
index 00000000000..6653ed1641f
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Receiver.ssd
@@ -0,0 +1,41 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="CIAO-Receiver-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>componentizedSender::Receiver Servants</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS, Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A Receiver of (image) data.</description>
+ <license href="http://www.dre.vanderbilt.edu/"/>
+ <idl id="IDL:Hello/Receiver:1.0"
+ homeid="IDL:Hello/ReceiverHome:1.0">
+ <fileinarchive name="Receiver.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Receiver.ccd"/>
+ </descriptor>
+
+ <!-- id="DCE:D7984625-8561-431d-9927-4E498B317C02" -->
+ <implementation id="DCE:6b6d29ca-c6e7-4823-806d-157113767331">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="Receiver_svnt"/>
+ <entrypoint>createReceiverHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/Sender.csd b/TAO/CIAO/examples/Hello/descriptors/Sender.csd
new file mode 100644
index 00000000000..d1b5a3e9f02
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Sender.csd
@@ -0,0 +1,42 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="Sender" version="1.0">
+ <pkgtype>CORBA Component</pkgtype>
+ <title>Sender</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS Vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>A component that generates (image) data for distribution.</description>
+ <license href="http://www.dre.vanderbilt.edu"/>
+ <idl id="IDL:Hello/Sender:1.0"
+ homeid="IDL:Hello/SenderHome:1.0">
+ <fileinarchive name="Sender.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Sender.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:83d9348a-3248-445c-82c6-e38294943d65">
+
+ <!-- CIAO extension -->
+ <dependency type="CIAODLL">
+ <softpkgref>
+ <fileinarchive name="Sender.ssd"/>
+ <implref idref="DCE:2c16cd81-a364-4422-b9e0-ee2ebe084954"/>
+ </softpkgref>
+ </dependency>
+
+ <code type="DLL">
+ <fileinarchive name="Sender_exec"/>
+ <entrypoint>createSenderHome_Impl</entrypoint>
+ </code>
+
+ </implementation>
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/Sender.ssd b/TAO/CIAO/examples/Hello/descriptors/Sender.ssd
new file mode 100644
index 00000000000..c73f37efe33
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/Sender.ssd
@@ -0,0 +1,40 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
+
+<softpkg name="Sender-Servant" version="1.0">
+ <pkgtype>CIAO Servant</pkgtype>
+ <title>componentizedSender::Sender Servants</title>
+ <author>
+ <name>Tao Lu (lu@dre.vanderbilt.edu)</name>
+ <company>ISIS, vanderbilt University</company>
+ <webpage href="http://www.dre.vanderbilt.edu/"/>
+ </author>
+ <description>Sender Servant implementation.</description>
+ <license href="http://www.dre.vanderbilt.edu/"/>
+ <idl id="IDL:Hello/Sender:1.0"
+ homeid="IDL:Hello/SenderHome:1.0">
+ <fileinarchive name="Sender.idl"/>
+ </idl>
+
+ <descriptor type="CORBA Component">
+ <fileinarchive name="Sender.ccd"/>
+ </descriptor>
+
+ <implementation id="DCE:2c16cd81-a364-4422-b9e0-ee2ebe084954">
+
+ <dependency type="ORB">
+ <name>TAO</name>
+ </dependency>
+
+ <code>
+ <!-- No need to specify extension below since ACE takes care of that, -->
+ <fileinarchive name="Sender_svnt"/>
+ <entrypoint>createSenderHome_Servant</entrypoint>
+ </code>
+
+ </implementation>
+
+</softpkg>
diff --git a/TAO/CIAO/examples/Hello/descriptors/default.cad b/TAO/CIAO/examples/Hello/descriptors/default.cad
new file mode 100644
index 00000000000..697659d32f2
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/default.cad
@@ -0,0 +1,64 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Sender">
+ <fileinarchive name="Sender.csd"/>
+ </componentfile>
+
+ <componentfile id="com-Receiver">
+ <fileinarchive name="Receiver.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_SenderHome">
+ <componentfileref idref="com-Sender"/>
+ <componentinstantiation id="a_Sender">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="sender.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+
+ <homeplacement id="a_ReceiverHome">
+ <componentfileref idref="com-Receiver"/>
+ <componentinstantiation id="a_Receiver"/>
+ </homeplacement>
+ </partitioning>
+
+ <connections>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>click_in</consumesidentifier>
+ <componentinstantiationref idref="a_Receiver"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>click_out</publishesidentifier>
+ <componentinstantiationref idref="a_Sender"/>
+ </publishesport>
+ </connectevent>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>read_message</usesidentifier>
+ <componentinstantiationref idref="a_Receiver"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>push_message</providesidentifier>
+ <componentinstantiationref idref="a_Sender"/>
+ </providesport>
+ </connectinterface>
+
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Hello/descriptors/remote.cad b/TAO/CIAO/examples/Hello/descriptors/remote.cad
new file mode 100644
index 00000000000..55872bd8d84
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/remote.cad
@@ -0,0 +1,67 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Sender">
+ <fileinarchive name="Sender.csd"/>
+ </componentfile>
+
+ <componentfile id="com-Receiver">
+ <fileinarchive name="Receiver.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_SenderHome">
+ <componentfileref idref="com-Sender"/>
+ <componentinstantiation id="a_Sender">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="sender.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+
+ <processcollocation>
+ <homeplacement id="a_ReceiverHome">
+ <componentfileref idref="com-Receiver"/>
+ <componentinstantiation id="a_Receiver"/>
+ </homeplacement>
+ <destination>Remote</destination>
+ </processcollocation>
+ </partitioning>
+
+ <connections>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>click_in</consumesidentifier>
+ <componentinstantiationref idref="a_Receiver"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>click_out</publishesidentifier>
+ <componentinstantiationref idref="a_Sender"/>
+ </publishesport>
+ </connectevent>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>read_message</usesidentifier>
+ <componentinstantiationref idref="a_Receiver"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>push_message</providesidentifier>
+ <componentinstantiationref idref="a_Sender"/>
+ </providesport>
+ </connectinterface>
+
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Hello/descriptors/remote.dat b/TAO/CIAO/examples/Hello/descriptors/remote.dat
new file mode 100644
index 00000000000..0f4c4a5bba0
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/remote.dat
@@ -0,0 +1,2 @@
+Default corbaloc:iiop:URL:20000/ServerActivator
+Remote corbaloc:iiop:URL:10000/ServerActivator
diff --git a/TAO/CIAO/examples/Hello/descriptors/run_test_default.pl b/TAO/CIAO/examples/Hello/descriptors/run_test_default.pl
new file mode 100755
index 00000000000..daaa8031714
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/run_test_default.pl
@@ -0,0 +1,60 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# This is a Perl script that runs the Hello example.
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$ACE_ROOT=$ENV{'ACE_ROOT'};
+$CIAO_ROOT=$ENV{'CIAO_ROOT'};
+# amount of delay between running the servers
+$sleeptime = 1;
+$longsleeptime = 3;
+$DM_args = "-ORBEndpoint iiop://localhost:20000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer";
+$DM = new PerlACE::Process ("${CIAO_ROOT}/tools/Daemon/CIAO_Daemon", "$DM_args");
+
+$AM_args = "-o ior -c test.dat";
+$AM = new PerlACE::Process ("${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager", "$AM_args");
+
+$AD_args = "-k file://ior -a default.cad";
+$AD = new PerlACE::Process ("${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer", "$AD_args");
+
+$ST = new PerlACE::Process ("${CIAO_ROOT}/examples/Hello/Sender/starter");
+
+# Start the daemons.
+$DM->Spawn ();
+
+# Give the service time to settle
+sleep $sleeptime;
+
+# Start the Assembly_Manager
+$AM->Spawn ();
+
+# Sait till the Manager finishes writing the IOR
+sleep $longsleeptime;
+
+# Start the Assembly_Deployer
+$AD->Spawn ();
+
+# This might take a while
+sleep $longsleeptime;
+
+
+#Now start the starter for 1 times.
+#$ST->SpawnWaitKill (10);
+$ST->SpawnWaitKill (2);
+$ST->SpawnWaitKill (2);
+$ST->SpawnWaitKill (2);
+
+sleep 2;
+
+#You will see lots of errors when shutting down all services.
+#I will try to find a way to shutdown everything gracefully.
+exit $status;
diff --git a/TAO/CIAO/examples/Hello/descriptors/run_test_remote.pl b/TAO/CIAO/examples/Hello/descriptors/run_test_remote.pl
new file mode 100755
index 00000000000..0a879cb4933
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/run_test_remote.pl
@@ -0,0 +1,64 @@
+#$Id$
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# This is a Perl script that runs the Hello example.
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$ACE_ROOT=$ENV{'ACE_ROOT'};
+$CIAO_ROOT=$ENV{'CIAO_ROOT'};
+# amount of delay between running the servers
+$sleeptime = 1;
+$longsleeptime = 3;
+$DM1_args = "-ORBEndpoint iiop://localhost:20000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer";
+$DM1 = new PerlACE::Process ("${CIAO_ROOT}/tools/Daemon/CIAO_Daemon", "$DM1_args");
+
+$DM2_args = "-ORBEndpoint iiop://localhost:12000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer";
+$DM2 = new PerlACE::Process ("${CIAO_ROOT}/tools/Daemon/CIAO_Daemon", "$DM2_args");
+
+$AM_args = "-o ior -c test.dat";
+$AM = new PerlACE::Process ("${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager", "$AM_args");
+
+$AD_args = "-k file://ior -a remote.cad";
+$AD = new PerlACE::Process ("${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer", "$AD_args");
+
+$ST = new PerlACE::Process ("${CIAO_ROOT}/examples/Hello/Sender/starter");
+
+# Start the daemons.
+$DM1->Spawn ();
+$DM2->Spawn ();
+# Give the service time to settle
+sleep $sleeptime;
+
+# Start the Assembly_Manager
+$AM->Spawn ();
+
+# Sait till the Manager finishes writing the IOR
+sleep $longsleeptime;
+
+# Start the Assembly_Deployer
+$AD->Spawn ();
+
+# This might take a while
+sleep $longsleeptime;
+
+
+#Now start the starter for 1 times.
+
+$ST->SpawnWaitKill (2);
+
+$ST->SpawnWaitKill (2);
+
+$ST->SpawnWaitKill (2);
+
+sleep 2;
+
+exit $status;
diff --git a/TAO/CIAO/examples/Hello/descriptors/test.cad b/TAO/CIAO/examples/Hello/descriptors/test.cad
new file mode 100644
index 00000000000..304576d568a
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/test.cad
@@ -0,0 +1,33 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Receiver">
+ <fileinarchive name="Receiver.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_ReceiverHome">
+ <componentfileref idref="com-Receiver"/>
+ <componentinstantiation id="a_Receiver">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="receiver.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+
+ </partitioning>
+
+ <connections>
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Hello/descriptors/test.dat b/TAO/CIAO/examples/Hello/descriptors/test.dat
new file mode 100644
index 00000000000..087a2a967e4
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/test.dat
@@ -0,0 +1,2 @@
+Default corbaloc:iiop:localhost:20000/ServerActivator
+Remote corbaloc:iiop:localhost:12000/ServerActivator
diff --git a/TAO/CIAO/examples/Hello/descriptors/test1.cad b/TAO/CIAO/examples/Hello/descriptors/test1.cad
new file mode 100644
index 00000000000..241a7221042
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/descriptors/test1.cad
@@ -0,0 +1,32 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- This file must be pre-processed for final location based on $CIAO_ROOT -->
+<!DOCTYPE componentassembly SYSTEM "../../../docs/XML/componentassembly.dtd">
+
+
+<componentassembly id="componentized assembly">
+ <componentfiles>
+
+ <componentfile id="com-Sender">
+ <fileinarchive name="Sender.csd"/>
+ </componentfile>
+
+ </componentfiles>
+
+ <partitioning>
+
+ <homeplacement id="a_SenderHome">
+ <componentfileref idref="com-Sender"/>
+ <registercomponent>
+ <writeiortofile name="sender.ior"/>
+ </registercomponent>
+ <componentinstantiation id="a_Sender"/>
+ </homeplacement>
+
+ </partitioning>
+
+ <connections>
+
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Hello/step-by-step.html b/TAO/CIAO/examples/Hello/step-by-step.html
new file mode 100644
index 00000000000..cffe50e6f40
--- /dev/null
+++ b/TAO/CIAO/examples/Hello/step-by-step.html
@@ -0,0 +1,161 @@
+<!--//$Id$ -->
+<!--Made by lut <lu@dre.vanderbilt.edu>-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Step-By-Step of How to build a CIAO application</title>
+</head>
+
+<body
+ text = "#000000"
+ link = "#000fff"
+ vLink= "#ff0f0f"
+ aLink = "#0000ff"
+ bgColor = "#ffffff">
+
+<hr>
+<h2>Simple <a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a> tutorial</h2>
+<hr>
+<b>Note:</b>
+<li><a href="http://www.dre.vanderbilt.edu/cosmic">CoSMIC</a> tools are not used in this tutorial.</li>
+<li>This is only a <em>GENERAL</em> way of building up a CIAO application. The user could always change the process in his own way. For example: the IDL file content, the project structure etc.</li>
+<li>To download the code please refer to the CVS repository at <code>$CIAO_ROOT/examples/Hello</code>.</li>
+<li>If you just want to try the example you could jump to the <em>Make</em> then the <em>Run</em> section.</li>
+<hr>
+
+<h2>Example Description</h2>
+This Hello example is contructed in the following ways:
+<li>1. There are 2 components in the system: Sender and Receiver</li>
+<li>2. The Sender will send out the timeout event to the Receiver.</li>
+<li>3. Upon receiving the timeout event, the Receiver will go and fetch data from the Sender. </li>
+<hr>
+
+<h2>Step-By-Step</h2>
+<hr>
+<ul><h3>Hello_Base</h3>
+<li>1. Write an IDL file (<code>Hello_Base.idl</code>) which contains all the interfaces and events common to all the components. The reason we do this is becuse the generated lib of this idl file will be linked in by all the components in the system. To reduce the size of the component lib we have to include only the necesary part. In this example, we have an eventtype <code>timeout</code> and an interface <code>message</code>, which are used by both the Sender and the Receiver, so we put both of them in Hello.idl.</li>
+
+<li>2. Use <code>$CIAO_ROOT/bin/generate_component_mpc.pl -n Hello_Base</code> to generate the <a href="http://downloads.ociweb.com/MPC/MakeProjectCreator.pdf">MPC</a> file for ITS_Base. Note: There are only 2 projects in the mpc file, Hello_stub and Hello_svnt.</li>
+
+<li>3. Open the mpc file and follow the instructions below</li>
+<ul>For the project <code>Hello_Base_svnt</code>:
+ <li>Change the parent prject from <code>ciao_svnt</strong> to <code>ciao_server.</strong></li>
+ <li>Delete the <code>IDL_Files</code> and <code>CIDL_Files</code> part.</li>
+ <li>Delete all the files in the <code>Source_File</code> part except <code>Hello_BaseS.cpp.</code></li>
+</ul>
+
+<li>4. Follow the instruction from the output of the last step, use the perl script (<code>generate_export_file.pl</code>) to generate the Export files.</li>
+</ul>
+
+<hr>
+
+<ul><h3>For Every Components</h3>
+
+<li>1. Use: <br>
+<ul>
+<code>$CIAO_ROOT/bin/generate_component_mpc.pl -p Hello_Base Sender <br>
+ $$CIAO_ROOT/bin/generate_component_mpc.pl -p Hello_Base Receiver
+</code><br></ul>
+Note:
+<ul>
+<li>I have different directories for <code>Hello_Base/Sender/Receiver</code> respectively.</li>
+<li>For the <code>_exec</code> part of the mpc file(I user Sender here as an exmaple):</li>
+<ul>
+ Add <code>SenderEI.idl</code> to the <code>IDL_Files</code> <br>
+ Add <code>SenderEIC.cpp</code> to the <code>Source_Files</code>
+</ul>
+
+<li>For every <code>_stub</code> project, add:<br>
+ <code>"libs += Hello_Base_stub"</code><br>
+
+</ul>
+
+<li>2. Use the export script to generate the export files(3 files per compoennt).</li>
+
+<li>3. Write an idl file for every compoent. Here you can put the component specific IDL definitions in this file. In this example we have a interface <code>trigger</code> specific to the Sender.</li>
+
+<li>4. Write the EI.idl file for every component. This file defines the local interfaces for the component.
+ <br>Note: This file could be ignored if one wants to.(For example: $CIAO_ROOT/docs/tutorial/Hello.) In some cases this file <strong>MUST be used with caution</strong>. Please see the discussion about this issue at <a href="http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1672">bugzilla</a>.</li>
+
+<li>5. Write the CIDL file for every component.</li>
+
+<li>6. Write <code>_exec.h</code> and <code>_exec.cpp</code> files which actually implement the compnent.</li>
+<br>
+Writing all those files could be troublesome to a new CCM user. The best way of learning this is to read the example source code. If you are familliar with CORBA programming, it should not take too much time before you can delcare yourself as a CIAO programmer.
+
+<hr>
+
+<h3>The Entry Point</h3>
+After both components are implemented we still need a small program to initialize the process. In Sender.idl there is a Sender specific interface with a single method in it created for this purpose. Hence I created a TAO application called starter. The starter will call on a sepcial trigger interface on the Sender to get the whole process started. The starter program should collocate with Sender because it reads in the ior of the Sender. Please see the the last part of <code>Hello/Sender/Sender.mpc</code> file for detial.
+
+<hr>
+
+<h3>Make</h3>
+<li>Go to the top directory of your workspace and do:<br>
+ <code>$ACE_ROOT/bin/mwc.pl</code>(use -type option if you are on Windows)</li>
+<li>Look at the generated Makefile(*inx) , Solution/workspace file(Windows) and you got it.</li>
+
+<hr>
+
+<h3>Assemble</h3>
+Now we can step forward to build the assembly. Here we are going to build the simplest case only, which is 1 Receiver and 1 Sender. If you are interested in CIAO you could try 1 Sender wich multiple Receiver. However, you need to change the Sender.idl to make it <em>pulishes</em> timeout event instead of <em>emits</em> event.
+
+<br>
+
+<li>1. Make a new directory with name <em>descriptors</em> in your workspace</li>
+<li>2. Construct the <em>CIAO_Installation_Data.ini</em> file. You can use <code>uuidgen</code> to generate the UUIDs</li>
+
+<li>3. For every component generate the <em>.csd</em> and <em>.ssd</em> files. Follow the example carefully and make sure that you use the right UUIDs</li>
+
+<li>4. Write the <em>.cad</em> file which describes the assembly. You can choose to use <a href="http://www.dre.vanderbilt.edu/~lu/CADML">CADML</a> to generate the file.
+<br>
+Note: Please pay attention to the inter-relationship among different files, especially the relationship between the <em>.cad</em> file and <em>idl</em> file.
+</li>
+
+<hr>
+<h3>Run</h3>
+Finally you are ready to test the application you have made.
+<br><br>
+1. Run the example with a single CIAO_Daemon
+<ul>
+In <code>./descriptors</code> directory: <code>./run_test_default.pl</code> dose the following for you.
+<li>1. <code>${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:20000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer </code></li>
+<li>2. <code>${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat</code></li>
+<li>3. <code>${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a default.cad</code></li>
+<li>4. <code>../Sender/starter</code> Note: you can repeat this step.</li>
+</ul>
+<br>
+
+2. Run the example with 2 CIAO_Daemons but on the same machine.
+<ul>
+ In <code>./descriptors</code> directory: <code>./run_test_remote.pl</code> dose the following for you.
+ <li>1. <code>${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:20000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer </code></li>
+ <li>2. <code>${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:12000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer </code></li>
+ <li>3. <code>${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat</code></li>
+ <li>4. <code>${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a remote.cad</code></li>
+ <li>5. <code>../Sender/starter</code> Note: you can repeat this step.</li>
+</ul>
+
+
+<br>
+
+3. Run the example with 2 CIAO_Daemons on two different hosts.
+<ul>
+ In <code>./descriptors</code> directory:<br>
+ Here you have to open the <em>remote.dat</em> and fill in the right URL for your hosts. You can change the port number as well, of course you will have to use the corresponding right address in your -ORBEndpoint option in the following step1 and 2.
+
+ <li>1. On host "Default" <code>${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://URL:20000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer </code></li>
+ <li>2. On host "Remote" <code>${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://URL:12000 -n ${CIAO_ROOT}/tools/ComponentServer/ComponentServer </code></li>
+ For step 3 and step4 it doesn't matter where they are executed.
+ <li>3. <code>${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat</code></li>
+ <li>4. <code>${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a remote.cad</code></li>
+ Step5 must be executed on the same host where the Sender is deployed. If you are using my <em>remote.cad</em> file then the host is the <code>Default</code> one.
+ <li>5. <code>../Sender/starter</code> Note: you can repeat this step.</li>
+</ul>
+
+<br>
+If you are interested you could try to deploy multiple instances of the Receiver.
+<hr>
+<b>Email: </b><a href="mailto:"</a<ADDRESS>ciao-users@cse.wustl.edu</ADDRESS>
+</body>
+</html>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/DualDisplay.cad b/TAO/CIAO/examples/OEP/Display/descriptors/DualDisplay.cad
new file mode 100644
index 00000000000..6707868b2cc
--- /dev/null
+++ b/TAO/CIAO/examples/OEP/Display/descriptors/DualDisplay.cad
@@ -0,0 +1,114 @@
+<?xml version="1.0"?> <!-- -*- SGML -*- -->
+
+<!-- If this file is moved to a different directory, make sure to change the
+ path to the DTD below. Otherwise the examples won't work. -->
+<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
+
+<componentassembly id="Single-process HUDisplay assembly">
+ <componentfiles>
+ <componentfile id="com-RateGen">
+ <fileinarchive name="RateGen.csd"/>
+ </componentfile>
+ <componentfile id="com-GPS">
+ <fileinarchive name="GPS_tracing.csd"/>
+ </componentfile>
+ <componentfile id="com-NavDisplay">
+ <fileinarchive name="NavDisplay.csd"/>
+ </componentfile>
+ <componentfile id="com-NavDisplayGUI">
+ <fileinarchive name="NavDisplayGUI.csd"/>
+ </componentfile>
+ </componentfiles>
+
+ <partitioning>
+
+ <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
+ <homeplacement id="a_RateGenHome">
+ <componentfileref idref="com-RateGen"/>
+ <componentinstantiation id="a_RateGen">
+ <registercomponent>
+ <!-- writeiortofile is a non-standard CIAO extension. -->
+ <writeiortofile name="rategen.ior"/>
+ </registercomponent>
+ </componentinstantiation>
+ </homeplacement>
+
+ <homeplacement id="a_GPSHome">
+ <componentfileref idref="com-GPS"/>
+ <componentinstantiation id="a_GPS"/>
+ </homeplacement>
+
+ <homeplacement id="a_NavDisplayHome">
+ <componentfileref idref="com-NavDisplay"/>
+ <componentinstantiation id="a_NavDisplay"/>
+ </homeplacement>
+
+ <processcollocation>
+ <homeplacement id="a_NavDisplayGUIHome">
+ <componentfileref idref="com-NavDisplayGUI"/>
+ <componentinstantiation id="a_NavDisplayGUI"/>
+ </homeplacement>
+ <destination>Remote</destination>
+ </processcollocation>
+ </partitioning>
+
+ <connections>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>Refresh</consumesidentifier>
+ <componentinstantiationref idref="a_GPS"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>Pulse</publishesidentifier>
+ <componentinstantiationref idref="a_RateGen"/>
+ </publishesport>
+ </connectevent>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>Refresh</consumesidentifier>
+ <componentinstantiationref idref="a_NavDisplay"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>Ready</publishesidentifier>
+ <componentinstantiationref idref="a_GPS"/>
+ </publishesport>
+ </connectevent>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>GPSLocation</usesidentifier>
+ <componentinstantiationref idref="a_NavDisplay"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>MyLocation</providesidentifier>
+ <componentinstantiationref idref="a_GPS"/>
+ </providesport>
+ </connectinterface>
+
+ <connectevent>
+ <consumesport>
+ <consumesidentifier>Refresh</consumesidentifier>
+ <componentinstantiationref idref="a_NavDisplayGUI"/>
+ </consumesport>
+ <publishesport>
+ <publishesidentifier>Ready</publishesidentifier>
+ <componentinstantiationref idref="a_GPS"/>
+ </publishesport>
+ </connectevent>
+
+ <connectinterface>
+ <usesport>
+ <usesidentifier>GPSLocation</usesidentifier>
+ <componentinstantiationref idref="a_NavDisplayGUI"/>
+ </usesport>
+ <providesport>
+ <providesidentifier>MyLocation</providesidentifier>
+ <componentinstantiationref idref="a_GPS"/>
+ </providesport>
+ </connectinterface>
+
+ </connections>
+
+</componentassembly>
diff --git a/TAO/CIAO/examples/Philosophers/Philosophers.idl b/TAO/CIAO/examples/Philosophers/Philosophers.idl
new file mode 100644
index 00000000000..7a29bc03c23
--- /dev/null
+++ b/TAO/CIAO/examples/Philosophers/Philosophers.idl
@@ -0,0 +1,75 @@
+// $Id$
+
+// The famous Dining Philosopher example in CCM tutorial slides
+
+module Example
+{
+ exception InUse {};
+
+ interface Fork
+ /**
+ * Provided facet interface definition.
+ * It should be defined by the IDL file.
+ */
+ {
+ void get () raises (InUse);
+
+ void release ();
+ };
+
+ component ForkManager
+ {
+ provides Fork the_fork;
+ };
+
+ home ForkHome manages ForkManager
+ {
+ };
+
+ enum PhilosopherState
+ {
+ EATING,
+ THINKING,
+ HUNGRY,
+ STARVING,
+ DEAD
+ };
+
+ eventtype StatusInfo
+ {
+ public string name;
+ public PhilosopherState state;
+ public unsigned long ticks_since_last_meal;
+ public boolean has_left_fork;
+ public boolean has_right_fork;
+ };
+
+ component Philosopher
+ {
+ attribute string name;
+
+ // The left fork receptacle.
+ uses Fork left;
+
+ // The right fork receptacle.
+ uses Fork right;
+
+ // The status info event source.
+ publishes StatusInfo info;
+ };
+
+ home PhilosopherHome manages Philosopher
+ {
+ factory new (in string name);
+ };
+
+ component Observer
+ {
+ // The status info sink port.
+ consumes StatusInfo info;
+ };
+
+ home ObserverHome manages Observer
+ {
+ };
+};
diff --git a/TAO/CIAO/examples/Philosophers/README b/TAO/CIAO/examples/Philosophers/README
new file mode 100644
index 00000000000..96a56e61b73
--- /dev/null
+++ b/TAO/CIAO/examples/Philosophers/README
@@ -0,0 +1 @@
+This example is unfinished. \ No newline at end of file
diff --git a/TAO/CIAO/performance-tests/Benchmark/descriptors/NOTE.txt b/TAO/CIAO/performance-tests/Benchmark/descriptors/NOTE.txt
new file mode 100644
index 00000000000..7bcd2fbfade
--- /dev/null
+++ b/TAO/CIAO/performance-tests/Benchmark/descriptors/NOTE.txt
@@ -0,0 +1,65 @@
+This directory contains various XML descriptors and configuration
+files required to run benchmarking experiments using CIAO in
+different ways. Let's go over a few important files first:
+
+test.dat:
+---------
+
+ This file describes the deployment daemons CIAO's Assembly_Manager
+ will contact to instantiate ComponentServer's, home's, and component
+ instances. Each line specify the name of a installation
+ "destination" (I used this to specify <processcollocation>
+ destination in various *.cad files) and the corresponding IOR for
+ the CIAO_Daemon. The first entry is the "default" destination the
+ deployment framework will use.
+
+ For example, test.dat now contains:
+
+ Default corbaloc:iiop:localhost:10000/ServerActivator
+ Remote corbaloc:iiop:localhost:12000/ServerActivator
+
+ You can copy and modify the copy to deploy the components in various
+ different locations to let the application truely "distributed".
+ For example, changing the remote ServerActivator to:
+ corbaloc:iiop:deuce.doc.wustl.edu:13000/ServerActivator
+
+ Remember to start up the Assembly_Manager in Step 2 using the
+ revised "test.dat" you created, and start up the CIAO_Daemon's in
+ Step 1 according to the specification.
+
+*.cad:
+------
+
+ These files specify how an application should be composed. The
+ specification includes, where to install a component, what
+ implementation to use, and how to connect components together.
+ Currently, we have:
+
+ Benchmark.cad: Plain vanilla assembly descriptor. This file installs
+ the RoundTrip component on the location given in test.dat.
+ RoundTripClient.cad : A descriptor file for the client component
+ RoundTripClient that uses the interface provided by
+ RoundTrip.
+ Test-IOR.cad: This cad file should be used to for testing a CORBA server
+ with a CIAO client. The IOR of the server should added in
+ this file.
+
+There are automated perl scripts that can run the tests to generate the
+required results. These are located in the individual component directories
+Round Trip and RoundTripClient. The descriptors directory has the required
+.cad files that specify the component configuration used in the various
+experiments.
+
+To run a simple CORBA component with a normal client:
+ cd descriptors;
+ ../Roundtrip/run_test.pl
+
+ cd descritors;
+ ../RoundTripClient/run_test.pl
+ Script that runs two components one acts as a client and the other as the
+ server. Statistics are printed for RoundTrip latency jitter etc
+
+ cd descritors;
+ ../RoundTripClient/run_test_ior_cad.pl
+ Script runs a CORBA server and a CIAO component that acts as a client.
+ Similar statistics are printed.
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Makefile b/TAO/CIAO/tools/Assembly_Deployer/Makefile
new file mode 100644
index 00000000000..73d73ab0c3f
--- /dev/null
+++ b/TAO/CIAO/tools/Assembly_Deployer/Makefile
@@ -0,0 +1,69 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.Assembly_Deployer all.Assembly_Manager
+
+debug: debug.Assembly_Deployer debug.Assembly_Manager
+
+profile: profile.Assembly_Deployer profile.Assembly_Manager
+
+optimize: optimize.Assembly_Deployer optimize.Assembly_Manager
+
+install: install.Assembly_Deployer install.Assembly_Manager
+
+deinstall: deinstall.Assembly_Deployer deinstall.Assembly_Manager
+
+clean: clean.Assembly_Deployer clean.Assembly_Manager
+
+realclean: realclean.Assembly_Deployer realclean.Assembly_Manager
+
+clobber: clobber.Assembly_Deployer clobber.Assembly_Manager
+
+depend: depend.Assembly_Deployer depend.Assembly_Manager
+
+rcs_info: rcs_info.Assembly_Deployer rcs_info.Assembly_Manager
+
+idl_stubs: idl_stubs.Assembly_Deployer idl_stubs.Assembly_Manager
+
+Assembly_Deployer: all.Assembly_Deployer
+
+%.Assembly_Deployer:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Assembly_Deployer -C . $(*);
+else
+ @$(MAKE) -f Makefile.Assembly_Deployer -C . $(*);
+endif
+
+Assembly_Manager: all.Assembly_Manager
+
+%.Assembly_Manager: %.Assembly_Deployer
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Assembly_Manager -C . $(*);
+else
+ @$(MAKE) -f Makefile.Assembly_Manager -C . $(*);
+endif
+
+
+reverseclean: realclean.Assembly_Manager realclean.Assembly_Deployer
+
+project_name_list:
+ @echo Assembly_Deployer
+ @echo Assembly_Manager
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Deployer b/TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Deployer
new file mode 100644
index 00000000000..7c602b21134
--- /dev/null
+++ b/TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Deployer
@@ -0,0 +1,717 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Assembly_Deployer
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Assembly_Deployer
+BIN_UNCHECKED = Assembly_Deployer
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = Assembly_Service
+
+FILES = \
+ Assembly_ServiceC \
+ Assembly_Deployer
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Assembly_Deployer
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Assembly_ServiceC.o .obj/Assembly_ServiceC.so .shobj/Assembly_ServiceC.o .shobj/Assembly_ServiceC.so: Assembly_ServiceC.cpp Assembly_ServiceC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ Assembly_ServiceC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/Assembly_Deployer.o .obj/Assembly_Deployer.so .shobj/Assembly_Deployer.o .shobj/Assembly_Deployer.so: Assembly_Deployer.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ Assembly_ServiceC.h Assembly_ServiceC.i \
+ $(TAO_ROOT)/CIAO/ciao/Client_init.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/streams.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Manager b/TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Manager
new file mode 100644
index 00000000000..5109686a436
--- /dev/null
+++ b/TAO/CIAO/tools/Assembly_Deployer/Makefile.Assembly_Manager
@@ -0,0 +1,2633 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Assembly_Manager
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Assembly_Manager
+BIN_UNCHECKED = Assembly_Manager
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = Assembly_Service
+
+FILES = \
+ Assembly_ServiceC \
+ Assembly_ServiceS \
+ Assembly_Impl \
+ Assembly_Visitors \
+ Deployment_Configuration \
+ Assembly_Manager \
+ Assembly_Service_Impl
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_XML_Helpers -lTAO_RTCORBA -lTAO_IORTable -lACEXML_Parser -lACEXML -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Assembly_Manager
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq ($(rt_corba),1)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+else
+ all: require_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(ACE_ROOT)/ACEXML/common -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../XML_Helpers -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Assembly_ServiceC.o .obj/Assembly_ServiceC.so .shobj/Assembly_ServiceC.o .shobj/Assembly_ServiceC.so: Assembly_ServiceC.cpp Assembly_ServiceC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ Assembly_ServiceC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+.obj/Assembly_ServiceS.o .obj/Assembly_ServiceS.so .shobj/Assembly_ServiceS.o .shobj/Assembly_ServiceS.so: Assembly_ServiceS.cpp Assembly_ServiceS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ Assembly_ServiceC.h Assembly_ServiceC.i Assembly_ServiceS_T.h \
+ Assembly_ServiceS_T.i Assembly_ServiceS_T.cpp Assembly_ServiceS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Assembly_Impl.o .obj/Assembly_Impl.so .shobj/Assembly_Impl.o .shobj/Assembly_Impl.so: Assembly_Impl.cpp Assembly_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ ../XML_Helpers/Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ ../XML_Helpers/XML_Helpers_Export.h ../XML_Helpers/Assembly_Spec.inl \
+ Deployment_Configuration.h Deployment_Configuration.inl \
+ Assembly_Visitors.h Assembly_Visitors.inl Assembly_Impl.inl \
+ $(TAO_ROOT)/CIAO/ciao/Cookies.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ValueC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ValueC.i \
+ $(TAO_ROOT)/CIAO/ciao/Cookies.inl \
+ ../XML_Helpers/XML_Utils.h ../XML_Helpers/Softpkg_Handlers.h \
+ ../XML_Helpers/Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ ../XML_Helpers/Cascadable_DocHandler.i \
+ ../XML_Helpers/Softpkg_Handlers.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ ../XML_Helpers/RTConfigurationC.h ../XML_Helpers/RTConfigurationC.i \
+ ../XML_Helpers/XML_Utils.inl
+
+.obj/Assembly_Visitors.o .obj/Assembly_Visitors.so .shobj/Assembly_Visitors.o .shobj/Assembly_Visitors.so: Assembly_Visitors.cpp Assembly_Visitors.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ ../XML_Helpers/Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ ../XML_Helpers/XML_Helpers_Export.h ../XML_Helpers/Assembly_Spec.inl \
+ Deployment_Configuration.h Deployment_Configuration.inl \
+ Assembly_Visitors.inl ../XML_Helpers/XML_Utils.h \
+ ../XML_Helpers/Softpkg_Handlers.h \
+ ../XML_Helpers/Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ ../XML_Helpers/Cascadable_DocHandler.i \
+ ../XML_Helpers/Softpkg_Handlers.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ ../XML_Helpers/RTConfigurationC.h ../XML_Helpers/RTConfigurationC.i \
+ ../XML_Helpers/XML_Utils.inl
+
+.obj/Deployment_Configuration.o .obj/Deployment_Configuration.so .shobj/Deployment_Configuration.o .shobj/Deployment_Configuration.so: Deployment_Configuration.cpp \
+ Deployment_Configuration.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ Deployment_Configuration.inl
+
+.obj/Assembly_Manager.o .obj/Assembly_Manager.so .shobj/Assembly_Manager.o .shobj/Assembly_Manager.so: Assembly_Manager.cpp Assembly_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ ../XML_Helpers/Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ ../XML_Helpers/XML_Helpers_Export.h ../XML_Helpers/Assembly_Spec.inl \
+ Deployment_Configuration.h Deployment_Configuration.inl \
+ Assembly_Visitors.h Assembly_Visitors.inl Assembly_Impl.inl \
+ Assembly_Service_Impl.h Assembly_ServiceS.h Assembly_ServiceC.h \
+ Assembly_ServiceC.i Assembly_ServiceS_T.h Assembly_ServiceS_T.i \
+ Assembly_ServiceS_T.cpp Assembly_ServiceS.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.i \
+ $(TAO_ROOT)/CIAO/ciao/Server_init.h \
+ $(TAO_ROOT)/tao/IORTable/IORTable.h \
+ $(TAO_ROOT)/tao/IORTable/iortable_export.h \
+ $(TAO_ROOT)/tao/IORTable/IORTableC.h \
+ $(TAO_ROOT)/tao/IORTable/IORTableC.i \
+ $(ACE_ROOT)/ace/Read_Buffer.h \
+ $(ACE_ROOT)/ace/Read_Buffer.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Assembly_Service_Impl.o .obj/Assembly_Service_Impl.so .shobj/Assembly_Service_Impl.o .shobj/Assembly_Service_Impl.so: Assembly_Service_Impl.cpp \
+ Assembly_Service_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ Assembly_ServiceS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ Assembly_ServiceC.h Assembly_ServiceC.i Assembly_ServiceS_T.h \
+ Assembly_ServiceS_T.i Assembly_ServiceS_T.cpp Assembly_ServiceS.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/ComponentServer/Makefile b/TAO/CIAO/tools/ComponentServer/Makefile
new file mode 100644
index 00000000000..880fd0453e6
--- /dev/null
+++ b/TAO/CIAO/tools/ComponentServer/Makefile
@@ -0,0 +1,69 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.ComponentServer all.ComponentServer_test_client
+
+debug: debug.ComponentServer debug.ComponentServer_test_client
+
+profile: profile.ComponentServer profile.ComponentServer_test_client
+
+optimize: optimize.ComponentServer optimize.ComponentServer_test_client
+
+install: install.ComponentServer install.ComponentServer_test_client
+
+deinstall: deinstall.ComponentServer deinstall.ComponentServer_test_client
+
+clean: clean.ComponentServer clean.ComponentServer_test_client
+
+realclean: realclean.ComponentServer realclean.ComponentServer_test_client
+
+clobber: clobber.ComponentServer clobber.ComponentServer_test_client
+
+depend: depend.ComponentServer depend.ComponentServer_test_client
+
+rcs_info: rcs_info.ComponentServer rcs_info.ComponentServer_test_client
+
+idl_stubs: idl_stubs.ComponentServer idl_stubs.ComponentServer_test_client
+
+ComponentServer: all.ComponentServer
+
+%.ComponentServer:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ComponentServer -C . $(*);
+else
+ @$(MAKE) -f Makefile.ComponentServer -C . $(*);
+endif
+
+ComponentServer_test_client: all.ComponentServer_test_client
+
+%.ComponentServer_test_client:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ComponentServer_test_client -C . $(*);
+else
+ @$(MAKE) -f Makefile.ComponentServer_test_client -C . $(*);
+endif
+
+
+reverseclean: realclean.ComponentServer_test_client realclean.ComponentServer
+
+project_name_list:
+ @echo ComponentServer
+ @echo ComponentServer_test_client
diff --git a/TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer b/TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer
new file mode 100644
index 00000000000..c55f07766a3
--- /dev/null
+++ b/TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer
@@ -0,0 +1,433 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.ComponentServer
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.ComponentServer
+BIN_UNCHECKED = ComponentServer
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ ComponentServer
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_IORTable -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/ComponentServer
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ComponentServer.o .obj/ComponentServer.so .shobj/ComponentServer.o .shobj/ComponentServer.so: ComponentServer.cpp \
+ $(TAO_ROOT)/CIAO/ciao/ComponentServer_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.inl \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/ComponentServer_Impl.inl \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.i \
+ $(TAO_ROOT)/CIAO/ciao/Server_init.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer_test_client b/TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer_test_client
new file mode 100644
index 00000000000..07167701d11
--- /dev/null
+++ b/TAO/CIAO/tools/ComponentServer/Makefile.ComponentServer_test_client
@@ -0,0 +1,394 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.ComponentServer_test_client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.ComponentServer_test_client
+BIN_UNCHECKED = ComponentServer_test_client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ ComponentServer_test_client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/ComponentServer_test_client
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ComponentServer_test_client.o .obj/ComponentServer_test_client.so .shobj/ComponentServer_test_client.o .shobj/ComponentServer_test_client.so: ComponentServer_test_client.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/Client_init.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Daemon/Makefile b/TAO/CIAO/tools/Daemon/Makefile
new file mode 100644
index 00000000000..ce281b4e209
--- /dev/null
+++ b/TAO/CIAO/tools/Daemon/Makefile
@@ -0,0 +1,69 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.DaemonController all.CIAO_Daemon
+
+debug: debug.DaemonController debug.CIAO_Daemon
+
+profile: profile.DaemonController profile.CIAO_Daemon
+
+optimize: optimize.DaemonController optimize.CIAO_Daemon
+
+install: install.DaemonController install.CIAO_Daemon
+
+deinstall: deinstall.DaemonController deinstall.CIAO_Daemon
+
+clean: clean.DaemonController clean.CIAO_Daemon
+
+realclean: realclean.DaemonController realclean.CIAO_Daemon
+
+clobber: clobber.DaemonController clobber.CIAO_Daemon
+
+depend: depend.DaemonController depend.CIAO_Daemon
+
+rcs_info: rcs_info.DaemonController rcs_info.CIAO_Daemon
+
+idl_stubs: idl_stubs.DaemonController idl_stubs.CIAO_Daemon
+
+DaemonController: all.DaemonController
+
+%.DaemonController:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.DaemonController -C . $(*);
+else
+ @$(MAKE) -f Makefile.DaemonController -C . $(*);
+endif
+
+CIAO_Daemon: all.CIAO_Daemon
+
+%.CIAO_Daemon: %.DaemonController
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.CIAO_Daemon -C . $(*);
+else
+ @$(MAKE) -f Makefile.CIAO_Daemon -C . $(*);
+endif
+
+
+reverseclean: realclean.CIAO_Daemon realclean.DaemonController
+
+project_name_list:
+ @echo DaemonController
+ @echo CIAO_Daemon
diff --git a/TAO/CIAO/tools/Daemon/Makefile.CIAO_Daemon b/TAO/CIAO/tools/Daemon/Makefile.CIAO_Daemon
new file mode 100644
index 00000000000..5c846d78fc7
--- /dev/null
+++ b/TAO/CIAO/tools/Daemon/Makefile.CIAO_Daemon
@@ -0,0 +1,1523 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.CIAO_Daemon
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.CIAO_Daemon
+BIN_UNCHECKED = CIAO_Daemon
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = Daemon
+
+FILES = \
+ DaemonC \
+ DaemonS \
+ Daemon_Impl \
+ CIAO_Daemon
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_IORTable -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/CIAO_Daemon
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/DaemonC.o .obj/DaemonC.so .shobj/DaemonC.o .shobj/DaemonC.so: DaemonC.cpp DaemonC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/DaemonS.o .obj/DaemonS.so .shobj/DaemonS.o .shobj/DaemonS.so: DaemonS.cpp DaemonS.h \
+ $(ACE_ROOT)/ace/pre.h DaemonC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ DaemonS_T.h DaemonS_T.i DaemonS_T.cpp DaemonS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Daemon_Impl.o .obj/Daemon_Impl.so .shobj/Daemon_Impl.o .shobj/Daemon_Impl.so: Daemon_Impl.cpp Daemon_Impl.h \
+ $(ACE_ROOT)/ace/pre.h DaemonS.h \
+ DaemonC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ DaemonS_T.h DaemonS_T.i DaemonS_T.cpp DaemonS.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ Daemon_Impl.inl
+
+.obj/CIAO_Daemon.o .obj/CIAO_Daemon.so .shobj/CIAO_Daemon.o .shobj/CIAO_Daemon.so: CIAO_Daemon.cpp \
+ $(TAO_ROOT)/CIAO/ciao/ServerActivator_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS.i \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.inl \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/ServerActivator_Impl.inl \
+ $(TAO_ROOT)/CIAO/ciao/ComponentInstallation_Impl.h \
+ $(ACE_ROOT)/ace/Configuration.h \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(TAO_ROOT)/CIAO/ciao/ComponentInstallation_Impl.inl \
+ Daemon_Impl.h DaemonS.h DaemonC.h DaemonC.i DaemonS_T.h DaemonS_T.i \
+ DaemonS_T.cpp DaemonS.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ Daemon_Impl.inl \
+ $(TAO_ROOT)/CIAO/ciao/Server_init.h \
+ $(TAO_ROOT)/tao/IORTable/IORTable.h \
+ $(TAO_ROOT)/tao/IORTable/iortable_export.h \
+ $(TAO_ROOT)/tao/IORTable/IORTableC.h \
+ $(TAO_ROOT)/tao/IORTable/IORTableC.i \
+ $(ACE_ROOT)/ace/Read_Buffer.h \
+ $(ACE_ROOT)/ace/Read_Buffer.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Daemon/Makefile.DaemonController b/TAO/CIAO/tools/Daemon/Makefile.DaemonController
new file mode 100644
index 00000000000..fcf14846295
--- /dev/null
+++ b/TAO/CIAO/tools/Daemon/Makefile.DaemonController
@@ -0,0 +1,1487 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.DaemonController
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.DaemonController
+BIN_UNCHECKED = DaemonController
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = Daemon
+
+FILES = \
+ DaemonC \
+ DaemonController \
+ controller_i \
+ Daemon_Commands \
+ Softpkg_Commands
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_XML_Helpers -lTAO_RTCORBA -lACEXML_Parser -lACEXML -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/DaemonController
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq ($(rt_corba),1)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+else
+ all: require_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(ACE_ROOT)/ACEXML/common -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../XML_Helpers -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/DaemonC.o .obj/DaemonC.so .shobj/DaemonC.o .shobj/DaemonC.so: DaemonC.cpp DaemonC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/DaemonController.o .obj/DaemonController.so .shobj/DaemonController.o .shobj/DaemonController.so: DaemonController.cpp controller_i.h \
+ $(ACE_ROOT)/ace/pre.h DaemonC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i controller_i.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/controller_i.o .obj/controller_i.so .shobj/controller_i.o .shobj/controller_i.so: controller_i.cpp controller_i.h \
+ $(ACE_ROOT)/ace/pre.h DaemonC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i controller_i.inl Daemon_Commands.h Daemon_Commands.inl \
+ Softpkg_Commands.h Softpkg_Commands.inl \
+ $(TAO_ROOT)/CIAO/ciao/Client_init.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i
+
+.obj/Daemon_Commands.o .obj/Daemon_Commands.so .shobj/Daemon_Commands.o .shobj/Daemon_Commands.so: Daemon_Commands.cpp Daemon_Commands.h \
+ $(ACE_ROOT)/ace/pre.h \
+ controller_i.h DaemonC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i controller_i.inl Daemon_Commands.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i
+
+.obj/Softpkg_Commands.o .obj/Softpkg_Commands.so .shobj/Softpkg_Commands.o .shobj/Softpkg_Commands.so: Softpkg_Commands.cpp Softpkg_Commands.h \
+ $(ACE_ROOT)/ace/pre.h \
+ controller_i.h DaemonC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ DaemonC.i controller_i.inl Softpkg_Commands.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ ../XML_Helpers/XML_Utils.h ../XML_Helpers/XML_Helpers_Export.h \
+ ../XML_Helpers/Softpkg_Handlers.h \
+ ../XML_Helpers/Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ ../XML_Helpers/Cascadable_DocHandler.i \
+ ../XML_Helpers/Softpkg_Handlers.inl ../XML_Helpers/Assembly_Spec.h \
+ ../XML_Helpers/Assembly_Spec.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ ../XML_Helpers/RTConfigurationC.h ../XML_Helpers/RTConfigurationC.i \
+ ../XML_Helpers/XML_Utils.inl
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Makefile b/TAO/CIAO/tools/Makefile
new file mode 100644
index 00000000000..d0ebb02bd37
--- /dev/null
+++ b/TAO/CIAO/tools/Makefile
@@ -0,0 +1,224 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.XML_Helpers all.Helper_Test all.Simple_Server_Stub all.Simple_Component_Server all.Simple_Component_Server_test_client all.ServerActivator \
+ all.ServerActivator_test_client all.RTComponentServer all.DaemonController all.CIAO_Daemon all.ComponentServer all.ComponentServer_test_client \
+ all.Assembly_Deployer all.Assembly_Manager
+
+debug: debug.XML_Helpers debug.Helper_Test debug.Simple_Server_Stub debug.Simple_Component_Server debug.Simple_Component_Server_test_client \
+ debug.ServerActivator debug.ServerActivator_test_client debug.RTComponentServer debug.DaemonController debug.CIAO_Daemon \
+ debug.ComponentServer debug.ComponentServer_test_client debug.Assembly_Deployer debug.Assembly_Manager
+
+profile: profile.XML_Helpers profile.Helper_Test profile.Simple_Server_Stub profile.Simple_Component_Server \
+ profile.Simple_Component_Server_test_client profile.ServerActivator profile.ServerActivator_test_client profile.RTComponentServer \
+ profile.DaemonController profile.CIAO_Daemon profile.ComponentServer profile.ComponentServer_test_client \
+ profile.Assembly_Deployer profile.Assembly_Manager
+
+optimize: optimize.XML_Helpers optimize.Helper_Test optimize.Simple_Server_Stub optimize.Simple_Component_Server \
+ optimize.Simple_Component_Server_test_client optimize.ServerActivator optimize.ServerActivator_test_client optimize.RTComponentServer \
+ optimize.DaemonController optimize.CIAO_Daemon optimize.ComponentServer optimize.ComponentServer_test_client \
+ optimize.Assembly_Deployer optimize.Assembly_Manager
+
+install: install.XML_Helpers install.Helper_Test install.Simple_Server_Stub install.Simple_Component_Server \
+ install.Simple_Component_Server_test_client install.ServerActivator install.ServerActivator_test_client install.RTComponentServer \
+ install.DaemonController install.CIAO_Daemon install.ComponentServer install.ComponentServer_test_client \
+ install.Assembly_Deployer install.Assembly_Manager
+
+deinstall: deinstall.XML_Helpers deinstall.Helper_Test deinstall.Simple_Server_Stub deinstall.Simple_Component_Server \
+ deinstall.Simple_Component_Server_test_client deinstall.ServerActivator deinstall.ServerActivator_test_client deinstall.RTComponentServer \
+ deinstall.DaemonController deinstall.CIAO_Daemon deinstall.ComponentServer deinstall.ComponentServer_test_client \
+ deinstall.Assembly_Deployer deinstall.Assembly_Manager
+
+clean: clean.XML_Helpers clean.Helper_Test clean.Simple_Server_Stub clean.Simple_Component_Server clean.Simple_Component_Server_test_client \
+ clean.ServerActivator clean.ServerActivator_test_client clean.RTComponentServer clean.DaemonController clean.CIAO_Daemon \
+ clean.ComponentServer clean.ComponentServer_test_client clean.Assembly_Deployer clean.Assembly_Manager
+
+realclean: realclean.XML_Helpers realclean.Helper_Test realclean.Simple_Server_Stub realclean.Simple_Component_Server \
+ realclean.Simple_Component_Server_test_client realclean.ServerActivator realclean.ServerActivator_test_client realclean.RTComponentServer \
+ realclean.DaemonController realclean.CIAO_Daemon realclean.ComponentServer realclean.ComponentServer_test_client \
+ realclean.Assembly_Deployer realclean.Assembly_Manager
+
+clobber: clobber.XML_Helpers clobber.Helper_Test clobber.Simple_Server_Stub clobber.Simple_Component_Server \
+ clobber.Simple_Component_Server_test_client clobber.ServerActivator clobber.ServerActivator_test_client clobber.RTComponentServer \
+ clobber.DaemonController clobber.CIAO_Daemon clobber.ComponentServer clobber.ComponentServer_test_client \
+ clobber.Assembly_Deployer clobber.Assembly_Manager
+
+depend: depend.XML_Helpers depend.Helper_Test depend.Simple_Server_Stub depend.Simple_Component_Server depend.Simple_Component_Server_test_client \
+ depend.ServerActivator depend.ServerActivator_test_client depend.RTComponentServer depend.DaemonController depend.CIAO_Daemon \
+ depend.ComponentServer depend.ComponentServer_test_client depend.Assembly_Deployer depend.Assembly_Manager
+
+rcs_info: rcs_info.XML_Helpers rcs_info.Helper_Test rcs_info.Simple_Server_Stub rcs_info.Simple_Component_Server \
+ rcs_info.Simple_Component_Server_test_client rcs_info.ServerActivator rcs_info.ServerActivator_test_client rcs_info.RTComponentServer \
+ rcs_info.DaemonController rcs_info.CIAO_Daemon rcs_info.ComponentServer rcs_info.ComponentServer_test_client \
+ rcs_info.Assembly_Deployer rcs_info.Assembly_Manager
+
+idl_stubs: idl_stubs.XML_Helpers idl_stubs.Helper_Test idl_stubs.Simple_Server_Stub idl_stubs.Simple_Component_Server \
+ idl_stubs.Simple_Component_Server_test_client idl_stubs.ServerActivator idl_stubs.ServerActivator_test_client idl_stubs.RTComponentServer \
+ idl_stubs.DaemonController idl_stubs.CIAO_Daemon idl_stubs.ComponentServer idl_stubs.ComponentServer_test_client \
+ idl_stubs.Assembly_Deployer idl_stubs.Assembly_Manager
+
+XML_Helpers: all.XML_Helpers
+
+%.XML_Helpers:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.XML_Helpers -C XML_Helpers $(*);
+else
+ @$(MAKE) -f Makefile.XML_Helpers -C XML_Helpers $(*);
+endif
+
+Helper_Test: all.Helper_Test
+
+%.Helper_Test: %.XML_Helpers
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Helper_Test -C XML_Helpers $(*);
+else
+ @$(MAKE) -f Makefile.Helper_Test -C XML_Helpers $(*);
+endif
+
+Simple_Server_Stub: all.Simple_Server_Stub
+
+%.Simple_Server_Stub:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Simple_Server_Stub -C Simple_Component_Server $(*);
+else
+ @$(MAKE) -f Makefile.Simple_Server_Stub -C Simple_Component_Server $(*);
+endif
+
+Simple_Component_Server: all.Simple_Component_Server
+
+%.Simple_Component_Server: %.Simple_Server_Stub
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Simple_Component_Server -C Simple_Component_Server $(*);
+else
+ @$(MAKE) -f Makefile.Simple_Component_Server -C Simple_Component_Server $(*);
+endif
+
+Simple_Component_Server_test_client: all.Simple_Component_Server_test_client
+
+%.Simple_Component_Server_test_client: %.Simple_Server_Stub
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Simple_Component_Server_test_client -C Simple_Component_Server $(*);
+else
+ @$(MAKE) -f Makefile.Simple_Component_Server_test_client -C Simple_Component_Server $(*);
+endif
+
+ServerActivator: all.ServerActivator
+
+%.ServerActivator:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ServerActivator -C ServerActivator $(*);
+else
+ @$(MAKE) -f Makefile.ServerActivator -C ServerActivator $(*);
+endif
+
+ServerActivator_test_client: all.ServerActivator_test_client
+
+%.ServerActivator_test_client:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ServerActivator_test_client -C ServerActivator $(*);
+else
+ @$(MAKE) -f Makefile.ServerActivator_test_client -C ServerActivator $(*);
+endif
+
+RTComponentServer: all.RTComponentServer
+
+%.RTComponentServer: %.XML_Helpers
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.RTComponentServer -C RTComponentServer $(*);
+else
+ @$(MAKE) -f Makefile.RTComponentServer -C RTComponentServer $(*);
+endif
+
+DaemonController: all.DaemonController
+
+%.DaemonController: %.XML_Helpers
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.DaemonController -C Daemon $(*);
+else
+ @$(MAKE) -f Makefile.DaemonController -C Daemon $(*);
+endif
+
+CIAO_Daemon: all.CIAO_Daemon
+
+%.CIAO_Daemon: %.DaemonController
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.CIAO_Daemon -C Daemon $(*);
+else
+ @$(MAKE) -f Makefile.CIAO_Daemon -C Daemon $(*);
+endif
+
+ComponentServer: all.ComponentServer
+
+%.ComponentServer:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ComponentServer -C ComponentServer $(*);
+else
+ @$(MAKE) -f Makefile.ComponentServer -C ComponentServer $(*);
+endif
+
+ComponentServer_test_client: all.ComponentServer_test_client
+
+%.ComponentServer_test_client:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ComponentServer_test_client -C ComponentServer $(*);
+else
+ @$(MAKE) -f Makefile.ComponentServer_test_client -C ComponentServer $(*);
+endif
+
+Assembly_Deployer: all.Assembly_Deployer
+
+%.Assembly_Deployer:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Assembly_Deployer -C Assembly_Deployer $(*);
+else
+ @$(MAKE) -f Makefile.Assembly_Deployer -C Assembly_Deployer $(*);
+endif
+
+Assembly_Manager: all.Assembly_Manager
+
+%.Assembly_Manager: %.XML_Helpers %.Assembly_Deployer
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Assembly_Manager -C Assembly_Deployer $(*);
+else
+ @$(MAKE) -f Makefile.Assembly_Manager -C Assembly_Deployer $(*);
+endif
+
+
+reverseclean: realclean.Assembly_Manager realclean.Assembly_Deployer realclean.ComponentServer_test_client realclean.ComponentServer \
+ realclean.CIAO_Daemon realclean.DaemonController realclean.RTComponentServer realclean.ServerActivator_test_client \
+ realclean.ServerActivator realclean.Simple_Component_Server_test_client realclean.Simple_Component_Server realclean.Simple_Server_Stub \
+ realclean.Helper_Test realclean.XML_Helpers
+
+project_name_list:
+ @echo XML_Helpers
+ @echo Helper_Test
+ @echo Simple_Server_Stub
+ @echo Simple_Component_Server
+ @echo Simple_Component_Server_test_client
+ @echo ServerActivator
+ @echo ServerActivator_test_client
+ @echo RTComponentServer
+ @echo DaemonController
+ @echo CIAO_Daemon
+ @echo ComponentServer
+ @echo ComponentServer_test_client
+ @echo Assembly_Deployer
+ @echo Assembly_Manager
diff --git a/TAO/CIAO/tools/RTComponentServer/Makefile b/TAO/CIAO/tools/RTComponentServer/Makefile
new file mode 100644
index 00000000000..2a6e694b3d7
--- /dev/null
+++ b/TAO/CIAO/tools/RTComponentServer/Makefile
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+TARGETS_NESTED = all debug profile optimize install deinstall clean realclean clobber depend rcs_info idl_stubs
+
+$(TARGETS_NESTED):
+ @$(MAKE) -f Makefile.RTComponentServer $(@);
+
+RTComponentServer: all
+
+reverseclean:
+ @$(MAKE) -f Makefile.RTComponentServer realclean
+
+project_name_list:
+ @echo RTComponentServer
diff --git a/TAO/CIAO/tools/RTComponentServer/Makefile.RTComponentServer b/TAO/CIAO/tools/RTComponentServer/Makefile.RTComponentServer
new file mode 100644
index 00000000000..b3f4b4481a1
--- /dev/null
+++ b/TAO/CIAO/tools/RTComponentServer/Makefile.RTComponentServer
@@ -0,0 +1,721 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.RTComponentServer
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.RTComponentServer
+BIN_UNCHECKED = RTComponentServer
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ ComponentServer_Task \
+ RTComponentServer \
+ RTConfig_Manager \
+ RTServer_Impl
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_XML_Helpers -lACEXML_Parser -lACEXML -lTAO_RTPortableServer -lTAO_RTCORBA -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/RTComponentServer
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq ($(rt_corba),1)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+else
+ all: require_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(ACE_ROOT)/ACEXML/common -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../XML_Helpers -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/RTComponentServer.o .obj/RTComponentServer.so .shobj/RTComponentServer.o .shobj/RTComponentServer.so: RTComponentServer.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Sched_Params.i \
+ ComponentServer_Task.h \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ ComponentServer_Task.inl \
+ $(TAO_ROOT)/CIAO/ciao/Server_init.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i
+
+.obj/RTConfig_Manager.o .obj/RTConfig_Manager.so .shobj/RTConfig_Manager.o .shobj/RTConfig_Manager.so: RTConfig_Manager.cpp RTConfig_Manager.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ $(TAO_ROOT)/CIAO/tools/XML_Helpers/RTConfigurationC.h \
+ $(TAO_ROOT)/CIAO/tools/XML_Helpers/XML_Helpers_Export.h \
+ $(TAO_ROOT)/CIAO/tools/XML_Helpers/RTConfigurationC.i \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ RTConfig_Manager.inl \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/ServerActivator/Makefile b/TAO/CIAO/tools/ServerActivator/Makefile
new file mode 100644
index 00000000000..1286e375ea1
--- /dev/null
+++ b/TAO/CIAO/tools/ServerActivator/Makefile
@@ -0,0 +1,69 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.ServerActivator all.ServerActivator_test_client
+
+debug: debug.ServerActivator debug.ServerActivator_test_client
+
+profile: profile.ServerActivator profile.ServerActivator_test_client
+
+optimize: optimize.ServerActivator optimize.ServerActivator_test_client
+
+install: install.ServerActivator install.ServerActivator_test_client
+
+deinstall: deinstall.ServerActivator deinstall.ServerActivator_test_client
+
+clean: clean.ServerActivator clean.ServerActivator_test_client
+
+realclean: realclean.ServerActivator realclean.ServerActivator_test_client
+
+clobber: clobber.ServerActivator clobber.ServerActivator_test_client
+
+depend: depend.ServerActivator depend.ServerActivator_test_client
+
+rcs_info: rcs_info.ServerActivator rcs_info.ServerActivator_test_client
+
+idl_stubs: idl_stubs.ServerActivator idl_stubs.ServerActivator_test_client
+
+ServerActivator: all.ServerActivator
+
+%.ServerActivator:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ServerActivator -C . $(*);
+else
+ @$(MAKE) -f Makefile.ServerActivator -C . $(*);
+endif
+
+ServerActivator_test_client: all.ServerActivator_test_client
+
+%.ServerActivator_test_client:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.ServerActivator_test_client -C . $(*);
+else
+ @$(MAKE) -f Makefile.ServerActivator_test_client -C . $(*);
+endif
+
+
+reverseclean: realclean.ServerActivator_test_client realclean.ServerActivator
+
+project_name_list:
+ @echo ServerActivator
+ @echo ServerActivator_test_client
diff --git a/TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator b/TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator
new file mode 100644
index 00000000000..71274eda17f
--- /dev/null
+++ b/TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator
@@ -0,0 +1,443 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.ServerActivator
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.ServerActivator
+BIN_UNCHECKED = ServerActivator
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ ServerActivator
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_IORTable -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/ServerActivator
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ServerActivator.o .obj/ServerActivator.so .shobj/ServerActivator.o .shobj/ServerActivator.so: ServerActivator.cpp \
+ $(TAO_ROOT)/CIAO/ciao/ServerActivator_Impl.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentS.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersC.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_ServersS.i \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.inl \
+ $(TAO_ROOT)/CIAO/ciao/Object_Set_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/ServerActivator_Impl.inl \
+ $(TAO_ROOT)/tao/IORTable/IORTable.h \
+ $(TAO_ROOT)/tao/IORTable/iortable_export.h \
+ $(TAO_ROOT)/tao/IORTable/IORTableC.h \
+ $(TAO_ROOT)/tao/IORTable/IORTableC.i \
+ $(ACE_ROOT)/ace/Read_Buffer.h \
+ $(ACE_ROOT)/ace/Read_Buffer.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator_test_client b/TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator_test_client
new file mode 100644
index 00000000000..5c2b9c88b4f
--- /dev/null
+++ b/TAO/CIAO/tools/ServerActivator/Makefile.ServerActivator_test_client
@@ -0,0 +1,394 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.ServerActivator_test_client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.ServerActivator_test_client
+BIN_UNCHECKED = ServerActivator_test_client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ ServerActivator_test_client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/ServerActivator_test_client
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ServerActivator_test_client.o .obj/ServerActivator_test_client.so .shobj/ServerActivator_test_client.o .shobj/ServerActivator_test_client.so: ServerActivator_test_client.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Server_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_DeploymentC.i \
+ $(TAO_ROOT)/CIAO/ciao/Client_init.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Makefile b/TAO/CIAO/tools/Simple_Component_Server/Makefile
new file mode 100644
index 00000000000..0392dcfb234
--- /dev/null
+++ b/TAO/CIAO/tools/Simple_Component_Server/Makefile
@@ -0,0 +1,79 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.Simple_Server_Stub all.Simple_Component_Server all.Simple_Component_Server_test_client
+
+debug: debug.Simple_Server_Stub debug.Simple_Component_Server debug.Simple_Component_Server_test_client
+
+profile: profile.Simple_Server_Stub profile.Simple_Component_Server profile.Simple_Component_Server_test_client
+
+optimize: optimize.Simple_Server_Stub optimize.Simple_Component_Server optimize.Simple_Component_Server_test_client
+
+install: install.Simple_Server_Stub install.Simple_Component_Server install.Simple_Component_Server_test_client
+
+deinstall: deinstall.Simple_Server_Stub deinstall.Simple_Component_Server deinstall.Simple_Component_Server_test_client
+
+clean: clean.Simple_Server_Stub clean.Simple_Component_Server clean.Simple_Component_Server_test_client
+
+realclean: realclean.Simple_Server_Stub realclean.Simple_Component_Server realclean.Simple_Component_Server_test_client
+
+clobber: clobber.Simple_Server_Stub clobber.Simple_Component_Server clobber.Simple_Component_Server_test_client
+
+depend: depend.Simple_Server_Stub depend.Simple_Component_Server depend.Simple_Component_Server_test_client
+
+rcs_info: rcs_info.Simple_Server_Stub rcs_info.Simple_Component_Server rcs_info.Simple_Component_Server_test_client
+
+idl_stubs: idl_stubs.Simple_Server_Stub idl_stubs.Simple_Component_Server idl_stubs.Simple_Component_Server_test_client
+
+Simple_Server_Stub: all.Simple_Server_Stub
+
+%.Simple_Server_Stub:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Simple_Server_Stub -C . $(*);
+else
+ @$(MAKE) -f Makefile.Simple_Server_Stub -C . $(*);
+endif
+
+Simple_Component_Server: all.Simple_Component_Server
+
+%.Simple_Component_Server: %.Simple_Server_Stub
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Simple_Component_Server -C . $(*);
+else
+ @$(MAKE) -f Makefile.Simple_Component_Server -C . $(*);
+endif
+
+Simple_Component_Server_test_client: all.Simple_Component_Server_test_client
+
+%.Simple_Component_Server_test_client: %.Simple_Server_Stub
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Simple_Component_Server_test_client -C . $(*);
+else
+ @$(MAKE) -f Makefile.Simple_Component_Server_test_client -C . $(*);
+endif
+
+
+reverseclean: realclean.Simple_Component_Server_test_client realclean.Simple_Component_Server realclean.Simple_Server_Stub
+
+project_name_list:
+ @echo Simple_Server_Stub
+ @echo Simple_Component_Server
+ @echo Simple_Component_Server_test_client
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server b/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server
new file mode 100644
index 00000000000..f7a00d3f069
--- /dev/null
+++ b/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server
@@ -0,0 +1,931 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Simple_Component_Server
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Simple_Component_Server
+BIN_UNCHECKED = Simple_Component_Server
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = Simple_Server
+
+FILES = \
+ Simple_ServerS \
+ Simple_Server_i \
+ Simple_Component_Server
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_Simple_Server_Stub -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Simple_Component_Server
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Simple_ServerS.o .obj/Simple_ServerS.so .shobj/Simple_ServerS.o .shobj/Simple_ServerS.so: Simple_ServerS.cpp Simple_ServerS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ Simple_ServerC.h Simple_Server_Stub_Export.h Simple_ServerC.i \
+ Simple_ServerS_T.h Simple_ServerS_T.i Simple_ServerS_T.cpp \
+ Simple_ServerS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Simple_Server_i.o .obj/Simple_Server_i.so .shobj/Simple_Server_i.o .shobj/Simple_Server_i.so: Simple_Server_i.cpp Simple_Server_i.h \
+ $(ACE_ROOT)/ace/pre.h \
+ Simple_ServerS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Container_Export.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseS.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventS.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseS.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentS.i \
+ Simple_ServerC.h Simple_Server_Stub_Export.h Simple_ServerC.i \
+ Simple_ServerS_T.h Simple_ServerS_T.i Simple_ServerS_T.cpp \
+ Simple_ServerS.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server_test_client b/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server_test_client
new file mode 100644
index 00000000000..f05315b8a44
--- /dev/null
+++ b/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Component_Server_test_client
@@ -0,0 +1,396 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Simple_Component_Server_test_client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Simple_Component_Server_test_client
+BIN_UNCHECKED = sample_client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ sample_client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_Simple_Server_Stub -lCIAO_Server -lCIAO_Container -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Simple_Component_Server_test_client
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(CIAO_ROOT)/tools/Simple_Component_Server -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/sample_client.o .obj/sample_client.so .shobj/sample_client.o .shobj/sample_client.so: sample_client.cpp \
+ Simple_ServerC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ Simple_Server_Stub_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ Simple_ServerC.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Read_Buffer.h \
+ $(ACE_ROOT)/ace/Read_Buffer.i \
+ $(ACE_ROOT)/ace/streams.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Server_Stub b/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Server_Stub
new file mode 100644
index 00000000000..45ba5e7de04
--- /dev/null
+++ b/TAO/CIAO/tools/Simple_Component_Server/Makefile.Simple_Server_Stub
@@ -0,0 +1,432 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Simple_Server_Stub
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Simple_Server_Stub
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libCIAO_Simple_Server_Stub.a
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libCIAO_Simple_Server_Stub.$(SOEXT)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = Simple_Server
+
+FILES = \
+ Simple_ServerC
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lCIAO_Client -lTAO_Security -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Simple_Server_Stub
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Security, $(findstring Security, $(CURRENT_COMPONENTS)))
+ LIB = $(LIB_UNCHECKED)
+ SHLIB = $(SHLIB_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(CIAO_ROOT) -I$(CIAO_ROOT)/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DCIAO_SIMPLE_SERVER_STUB_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,stub_export_include=Simple_Server_Stub_Export.h -Wb,stub_export_macro=CIAO_SIMPLE_SERVER_STUB_Export -I$(CIAO_ROOT) -I$(TAO_ROOT)/CIAO/ciao -I$(TAO_ROOT)/orbsvcs/orbsvcs -Gv -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Security
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Simple_ServerC.o .obj/Simple_ServerC.so .shobj/Simple_ServerC.o .shobj/Simple_ServerC.so: Simple_ServerC.cpp Simple_ServerC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ Simple_Server_Stub_Export.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.h \
+ $(TAO_ROOT)/CIAO/ciao/CIAO_Client_Export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Sequence_T.cpp \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.h \
+ $(TAO_ROOT)/CIAO/ciao/CCM_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_EventC.i \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.h \
+ $(TAO_ROOT)/tao/IFR_Client/ifr_client_export.h \
+ $(TAO_ROOT)/tao/IFR_Client/IFR_BaseC.i \
+ $(TAO_ROOT)/CIAO/ciao/CCM_ComponentC.i \
+ Simple_ServerC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Special_Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Special_Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.h \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.inl \
+ $(TAO_ROOT)/tao/Var_Size_Argument_T.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/XML_Helpers/Makefile b/TAO/CIAO/tools/XML_Helpers/Makefile
new file mode 100644
index 00000000000..35f14e979a1
--- /dev/null
+++ b/TAO/CIAO/tools/XML_Helpers/Makefile
@@ -0,0 +1,69 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+
+all: all.XML_Helpers all.Helper_Test
+
+debug: debug.XML_Helpers debug.Helper_Test
+
+profile: profile.XML_Helpers profile.Helper_Test
+
+optimize: optimize.XML_Helpers optimize.Helper_Test
+
+install: install.XML_Helpers install.Helper_Test
+
+deinstall: deinstall.XML_Helpers deinstall.Helper_Test
+
+clean: clean.XML_Helpers clean.Helper_Test
+
+realclean: realclean.XML_Helpers realclean.Helper_Test
+
+clobber: clobber.XML_Helpers clobber.Helper_Test
+
+depend: depend.XML_Helpers depend.Helper_Test
+
+rcs_info: rcs_info.XML_Helpers rcs_info.Helper_Test
+
+idl_stubs: idl_stubs.XML_Helpers idl_stubs.Helper_Test
+
+XML_Helpers: all.XML_Helpers
+
+%.XML_Helpers:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.XML_Helpers -C . $(*);
+else
+ @$(MAKE) -f Makefile.XML_Helpers -C . $(*);
+endif
+
+Helper_Test: all.Helper_Test
+
+%.Helper_Test: %.XML_Helpers
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Helper_Test -C . $(*);
+else
+ @$(MAKE) -f Makefile.Helper_Test -C . $(*);
+endif
+
+
+reverseclean: realclean.Helper_Test realclean.XML_Helpers
+
+project_name_list:
+ @echo XML_Helpers
+ @echo Helper_Test
diff --git a/TAO/CIAO/tools/XML_Helpers/Makefile.Helper_Test b/TAO/CIAO/tools/XML_Helpers/Makefile.Helper_Test
new file mode 100644
index 00000000000..d62f9a0d352
--- /dev/null
+++ b/TAO/CIAO/tools/XML_Helpers/Makefile.Helper_Test
@@ -0,0 +1,373 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Helper_Test
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Helper_Test
+BIN_UNCHECKED = main
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ main
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lCIAO_XML_Helpers -lTAO_RTCORBA -lTAO -lACEXML_Parser -lACEXML -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Helper_Test
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+ifeq ($(rt_corba),1)
+BIN = $(BIN_UNCHECKED)
+else
+ all: require_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)/ACEXML/common -I$(ACE_ROOT)
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/main.o .obj/main.so .shobj/main.o .shobj/main.so: main.cpp XML_Utils.h XML_Helpers_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ Softpkg_Handlers.h Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ Cascadable_DocHandler.i Softpkg_Handlers.inl Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ Assembly_Spec.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ RTConfigurationC.h RTConfigurationC.i XML_Utils.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/CIAO/tools/XML_Helpers/Makefile.XML_Helpers b/TAO/CIAO/tools/XML_Helpers/Makefile.XML_Helpers
new file mode 100644
index 00000000000..e196fcc892b
--- /dev/null
+++ b/TAO/CIAO/tools/XML_Helpers/Makefile.XML_Helpers
@@ -0,0 +1,1715 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.XML_Helpers
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.XML_Helpers
+
+## LIB may be set to empty later on in this file
+LIB_UNCHECKED = libCIAO_XML_Helpers.a
+
+## SHLIB may be set to empty later on in this file
+SHLIB_UNCHECKED = libCIAO_XML_Helpers.$(SOEXT)
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+IDL_FILES = RTConfiguration
+
+FILES = \
+ RTConfiguration_Stubs \
+ RTConfig_Handlers \
+ XML_Utils \
+ Softpkg_Handlers \
+ Cascadable_DocHandler \
+ Assembly_Spec \
+ Assembly_Handlers
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+ACE_SHLIBS = -lTAO_RTCORBA -lTAO -lACEXML_Parser -lACEXML -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/XML_Helpers
+
+all: $(TEMPINCDIR)
+
+endif
+OUTPUT_DIRECTORY = $(ACE_ROOT)/lib
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+ifeq ($(rt_corba),1)
+ LIB = $(LIB_UNCHECKED)
+ SHLIB = $(SHLIB_UNCHECKED)
+else
+ all: require_warning
+endif
+
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+LSRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+INSTALL_CHECK = $(ACE_ROOT)/lib
+ifeq ($(INSTALL_CHECK),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSLIB = $(PWD)
+else
+ INSLIB = $(INSTALL_CHECK)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I$(ACE_ROOT)/ACEXML/common -I$(ACE_ROOT)
+ifeq ($(shared_libs),1)
+ ifneq ($(SHLIB),)
+ CPPFLAGS += -DCIAO_XML_HELPERS_BUILD_DLL
+ endif
+endif
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L$(ACE_ROOT)/lib
+
+TAO_IDLFLAGS += -Wb,export_macro=CIAO_XML_HELPERS_Export -Sc -Wb,export_include=XML_Helpers_Export.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/RTConfiguration_Stubs.o .obj/RTConfiguration_Stubs.so .shobj/RTConfiguration_Stubs.o .shobj/RTConfiguration_Stubs.so: RTConfiguration_Stubs.cpp \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ RTConfigurationC.cpp RTConfigurationC.h XML_Helpers_Export.h \
+ RTConfigurationC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp
+
+.obj/RTConfig_Handlers.o .obj/RTConfig_Handlers.so .shobj/RTConfig_Handlers.o .shobj/RTConfig_Handlers.so: RTConfig_Handlers.cpp RTConfig_Handlers.h \
+ Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ Cascadable_DocHandler.i XML_Utils.h XML_Helpers_Export.h \
+ Softpkg_Handlers.h Softpkg_Handlers.inl Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ Assembly_Spec.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ RTConfigurationC.h RTConfigurationC.i XML_Utils.inl \
+ RTConfig_Handlers.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_String.inl
+
+.obj/XML_Utils.o .obj/XML_Utils.so .shobj/XML_Utils.o .shobj/XML_Utils.so: XML_Utils.cpp XML_Utils.h XML_Helpers_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ Softpkg_Handlers.h Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ Cascadable_DocHandler.i Softpkg_Handlers.inl Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ Assembly_Spec.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ RTConfigurationC.h RTConfigurationC.i XML_Utils.inl \
+ $(ACE_ROOT)/ACEXML/common/FileCharStream.h \
+ $(ACE_ROOT)/ACEXML/common/Encoding.h \
+ $(ACE_ROOT)/ACEXML/common/StrCharStream.h \
+ $(ACE_ROOT)/ACEXML/parser/parser/Parser.h \
+ $(ACE_ROOT)/ACEXML/parser/parser/Parser_export.h \
+ $(ACE_ROOT)/ACEXML/common/LocatorImpl.h \
+ $(ACE_ROOT)/ACEXML/common/LocatorImpl.i \
+ $(ACE_ROOT)/ACEXML/common/NamespaceSupport.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ACEXML/common/NamespaceSupport.i \
+ $(ACE_ROOT)/ace/Obstack.h \
+ $(ACE_ROOT)/ace/Obstack_T.h \
+ $(ACE_ROOT)/ace/Obchunk.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Obchunk.i \
+ $(ACE_ROOT)/ace/Obstack_T.i \
+ $(ACE_ROOT)/ace/Obstack_T.cpp \
+ $(ACE_ROOT)/ACEXML/parser/parser/Entity_Manager.h \
+ $(ACE_ROOT)/ACEXML/parser/parser/Entity_Manager.i \
+ $(ACE_ROOT)/ACEXML/parser/parser/ParserInternals.h \
+ $(ACE_ROOT)/ACEXML/parser/parser/ParserContext.h \
+ $(ACE_ROOT)/ace/Swap.h \
+ $(ACE_ROOT)/ace/Swap.inl \
+ $(ACE_ROOT)/ace/Swap.cpp \
+ $(ACE_ROOT)/ACEXML/parser/parser/ParserContext.inl \
+ $(ACE_ROOT)/ACEXML/parser/parser/Parser.i \
+ Assembly_Handlers.h Assembly_Handlers.inl RTConfig_Handlers.h \
+ RTConfig_Handlers.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_String.inl
+
+.obj/Softpkg_Handlers.o .obj/Softpkg_Handlers.so .shobj/Softpkg_Handlers.o .shobj/Softpkg_Handlers.so: Softpkg_Handlers.cpp Softpkg_Handlers.h \
+ XML_Helpers_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ Cascadable_DocHandler.i Softpkg_Handlers.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_String.inl
+
+.obj/Cascadable_DocHandler.o .obj/Cascadable_DocHandler.so .shobj/Cascadable_DocHandler.o .shobj/Cascadable_DocHandler.so: Cascadable_DocHandler.cpp \
+ Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ Cascadable_DocHandler.i
+
+.obj/Assembly_Spec.o .obj/Assembly_Spec.so .shobj/Assembly_Spec.o .shobj/Assembly_Spec.so: Assembly_Spec.cpp Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ XML_Helpers_Export.h Assembly_Spec.inl
+
+.obj/Assembly_Handlers.o .obj/Assembly_Handlers.so .shobj/Assembly_Handlers.o .shobj/Assembly_Handlers.so: Assembly_Handlers.cpp Assembly_Handlers.h \
+ Cascadable_DocHandler.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.h \
+ $(ACE_ROOT)/ACEXML/common/ACEXML_Export.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ACEXML/common/ContentHandler.h \
+ $(ACE_ROOT)/ACEXML/common/Env.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ACEXML/common/Exception.h \
+ $(ACE_ROOT)/ACEXML/common/XML_Types.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ACEXML/common/Exception.i \
+ $(ACE_ROOT)/ACEXML/common/Env.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.h \
+ $(ACE_ROOT)/ACEXML/common/SAXExceptions.i \
+ $(ACE_ROOT)/ACEXML/common/Locator.h \
+ $(ACE_ROOT)/ACEXML/common/Attributes.h \
+ $(ACE_ROOT)/ACEXML/common/DTDHandler.h \
+ $(ACE_ROOT)/ACEXML/common/EntityResolver.h \
+ $(ACE_ROOT)/ACEXML/common/InputSource.h \
+ $(ACE_ROOT)/ACEXML/common/CharStream.h \
+ $(ACE_ROOT)/ACEXML/common/ErrorHandler.h \
+ $(ACE_ROOT)/ACEXML/common/DefaultHandler.i \
+ $(ACE_ROOT)/ACEXML/common/XMLReader.h \
+ Cascadable_DocHandler.i XML_Utils.h XML_Helpers_Export.h \
+ Softpkg_Handlers.h Softpkg_Handlers.inl Assembly_Spec.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ Assembly_Spec.inl \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/RTCORBA/rtcorba_typedefs.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.i \
+ RTConfigurationC.h RTConfigurationC.i XML_Utils.inl \
+ Assembly_Handlers.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_String.inl
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/ChangeLogs/ChangeLog-oci_haft b/TAO/ChangeLogs/ChangeLog-oci_haft
new file mode 100644
index 00000000000..3913aab9fe1
--- /dev/null
+++ b/TAO/ChangeLogs/ChangeLog-oci_haft
@@ -0,0 +1,2675 @@
+Fri Dec 5 14:40:54 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ remove extra ';'
+
+ * orbsvcs/tests/FT_App/run_test_demo.pl:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ Improve documentation.
+
+Fri Dec 5 11:49:01 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ Cleaning up the comments mostly.
+
+Thu Dec 4 16:46:15 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ Nursemaid the notification thru the system until it triggers a
+ recovery. Remove questionable assumptions that were causing the
+ analysis to fail.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp:
+ Initialize default property values -- including adding
+ new methods to make it possible.
+
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_conf.h:
+ Set defaults. Add comments to complain about unnecessary limits
+ (I'm afraid to remove the limits -- who knows what code depends
+ on them).
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Add preliminary support for infrastructure-managed groups (needs work!).
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Always build the server first so the IDL gets compiled.
+
+ * orbsvcs/tests/FT_App/run_test_rmnotifier.pl:
+ doc change.
+
+
+Thu Dec 4 10:20:34 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FTRT_Event_Service/Factory_Service/EventChannelFactory_i.cpp:
+ Typo in last checkin.
+
+Thu Dec 4 10:07:33 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/server.cpp:
+ Build problems due to change in TagGroupTaggedComponent structure.
+
+Thu Dec 4 09:56:12 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FTRT_Event_Service/Factory_Service/EventChannelFactory_i.h:
+ * orbsvcs/FTRT_Event_Service/Factory_Service/EventChannelFactory_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/server.cpp:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.cpp:
+ Build problems due to change in TagGroupTaggedComponent structure.
+
+Thu Dec 4 08:19:26 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp:
+ Structure member name change: ft_domain_id->group_domain_id
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ Restore implementation of get_object_group_ref_from_id lost
+ during reversion to original.
+
+Wed Dec 3 14:37:41 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ Fix fuzz from last checkin.
+
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ Revert to the version with typedefs importing PortableGroup symbols into FT.
+ This avoids problems during the merge into the main branch.
+
+Wed Dec 3 14:08:12 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder_Find.h:
+ Removed. Renamed Properties_Decoder to Property_Set.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h:
+ Added. Renamed Properties_Decoder to Property_Set.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ Changes Properties_Decoder users to use new name.
+
+Wed Dec 3 12:57:45 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ build FT_ReplicationManager after FT_ReplicationManager_Lib
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ Improved documentation.
+ Change parameter to Properties_Encoder::from var & to pointer.
+
+Wed Dec 3 09:18:34 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.h:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.h:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ Linux build warnings.
+
+Tue Dec 2 18:35:29 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h:
+ Fuzz reports trailing spaces.
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Build warnings on linux.
+
+Tue Dec 2 17:26:14 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Operators.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_conf.h:
+ * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/miopconf.h:
+ Revert changes to portable group that aren't required
+ to support HAFT.
+
+Tue Dec 2 17:21:43 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp:
+ Fix it the way bala fixed it in the main trunk.
+
+
+Tue Dec 2 14:34:51 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp:
+ Disable duplicate registration of HEARTBEAT_ENABLED policy factory.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ create_member uses the supplied criteria.
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Build warnings.
+
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ * orbsvcs/tests/FT_App/run_test_demo.pl:
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_rmnotifier.pl:
+ * orbsvcs/tests/FT_App/run_test_rmregistry.pl:
+ Identify error messages as coming from the test script.
+
+Tue Dec 2 09:59:17 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ Build warnings/errors on Solaris & linux.
+
+Mon Dec 1 16:52:25 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Implement (by delegation) groups_at_location
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ Implement groups_at_location
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ New method: has_member_at to support groups_at_location.
+ New method: add_member_to_iogr refactor support for updating IOGR
+ Complete implementations of add_member, create_member,
+ and *populate methods.
+
+
+Mon Dec 1 15:24:27 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ Remove create_member method. It doesn't belong here.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Remove invalid assert.
+
+Mon Dec 1 13:24:15 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Honor initial and minimum member counts.
+
+Mon Dec 1 09:16:28 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Move implementation details to PG_Object_Group
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Declare remaining functions to support ReplicationManager.
+ Stubbed out for now.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ Resolve linux build warnings.
+
+Sun Nov 30 11:53:38 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ New: support for implementing a GenericFactory for groups.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Remove all dependancies on PG_PropertyManager, PG_GenericFactory,
+ and PG_ObjectGroupManager. Uses PG_Properties_Support and
+ PG_Group_Factory (which uses PG_Object_Groups) instead.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ Add an init method for use when it's not stand-alone.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ Initialize Group Manipulator (probably moot since I intend
+ to back out all changes to ObjectGroupManager.)
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Revise for use with Group_Factory.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp:
+ Init was throwing exception and returning status.
+ Changed to report all errors via excepton.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.cpp:
+ Removed this file. It became part of PG_Group_Factory.
+
+Fri Nov 28 18:04:32 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ Linux/gcc build errors/warnings.
+
+Fri Nov 28 17:37:36 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp:
+ Linux/gcc build errors/warnings.
+
+Fri Nov 28 16:52:43 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * tao/IORManipulation/IORManipulation.h:
+ * tao/IORManipulation/IORManipulation.cpp:
+ Use meaningful argument names to reduce confusion.
+ Add comment warning about inconsistent argument order.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp:
+ New files factor out IOGR creation and manipulation
+ from PG_Object_Group and PG_ObjectGroupManager
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ IOGR stuff factored out.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp:
+ Fuzz from last checkin.
+
+
+Fri Nov 28 11:36:06 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/demo.pl:
+ Rename this to be....
+ * orbsvcs/tests/FT_App/run_test_demo.pl:
+ ...new name. It's still a "full" test.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Typeid_Properties_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Typeid_Properties_Map.cpp:
+ Rename these to be PG_Properties_Support.*
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp:
+ Expand properties map into support for PropertiesManager interface.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Use new PG_Properties_Support class to manage properties.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ Add "internals_" mutex.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Documentation change.
+
+
+
+Fri Nov 28 08:33:56 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Typeid_Properties_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Typeid_Properties_Map.cpp:
+ Build problems on Linux: const correctness.
+
+Wed Nov 26 19:20:54 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ Enhance Properties_Decoder to provide functions
+ to implement the PropertyManager interface.
+ --the name is no longer ideal.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Typeid_Properties_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Typeid_Properties_Map.cpp:
+ New: a collection of Properties_Decoders
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Use the new, improved Properties_Decoder to implement PropertyManager
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Manage object group's properties via Properties_Decoder
+
+
+Wed Nov 26 15:31:47 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp:
+ Revert previous change -- it made things worse.
+ This doesn't build on Solaris, but "It's not my problem."[TM]
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Minor build warnings on linux.
+
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ Set the -f none option to tell the ReplicaFactory not to register itself
+ for this basic test.
+
+Wed Nov 26 12:22:46 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ LInux build errors/warnings.
+ Feedback from code review:
+ accessor methods all named get* or set*
+ ACE::OS as necessary
+ Extend internals check to additional methods.
+ Document why PG_Object_Group::set_primary can't throw FT:PrimaryNotSet
+
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp:
+ Fix Solaris build problem -- redundant template instantiation.
+
+Wed Nov 26 10:38:01 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ Fix build errors/warnings on linux.
+
+Tue Nov 25 17:40:01 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Add METHO_ENTRY/METHOD_RETURN to help debug Object_Group problem.
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Support -r meaning don't register with ReplicationManager.
+
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ Check TAO_debug_level on error messages.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Build errors on linux.
+ Object reference count mismanagement.
+ Add TAO_debug_level controlled debug info.
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ Remove unnecessary messages.
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Improve messages. Remove some unneeded ones.
+
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_rmregistry.pl:
+ Update command line options to reflect recent changes.
+
+ * orbsvcs/tests/FT_App/README:
+ Document test scripts.
+
+ * orbsvcs/tests/FT_App/run_test_iogr.pl:
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Retire these tests.
+ Removed these files.
+
+Tue Nov 25 12:10:24 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ fix fuzz warnings.
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica.idl:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Change to PortableGroup names.
+
+Tue Nov 25 11:22:22 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl:
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ Increase use of PortableGroup definitions to
+ avoid confusion between synonyms (i.e. what's
+ the difference between PortableGroup::Name and
+ FT::Name?)
+
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+
+ Code review issues and use PortableGroup names.
+
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Code review issues.
+ Remove IOR Manipulator (moved into ObjectGroup)
+ Add comments about parallel data structures.
+ Move object group management code (create_object, add_member, remove_member)
+ to TAO::PG_Object_Group class.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.cpp:
+ Object group management code moved into Object_Group
+ and protected with a MUTEX
+
+ * orbsvcs/tests/FT_App/FT_Creator.h:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Fix build issues encountered on solaris & linux.
+
+ * orbsvcs/tests/FT_App/replica.cmd:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ Keep scripts up to date with recent code changes.
+
+Wed Nov 19 14:30:07 2003 Dale Wilson <wilson_d@ociweb.com>
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp
+ Remove dead code.
+ Cast string constant to avoid solaris compiler warning.
+
+ * orbsvcs/tests/FT_App/README:
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Clean up document. Update tests to support newest options
+ for the various programs.
+
+
+Thu Nov 13 18:47:36 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Don't confuse VC6 with an unexpected cast.
+
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ More explicit template instantiation issues.
+
+Thu Nov 13 09:07:45 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ Explicit template instantiation problem.
+
+Wed Nov 12 18:13:35 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_Analyzer_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_FaultConsumer_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_Replica.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ Syntax errors in explicit template instantiations showed up on Solaris build.
+
+Wed Nov 12 17:06:04 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerLib_export.h:
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Move ReplicationManager files into a new library TAO_ReplicationManagerLib
+ To make them available to other exe's (in particular orbsvcs/tests/FT_App/ft_consumer)
+
+Wed Nov 12 08:08:07 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FTApp_Analyzer_Main.cpp:
+ * orbsvcs/tests/FT_App/FTApp_FaultConsumer_Main.cpp:
+ Renamed (remove these)
+
+ * orbsvcs/tests/FT_App/FTApp_Analyzer_Main.cpp:
+ * orbsvcs/tests/FT_App/FTApp_FaultConsumer_Main.cpp:
+ Renamed (Add these)
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Case sensitive filenames
+
+Tue Nov 11 19:30:02 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ More cleaning: unused args, missing in()s.
+
+Tue Nov 11 18:41:46 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ And another missing .in()
+
+Tue Nov 11 18:28:17 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ More cleaning: unused args, missing in()s.
+
+Tue Nov 11 16:58:21 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ Cast to FT::DomainID to const char * to make Any >>= work (etc.)
+
+Tue Nov 11 16:21:26 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder_Find.h:
+ Found the build problem with the templated method (D'Oh!)
+ It had nothing to do with templates and everything to do with const.
+
+Tue Nov 11 14:36:55 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ Get rid of templated method. Replace it with in-line code.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder_Find.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder_Find.i:
+ Delete these. They still didn't build on linux.
+
+
+Tue Nov 11 08:56:34 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder_Find.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder_Find.i:
+ Split the templated function into its own file in hopes of
+ pleasing gcc (and of complying with the ACE style guide.)
+
+Mon Nov 10 17:12:48 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ More build errors.
+
+Mon Nov 10 15:26:54 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ More build errors.
+
+Mon Nov 10 13:53:48 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ Continuing build-error fix. More missing in's, and some
+ initializer ordering problems.
+
+Mon Nov 10 11:19:40 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Fix build errors: missing .in ()s
+
+ * tao/Utils/Server_Main.h:
+ * tao/Utils/Server_Main.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/FT_Replica.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.h:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.h:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ To avoid build errors. Argument to init is always ORB_ptr.
+
+
+Mon Nov 10 09:13:45 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * tao/Utils/Server_Main.h:
+ * tao/Utils/Server_Main.cpp:
+ More merge warnings/errors fixes.
+
+Mon Nov 10 08:40:59 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Notifier/Fault_Notifier.mpc:
+ Undo the build fix that didn't work.
+
+ * orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl:
+ * orbsvcs/orbsvcs/FT_Notifier.idl:
+ * orbsvcs/orbsvcs/FT_Replica.idl:
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ Add the missing files.
+
+Sun Nov 9 12:40:10 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Notifier/Fault_Notifier.mpc:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp:
+ Resolving build errors/warnings in linux & solaris builds.
+
+
+Sat Nov 8 17:01:29 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.h:
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp:
+ * orbsvcs/FT_ReplicationManager/README:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ * orbsvcs/Fault_Notifier/.cvsignore:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier.mpc:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ * orbsvcs/LoadBalancer/LoadBalancer.mpc:
+ * orbsvcs/examples/FaultTolerance/Makefile:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Log.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/LogACE_RB_Tree.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/LogStdMap.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Makefile:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/README:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.idl:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/StateUpdate.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/client.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/server.cpp:
+ * orbsvcs/orbsvcs/CosLoadBalancing.mpc:
+ * orbsvcs/tests/FT_App/.cvsignore:
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FTApp_Analyzer_Main.cpp:
+ * orbsvcs/tests/FT_App/FTApp_FaultConsumer_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.h:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_Replica.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica.idl:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/README:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.h:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.h:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ * orbsvcs/tests/FT_App/demo.pl:
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ * orbsvcs/tests/FT_App/run_test_iogr.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ * orbsvcs/tests/FT_App/run_test_rmnotifier.pl:
+ * orbsvcs/tests/FT_App/run_test_rmregistry.pl:
+ * orbsvcs/tests/FT_App/testscript:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/GroupRef_Manipulation.mpc:
+ * orbsvcs/tests/FaultTolerance/IOGR/FaultTolerance_IOGR.mpc:
+ * orbsvcs/tests/FaultTolerance/IOGR/Manager.cpp:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/FaultTolerance_IOGRManipulation.mpc:
+ Last step in the merge. oci_haft + beta release ->oci_haft2
+
+Fri Nov 7 17:01:12 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FTORB.mpc:
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/FT_CORBA_ORB.idl:
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.i:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.i:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+ Step three of the oci_haft merge. Add the FaultTolerance directory.
+
+Fri Nov 7 16:19:14 2003 Dale Wilson <wilson_d@ociweb.com>
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ Missed a spot. Still fixing build warnings.
+
+Fri Nov 7 15:36:37 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ Resolve linux build problems revealed during merge.
+
+Thu Nov 6 13:03:17 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Operators.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_conf.h:
+ * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/miopconf.h:
+ Next merge PortableGroup and make it build in the oci_haft2 branch.
+
+Wed Nov 5 16:30:32 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * tao/PortableInterceptor.pidl:
+ * tao/PortableInterceptorC.h:
+ * tao/PortableServer/Object_Adapter.cpp:
+ * tao/PortableServer/ServerInterceptorAdapter.h:
+ * tao/PortableServer/ServerInterceptorAdapter.cpp:
+ * tao/TAO_Server_Request.h:
+ * tao/TAO_Server_Request.i:
+ * tao/TAO_Server_Request.cpp:
+ * tao/Utils/Utils.mpc:
+ * utils/catior/catior.cpp:
+ First set of files to be merged from oci_haft_branch to oci_haft2_branch
+ These are all files changed by the haft project that are not in orbsvcs.
+
+
+Tue Nov 4 09:49:20 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Modify the tao_update_object_group method to take an additional
+ argument: is_primary. This will be true in for the IOGR pushed
+ to the primary member and false for backup members.
+
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ "implement" modified tao_update_object_group method.
+ Change thrown exception in hopes of triggering transparent
+ reinvocation (no luck, yet.)
+
+ These changes were made in the oci_haft branch.
+
+
+Mon Nov 3 17:29:58 2003 Boris Kolpackov <boris@dre.vanderbilt.edu>
+
+ * orbsvcs/examples/FaultTolerance/Makefile:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Log.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/LogACE_RB_Tree.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/LogStdMap.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Makefile:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/README:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.idl:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/StateUpdate.h:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/client.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/server.cpp:
+
+ RolyPoly is a simple example that shows how to increase
+ application reliability by using replication to tolerate
+ faults. See README for details.
+
+ These changes were made in the oci_haft branch.
+
+
+Mon Nov 3 16:09:59 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+ Don't check IOGR on tao_update_object_group.
+ Find IORManipulator in prep. for fixing is_primary_.
+
+ These changes were made in the oci_haft branch.
+
+Mon Nov 3 10:17:06 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Add support to update group members' IOGRS.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ Change method signature of tao_update_object_group.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ Minor formatting change in object group id conversion to string.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Track Location of member in member structure.
+ Distribute new IOGR to group members.
+ Use 2-argument version of tao_update_object_group_method
+ Temporary: dump IOGRs to files during IOGR distribution.
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Create fault detector for new group member.
+
+ * orbsvcs/tests/FT_App/run_test_iogr.pl:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ * orbsvcs/tests/FT_App/run_test_rmregistry.pl:
+ Use file:// IOR syntax to pass IOGR to client.
+
+
+ * orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_Client_Unit.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.h:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ Use ACE_CHECK macros correctly, now that I (think I) understand them.
+
+ * tao/Object.cpp:
+ Add additional diagnostic information to error message.
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 31 11:38:07 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Added type_id() to get the type id of an object group.
+ Delegates to PortableGroup's PG_ObjectGroupManager.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ Use FT_ReplicationManager's type_id() method to get the type
+ id of a failed object group so we can unregister factories by
+ location and type.
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 31 10:14:22 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+
+ Added a comment for Dale
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+
+ Fix in the main trunk trunk never got moved to the branch.
+
+ These changes are in oci_haft_branch. They haven't been compiled
+ yet.
+
+Thu Oct 30 10:08:11 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs\tests\FaultTolerance\IOGRManipulation\FaultTolerance_IOGRManipulation.mpc:
+ Case sensitive file name: s/Messaging/messaging/.
+
+ These changes were made in the oci_haft branch.
+
+Wed Oct 29 18:20:12 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+
+ Made a simple mistake while trying to look at the number of
+ arguments.
+
+ These changes were made in the oci_haft branch.
+
+Wed Oct 29 13:52:36 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Support IOGR in create_object and add_member.
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ unregister during fini.
+
+ * orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl:
+ Define factory registration information for FaultDetectorFactory
+
+ * orbsvcs/orbsvcs/FT_Replica.idl:
+ Remove commented out GenericFactory declaration (it's in PortableGroup.idl)
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+ Add debug messages.
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ Add interface TAO_UpdateObjectGroup for IOGR distribution.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:\
+ Add a missing string_dup (ouch).
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ New files used by ReplicationManager to store object group information.
+ Among other things, includes support for distributing updated IOGR via TAO_UpdateObjectGroup interface.
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ Cosmetic changes.
+
+ * orbsvcs/tests/FT_App/FT_TestReplica.idl:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ Derive from TAO_UpdateObjectGroup
+ Stub implemntation of TAO_UpdateObjectGroup
+
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ Add dummy -ORBInitRef to prevent multicasting for ReplicationManager.
+
+ * utils/catior/catior.cpp:
+ Add partial support for TAG_GROUP and TAG_FT_PRIMARY
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 28 10:28;20 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FaultTolerance/IOGR/FaultTolerance_IOGR.mpc:
+ Case sensitive file name showed up in scoreboard.
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 28 08:20:30 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp:
+ Minor coding style changes.
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 24 14:42:39 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Fix logic error in shutdown that caused fini to be called twice.
+ Implement set_primary using IORManipulator (not working, yet)
+ add_member creates IOGR's (but not very well, so far)
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ temporary patch for changed method name in RegistrationFactory
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Get FaultNotifier from ReplicationManager
+ Register with ReplicationManager:FactoryRegistry
+
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ Register with ReplicationManager
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ fix spelling error s/criteron/criterion/
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ Add a missing/needed CORBA::string_dup
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ Fix race condition in managing factory creation ID.
+ After fix, ObjectGroupManager assigns object group ids
+ using full 64 bit PortableGroup::ObjectGroupId rather than
+ relying on GenericFactory to assign them. Factory
+ creation id is now a ObjectGroupId in an Any.
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/FT_Creator.cpp:
+ * orbsvcs/tests/FT_App/FT_Creator.h:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Dump intermediate IOGRs as members are added.
+ split application main from ObjectGroupCreator object.
+
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ * orbsvcs/tests/FT_App/run_test_rmregistry.pl:
+ add message to indicate client vs infrastructure reinvocation
+ switch to corbaloc addressing of ReplicationManager initial reference.
+
+ * orbsvcs/tests/FT_App/run_test_rmnotifier.pl:
+ new test: test notifier registration with replication manager
+ * orbsvcs/tests/FT_App/run_test_iogr.pl:
+ new test. ft_create makes IOGRs
+
+ These changes were made in the oci_haft branch.
+
+Wed Oct 22 00:11:36 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Modified command line of Replication Manager to use
+ -ORBEndpoint option and of clients of the Replication
+ Manager to use -ORBInitRef ReplicationManager=...
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 21 21:58:31 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ The ReplicationManager now registers its IOR with the
+ IORTable with the key-string "ReplicationManager" so clients
+ can access it using resolve_initial_references() and
+ something like:
+
+ -ORBInitRef ReplicationManager=corbaloc::host:port/ReplicationManager
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 21 09:49:51 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Add FactoryRegistry to ReplicationManager
+ remove obsolete create_test_iogr
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ add a few more info messages.
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ Modify FactoryRegistry interface to register factories by
+ role, not by type
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ remove unneeded dependancies for ft_client. {ft_client is
+ !NOT! JUnit.}
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica.idl:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_rmregistry.pl:
+ Support the "roles" concept. i.e. distinguish between the
+ interface implemented by a replica (its type_id) and its
+ capabilities and purpose (its role.)
+
+ * orbsvcs/tests/FaultTolerance/IOGR/Client_i.h:
+ add /**/ to pre.h and post.h includes
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 17 11:26:25 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ Improved the implementation of the shutdown() operation.
+ Instead of directly shutting down the ORB, it sets a quit
+ flag that is returned by idle() the next time it is called
+ from TAO::Utils::Server_Main<>::run(). That way, the
+ Replication Manager shuts down in a nice clean fashion.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp:
+ Added a simple client to control the Replication Manager.
+ Right now, all it can do is shut it down.
+
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Shut down the Replication Manager to cleanly end the test.
+
+ These changes were made in the oci_haft branch.
+
+Thu Oct 16 18:16:07 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ Extended the fault analysis logic to determine if the number
+ of replicas has fallen below the minimum for the object
+ group and to add new members (via the registered factories
+ for the object group's type).
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 14 18:35:07 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ Use FactoryRegistry in ReplicationManager if available.
+
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.cpp:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ Move and rename from FT_APP to PortableGroup
+
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ Use FactoryRegistry from PortableGroup
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ remove FactoryRegistry_i.cpp
+
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ new unit test using ReplicationManager as FactoryRegistry
+
+Tue Oct 14 18:30:45 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Removed some useless debugging statements.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ Added fault analysis logic to determine if the failed
+ object was the primary member of its object group.
+
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Fixed scripts to use new command line syntax.
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 14 15:21:19 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h:
+ change command line option that specify multiple
+ eliminate read_ior_file. Expect file:// ior on command line instead.
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 14 13:52:18 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+
+ Added an abstract FT_FaultAnalyzer class to provide an
+ interface for validating and analyzing fault events from the
+ FaultNotifier. Created two implementations of the fault
+ analyzer. The "default" FaultAnalyzer is a no-op. The
+ ReplicationManager uses the FT_ReplicationManagerFaultAnalyzer.
+ A Fault Analyzer is created by the "application" (e.g., the
+ Replication Manager) and provided to the FT_FaultConsumer
+ during its initialization. Then, the Fault Consumer calls
+ the Fault Analyzer to validate and analyze each fault event
+ that arrives from the Fault Notifier. Thus, the
+ responsibilities for receiving faults and analyzing faults
+ are separated, and different implementations of fault
+ analysis are possible.
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ Integrate use of FaultAnalyzer.
+ Removed readIORFile() and create_test_iogr() functions.
+
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ Minor reformatting for better readability.
+
+ * orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ Commented out use of create_test_iogr() on Replication
+ Manager.
+
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Use file:// syntax for FaultNotifier's IOR on Replication
+ Manager's command line.
+
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ Put this script back to the way it was before it used the
+ file:// syntax on the FaultConsumer's command line. Still
+ need to get rid of readIORFile() there and use
+ string_to_object() properly.
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 14 11:33:13 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ Add stub implementation for get_factory_registry
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ fix tabs and spaces warning from previous check in
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 14 10:22:13 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ remove the unneeded create_test_iogr method
+ add get_factory_registry method
+ syntax error: s/void oneway/oneway void/ shutdown
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ eliminate use of Tao/examples/Simple.. stuff
+ + common changes below
+
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ explicit FaultNotifier type in criteria's any.
+ + common changes below
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ add -k command line option: -k type_id unregisters all factories for type_id
+ if -f <factory registry> option is not specified,
+ use resolve_initial_references("ReplicationManager") to find either
+ a factory registry or a replication manager from which a factory registry
+ can be retrieved.
+ + common changes below
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.h:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ common changes =
+ change command line option that specify multiple
+ iors from -f a,b,c to -f a -f b -f c
+ eliminate read_ior_file. Expect file:// ior on command line instead.
+
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ Change command line options to use the //file: ior syntax when necessary.
+ Pass the factoryregistry in as a pseudo replication manager
+
+ These changes were made in the oci_haft branch.
+
+Mon Oct 13 11:37:03 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ Added a TAO-specific shutdown() operation to the Replication
+ Manager's interface.
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ Continued working on integration of FT_FaultConsumer with
+ the Replication Manager. Made several improvements to
+ initializtion and finalization code. Implemented
+ TAO-specific shutdown() operation on Replication Manager.
+
+ * orbsvcs/tests/FT_App/run_test_replication_mgr.pl:
+ Added this unit test (still in work).
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 10 17:19:03 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ More clean up of Replication Manager code.
+ Initial integration of FT_FaultConsumer into Replication Manager.
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 10 13:58:04 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ Added more fault analysis logic.
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp:
+ Updated to conform to ACE guidelines and new Server_Main.
+ Still in progress.
+
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h:
+ Minor code cleanup.
+
+ These changes were made in the oci_haft branch.
+
+Fri Oct 10 12:09:39 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Use ACE MUTEX macros.
+ Avoid the evil _this().
+ Use auto_ptr<>.
+
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ Use ACE MUTEX macros.
+ Avoid the evil _this().
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ Contrary to my comment, it is necessary to check status after find fails.
+ Remove the comment; add the status check.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Rename *Config project to *Creator
+
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp:
+ New files replace StubConfig.cpp
+
+ * orbsvcs/tests/FT_App/StubConfig.cpp:
+ Removed
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ Add a temporary hack to make the process containing TestReplicas go away sooner. Otherwise the test
+ timed out waiting for the TestReplicaFactory to notice it was idle.
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ Add support for location and type_id.
+ Register the factory (or factories!) with the FactoryRegistry.
+
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.h:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.cpp:
+ Exit cleanly. Use _remove_ref() to determine when we're really gone.
+ Add additional logging.
+
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ Test is working.
+
+ * orbsvcs/tests/FT_App/testscript:
+ Shorten sleep to make the test run faster
+
+
+ * tao/Utils/ServantMain.h:
+ * tao/Utils/ServantMain.cpp:
+ RIP: No remaining users.
+ Removed these files.
+
+ * orbsvcs/tests/FT_App/StubBatchConsumer.h:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ Ongoing work on conforming to ACE coding conventions.
+
+ These changes were made in the oci_haft branch.
+
+Thu Oct 9 14:26:48 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ Added a TAO-specific get_object_group_ref_from_id()
+ operation to PortableGroup::ObjectGroupManager.
+ This operation will be needed by the FT_ReplicationManager
+ to lookup the ObjectGroup reference from the ObjectGroupId
+ that it receives in a fault report. This operation may
+ be generally useful to other services, as well.
+
+ Also changed TagGroupTaggedComponent member
+ "component_version" to "group_version" to match the
+ following specs:
+ - Load Balancing joint submission (mars/02-10-14)
+ - Unreliabe Multicast final adopted spec (ptc/01-11-08)
+ - Data Parallel CORBA final adopted spec (ptc/01-11-09)
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h:
+ Added implementation of TAO-specific
+ get_object_group_ref_from_id() operation that delegates to
+ the underlying PortableGroup ObjectGroupManager
+ implementation.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+ Use "group_version" instead of "component_version".
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ Implemented TAO-specific get_object_group_ref_from_id()
+ operation.
+ Also, changed "component_version" to "group_version".
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.cpp:
+ Changed "component_version" to "group_version".
+
+ * orbsvcs/tests/FaultTolerance/IOGR/FaultTolerance_IOGR.mpc:
+ Added portablegroup and Messaging base projects.
+
+ * orbsvcs/tests/FaultTolerance/IOGR/Manager.cpp:
+ Changed "version" to "group_version" and "ft_domain_id" to
+ "group_domain_id" to match names of members of
+ PortableGroup::TagGroupTaggedComponent IDL struct.
+
+ These changes were made in the oci_haft branch.
+
+Thu Oct 9 14:24:47 2003 Steve Totten <totten_s@ociweb.com>
+
+ Applied the following changes on behalf of
+ Curt Hibbs <hibbs_c@ociweb.com>:
+
+ * orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ * orbsvcs/tests/FT_App/FT_UnitTests.h:
+ Made changes to use FT_ReplicaFactory to populate the FactoryInfos
+ for unit testing.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ Fixed a bug in validating properties when creating groups.
+
+ These changes were made in the oci_haft branch.
+
+Wed Oct 8 13:59:40 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ Added some initial fault analysis logic.
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ Added a new helper class for fault analysis.
+
+ * orbsvcs/tests/FT_App/FTApp_FaultConsumer_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ Updated to work with new TAO::Utils::Server_Main<> framework.
+
+ These changes were made in the oci_haft branch.
+
+Tue Oct 7 16:47:50 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ add *Config project
+
+ * orbsvcs/tests/FT_App/StubConfig.cpp:
+ New file that drives the unit test for FactoryRegistry.
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ Register with FactoryRegistry.
+ New command line options -l location -i type_id
+
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.h:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.cpp:
+ FactoryRegistry is working.
+
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ Unit test for factory registry.
+
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ Add new command line options for ReplicaFactory
+
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ Conform to ACE coding conventions. No functional changes.
+
+ These changes were made in the oci_haft branch.
+
+Tues Oct 7 08:44:52 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * tao/Utils/Server_Main.h:
+ * tao/Utils/Server_Main.cpp:
+ New files: Rename ServantMain.
+ Eliminate use of TAO_ORB_Manager.
+ Improve shutdown process.
+ ServantMain wll be retired as soon as the switch-over is complete.
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FTApp_Analyzer_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_Replica.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.h:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.cpp:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.h:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.h:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ Switch from ServantMain to Server_Main
+ Respond to style issues raised during code review and Bala's @@ notes.
+ Fix shutdown race condition that caused unit test failures.
+
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ Reduce the timeouts for processes that we "know" will be gone.
+ It makes the test fail faster when something goes wrong.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Add run_test_basic.pl as a documentation file.
+ Remove redundant comments.
+
+ These changes were made in the oci_haft branch.
+
+Mon Oct 6 17:18:30 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+
+ Improper copy from the main trunk here.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+
+ Fixed a wrong delete that cuased the ORB to crash.
+
+Thu Oct 2 15:12:50 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/tests/FT_App/lReplicationManagerFaultConsumerAdapter.h:
+
+ Removed trailing spaces after previous commit.
+
+ These changes were made in the oci_haft branch.
+
+Thu Oct 2 14:21:13 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ Added accessors for the consumer's object reference and the
+ number of notifications it has received. This is partially
+ to support testing and may be removed later (though they are
+ low impact).
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ Cosmetic code changes to match ACE guidelines.
+
+ * orbsvcs/tests/FT_App/FTApp_FaultConsumer_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+
+ Modifications to the test to make it work like other unit
+ tests in this directory:
+ - The Main is now very short and uses TAO::Utils::ServantMain<>.
+ - Wrapped the FT_ReplicationManager's FT_FaultConsumer in an
+ "adapter" class (ReplicationManagerFaultConsumerAdapter)
+ which is test-framework savvy (so the consumer class doesn't
+ have to be).
+ - Modified the test script to be like the others.
+
+ * orbsvcs/tests/FT_App/lReplicationManagerFaultConsumerAdapter.cpp:
+ * orbsvcs/tests/FT_App/lReplicationManagerFaultConsumerAdapter.h:
+
+ Added these two files as part of the changes described above.
+
+ These changes were made in the oci_haft branch.
+
+Thu Oct 2 11:23:02 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp:
+ * TAO/orbsvcs/tests/FT_App/FT_Client_Unit.cpp:
+ * TAO/orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ * TAO/orbsvcs/tests/FT_App/FT_UnitTests.h:
+ Minor style and name changes to make the code following the
+ ACE guidelines.
+
+ These changes were made in the oci_haft branch.
+
+Wed Oct 1 08:12:32 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ Minor cleanup of code that gets the IORManipulation object.
+
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ Added TAO::FT_FaultConsumer class. The FT_FaultConsumer
+ will be used by the Replication Manager to subscribe to the
+ Fault Notifier and process fault reports. Just a stub
+ implementation right now.
+
+ * orbsvcs/tests/FT_App/FTApp_FaultConsumer_Main.cpp:
+ * orbsvcs/tests/FT_App/run_test_fault_consumer.pl:
+ Added the beginnings of a unit test for the FT_FaultConsumer.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Added project to build FT_FaultConsumer unit test.
+
+ These changes were made in the oci_haft branch.
+
+Tue Sep 30 16:31:12 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ Minor changes to correct the way properties were being constructed
+ and extracted.
+
+ These changes were made in the oci_haft branch.
+
+Tue Sep 30 15:58:42 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ New into a var rather than into a pointer that gets assigned to the var later.
+
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.h:
+ * orbsvcs/tests/FT_App/FactoryRegistry_i.cpp:
+ * orbsvcs/tests/FT_App/run_test_registry.pl:
+ New files: First implementation of FactoryRegistry interface (not working, yet.)
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Add project for FactoryRegistry
+
+ * orbsvcs/tests/FT_App/README:
+ Mention FactoryRegistry in documentation.
+
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ Minor changes to make these more ACE-like.
+
+Tue Sep 30 11:45:49 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/tests/FaultTolerance/Replay_Reply/Server_Request_Interceptor.cpp:
+
+ The send_reply () method now uses generic ways to marshall the
+ value inside an Any into the CDR stream. This now uses the
+ undocumented marshal_value () in Any_Impl class.
+
+Mon Sep 29 18:55:08 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/tests/FaultTolerance/Replay_Reply:
+
+ A new test for the feature mentioned below.
+
+Mon Sep 29 18:39:05 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ A temporary hack for Boris to keep progressing. The aim of this
+ hack in the branch is to add a propreietary interception
+ point. This is what this checkin is all about
+
+ - Added a new interception point, tao_ft_interception_point ()
+ on the server side.
+
+ - This will be called on the server even before the
+ receive_request_service_context () is called
+
+ - The server can use this interception point to send back a
+ reply without dispatching it to the object.
+
+ * tao/PortableInterceptor.pidl:
+ * tao/PortableInterceptorC.h: Added the new interception point. A
+ default implementation is provided, so that application
+ developers don't need to implement the proprietary interception
+ point.
+
+ * tao/TAO_Server_Request.cpp:
+ * tao/TAO_Server_Request.h:
+ * tao/TAO_Server_Request.i: Added a new method which will be used
+ to send cached replies back to the client.
+
+ * tao/PortableServer/Object_Adapter.cpp: Called the proprietary
+ interception point.
+
+ * tao/PortableServer/ServerInterceptorAdapter.cpp:
+ * tao/PortableServer/ServerInterceptorAdapter.h: Added the first
+ interception point to be the tao's proprietary interception
+ point.
+
+ This shouldn't be needed once we merge in 1369. But till then we
+ may need this hack.
+
+Mon Sep 29 18:19:51 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp:
+ Fixed compilation error in VC++ 6.0 involving re-use
+ of 'i' as a for loop control variable.
+
+Mon Sep 29 16:15:55 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp:
+ * orbsvcs/orbsvcs/FTORB.mpc:
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/FT_CORBA_ORB.idl:
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_conf.h:
+ TagFTGroupTaggedComponent was previously moved to Portablegroups
+ as TagGroupTaggedComponent, but was never removed from
+ FT_CORBA_ORB.idl. Consequently, some code was using the
+ PortableGroup version and some code was using the FT
+ version. This removes the FT version and changes all code that
+ referenced it to now use the PortableGroup version.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/FT_Client_Unit.cpp:
+ * orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ The Replication Manager's unit tests were removed from the FT test
+ App and moved into its own module.
+
+ These changes were made in the oci_haft branch.
+
+Mon Sep 29 07:22:35 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * CIAO/CIDLC/cidlc.vcproj:
+ * CIAO/CIDLC/parser_examples/cidl/cidl.vcproj:
+ * CIAO/CIDLC/parser_examples/cidl/idl2.vcproj:
+ * CIAO/CIDLC/parser_examples/cidl/idl3.vcproj:
+ Removed generated files that should not have been checked in.
+
+ These changes were made in the oci_haft branch.
+
+Fri Sep 26 19:31:11 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp (TAO):
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.h: Moved group reference
+ manipulation functions to a new file which will be used within
+ the PortableGroup.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp: Removed
+ dependency on the FT library which was unnecessary in the first
+ place.
+
+ Fixed warnings and errors with g++ builds.
+
+Thu Sep 25 16:08:35 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Change quit on idle to avoid quiting if startup takes too long
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ Derive client from orbsvcsexe to support includes from TAO/orbsvcs
+ Remove FT_UnitTests from FT_Client. Unit tests should have their own exe.
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ Roll back client to before unit tests were added.
+
+ * orbsvcs/tests/FT_App/FT_Client_Unit.cpp:
+ Capture Client code including unit tests (not working)
+
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ Convert stand alone test replica to GenericFactory<TestReplica>
+
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ remove annoying "todo". It's good enough as-is.
+
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ Use new -t option for FT_Replica (GenericFactory test mode.)
+
+ These changes were made in the oci_haft branch.
+
+Wed Sep 24 17:05:00 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * orbsvcs/LoadBalancer/LoadBalancer.mpc:
+ Added dependency on iormanip to eliminate link errors.
+
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp:
+ Explicitly cast the intentional conversion of an int to
+ a float to eliminate a compiler warning on VC++ 7.1.
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+
+ * tao/Utils/Utils.mpc:
+ Added dependency on portableserver to eliminate link errors.
+
+ * orbsvcs/orbsvcs/FTORB.mpc:
+ * orbsvcs/orbsvcs/FT_CORBA_ORB.idl:
+ Temporarily reverted to TagFTGroupTaggedComponent (which duplicates
+ TagGroupTaggedComponent) because it causes a circular dependency
+ problem. Will reinstate this change later.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+ Explicitly cast to ULong to eliminate compiler warning on VC++ 7.
+
+ These changes were made in the oci_haft branch.
+
+Wed Sep 24 11:41:48 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/tests/FaultTolerance/IOGR/Manager.cpp:
+
+ #included FT_IOGR_Property.h to get the test compling.
+
+Tue Sep 23 21:30:00 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/CosLoadBalancing.mpc:
+ * orbsvcs/orbsvcs/FTORB.mpc:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/FaultTolerance_IOGRManipulation.mpc:
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+ Changed to eliminate link errors.
+
+ * orbsvcs/orbsvcs/FT_CORBA_ORB.idl:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp:
+ TagFTGroupTaggedComponent was previously moved to Portablegroups
+ as TagGroupTaggedComponent, but was never removed from
+ FT_CORBA_ORB.idl. Consequently, some code was using the
+ PortableGroup version and some code was using the FT
+ version. This removes the FT version and changes all code that
+ referenced it to now use the PortableGroup version.
+
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_UnitTests.cpp:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.cpp:
+ Changed to eliminate compile errors due to merging changes.
+
+ These changes were made in the oci_haft branch.
+
+Tue Sep 23 17:19:48 2003 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Notifier/Fault_Notifier.mpc:
+ Added inheritance from orbsvcsexe base project to resolve
+ include path problems.
+
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ Manipulated the SourceFiles list to resolve some link errors.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ Changed forward declaration of IOP::ServiceContext to quiet
+ compiler warnings on VC++ 6.0.
+
+Tue Sep 23 17:03:40 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ fix mpc->include path to find TAO/orbsvcs/orbsvcs/* stuff
+
+ * orbsvcs/tests/FT_App/FT_Replica.cpp:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ finish code (still untested) for ReplicaFactory.
+
+ * tao/Utils/ServantMain.h:
+ fix documentation
+
+ These changes were made in the oci_haft branch.
+
+Mon Sep 22 18:26:42 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp: The
+ set_component () created problems if we don't send a constant
+ version of TAO_Tagged_Components.
+
+Mon Sep 22 17:42:23 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/test/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/test/FT_App/FT_ReplicaFactory_i.h:
+ * orbsvcs/test/FT_App/FT_ReplicaFactory_i.cpp:
+ * orbsvcs/test/FT_App/FT_Replica.cpp:
+ Implement GenericFactory to create test replicas.
+
+ These changes were made in the oci_haft branch.
+
+Mon Sep 22 17:05:31 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Notifier/Fault_Notifier.mpc:
+ Fixing some library dependancies. Nothing significant.
+
+ These changes were made in the oci_haft branch.
+
+Sat Sep 20 16:46:29 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+ Added explicit template specifications.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h: Added
+ exception specification for get_tagged_components ().
+
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.cpp:
+ Test for get_tagged_components () added.
+
+Fri Sep 19 20:02:13 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h: Did a 20000 feet level
+ code review and left comments for OCI folks. More needs to be
+ done.
+
+ * orbsvcs/orbsvcs/Makefile.CosLoadBalancing:
+ * orbsvcs/orbsvcs/Makefile.PortableGroup: Added an -I for the IDL
+ compiler to include orbsvcs
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp: Fixed
+ compilation errors and unused variable warnings with g++.
+
+Fri Sep 19 19:49:11 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ Server interceptors for the FTORB. This interceptor does the
+ following at present
+
+ - Checks the IOGR version of the incoming message and does what
+ is specified in the FTCORBA spec
+
+ - Checks for the special operation that we will have the RM send
+ us to udate the IOGR and the version information.
+
+ We need an operation to find out whether the replica is a
+ primary or not and take required action.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h:
+ Moved all the interceptors to be in TAO namespace. We now have
+ the retention id implemented properly. We now
+
+ - on an outgoing operation, we generate a new retention id and
+ stick it in the TSS
+
+ - once a reply is received we clear it off the TSS
+
+ - if a forward location happens we reuse the one form TSS.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h: Changes
+ requested by Curt Hibbs, which was to get the group information
+ from within a IOGR.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp: Installed
+ server interceptors.
+
+ * orbsvcs/orbsvcs/Makefile.FTORB: Added the
+ ServerRequestInterceptor to the Makefile.
+
+Fri Sep 19 16:29:42 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Reuse fault detector IDs. Previously the vector of detectors was
+ allowed to grow indefinately. Now unused slots are located and reused.
+
+ These changes were made in the oci_haft branch.
+
+Fri Sep 19 13:50:09 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs\FT_ReplicationManager\FT_ReplicationManager.cpp:
+ * orbsvcs\FT_ReplicationManager\FT_ReplicationManager.h:
+ Added new includes needed because of changes made to reduce
+ include dependancies in the HEAD branch.
+
+ These changes were made in the oci_haft branch.
+
+Thu Sep 18 12:20:48 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ Continue merge HEAD->oci_haft_branch, and
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+
+ * orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl:
+
+ * tao/Utils/ServantMain.cpp
+ * tao/Utils/ServantMain.h
+
+ Change fault detector and fault notifier to use ServantMain.
+ These changes were made in the oci_haft branch.
+
+Wed Sep 18 11:30:00 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp:
+ * orbsvcs/FT_ReplicationManager/README:
+ * orbsvcs/orbsvcs/FT_ReplicationManager.idl:
+ These files were added as part of the initial check in of
+ Replication Manager implementation.
+
+ * orbsvcs\orbsvcs\FT_CORBA.idl:
+ * orbsvcs\orbsvcs\FaultTolerance.mpc:
+ * orbsvcs\orbsvcs\PortableGroup\PG_Default_Property_Validator.cpp:
+ * orbsvcs\orbsvcs\PortableGroup\PG_Default_Property_Validator.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_Factory_Set.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_GenericFactory.cpp:
+ * orbsvcs\orbsvcs\PortableGroup\PG_GenericFactory.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_Group_Guard.cpp:
+ * orbsvcs\orbsvcs\PortableGroup\PG_Group_Guard.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_ObjectGroupManager.cpp:
+ * orbsvcs\orbsvcs\PortableGroup\PG_ObjectGroupManager.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_ObjectGroup_Map.cpp:
+ * orbsvcs\orbsvcs\PortableGroup\PG_ObjectGroup_Map.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_PropertyManager.cpp:
+ * orbsvcs\orbsvcs\PortableGroup\PG_PropertyManager.h:
+ * orbsvcs\orbsvcs\PortableGroup\PG_Property_Utils.cpp:
+ This code was modified in support of the Replication Manager,
+ and contains the following major changes:
+ - The property validator is now settable.
+ - The ObjectGroupId was changed to CORBA:ULongLong to match
+ the spec.
+ - The FactoryCreationId and the ObjectGroupId are now separate
+ entities (they wer assumed to be the same).
+ - GroupEntries are now accessed (keyed) by ObjectGroupId
+ (previously they were accessed by FactoryCreateionId).
+
+ * orbsvcs\tests\FT_App\FT_App.mpc:
+ * orbsvcs\tests\FT_App\FT_Client.cpp:
+ * orbsvcs\tests\FT_App\FT_UnitTests.cpp:
+ * orbsvcs\tests\FT_App\FT_UnitTests.h:
+ Unit test scaffolding was added for the Replication Manager,
+ and several unit tests were included.
+
+ These changes were made in the oci_haft branch.
+
+Wed Sep 3 13:35:32 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ Get the ENV args right.
+
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ Fault Notifier passes unit test
+
+ MOVE FROM....
+
+ * tests/FT_App/.cvsignore:
+ * tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * tests/FT_App/FT_App.mpc:
+ * tests/FT_App/FT_Client.cpp:
+ * tests/FT_App/FT_Replica.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ * tests/FT_App/FT_TestReplica_i.cpp:
+ * tests/FT_App/README:
+ * tests/FT_App/StubFaultNotifier.h:
+ * tests/FT_App/StubFaultNotifier.cpp:
+ * tests/FT_App/run_test_basic.pl:
+ * tests/FT_App/run_test_notifier.pl:
+ * tests/FT_App/testscript:
+
+ MOVE TO...
+ * orbsvcs/tests/FT_App/.cvsignore:
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * orbsvcs/tests/FT_App/FTApp_Analyzer_Main.cpp:
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FT_App/FT_Client.cpp:
+ * orbsvcs/tests/FT_App/FT_Replica.cpp:
+ * orbsvcs/tests/FT_App/FT_TestReplica.idl:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.h:
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp:
+ * orbsvcs/tests/FT_App/README:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.h:
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.h:
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.h:
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.h:
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp:
+ * orbsvcs/tests/FT_App/run_test_basic.pl:
+ * orbsvcs/tests/FT_App/run_test_detector.pl:
+ * orbsvcs/tests/FT_App/run_test_notifier.pl:
+ * orbsvcs/tests/FT_App/testscript:
+
+ These changes were made in the oci_haft branch.
+
+Wed Aug 27 13:45:45 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ code complete non FT FaultNotifier. Needs unit test.
+
+ * tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * tests/FT_App/FT_Client.cpp:
+ clean up in prep for FaultNotifier unit test
+
+ These changes were made in the oci_haft branch.
+
+Mon Aug 25 16:28:22 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Notifier/.cvsignore:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/Fault_Notifier.mpc:
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp:
+ First pass at Fault notifier service (not working, but it builds.)
+
+ These changes were made in the oci_haft branch.
+
+Wed Aug 20 09:38:28 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * tests/FT_App/FT_Replica.cpp:
+ let orb parse args first.
+ * tests/FT_App/run_test_notifier.pl:
+ --debug_build option to use debug build
+ --no_simulate option to disable client-simulated fault tolerance
+ -v option to make the perl script verbose.
+
+ These changes were made in the oci_haft branch.
+
+Thu Aug 7 16:39:14 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ Move oci_haft change log entries from $ACE_ROOT/ChangeLog to here
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ Make dependancy on NameService optional.
+
+ * orbsvcs/orbsvcs/PortableGroup.idl:
+ Fix include so PortableGroup can be included from outside
+ orbsvcs directory.
+
+ * tests/FT_App/FT_Client.cpp:
+ * tests/FT_App/FT_Replica.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ * tests/FT_App/FT_TestReplica_i.cpp:
+ * tests/FT_App/run_test_notifier.pl:
+ * tests/FT_App/testscript:
+ Make fault points generic rather than method specific. Add
+ "before replication" fault point.
+
+ These changes were made in the oci_haft branch.
+
+Wed Aug 06 14:40:00 2003 Curt Hibbs <hibbs_c@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl:
+ Completed the conditional use of PortableGroups in FT_CORBA.idl
+ that was begun by Dale Wilson. The typedef trick used by Dale
+ to allow PortableGroup symbols to be used in the FT namespace
+ does not work for exceptions, so I also had to modify the
+ existing code to use "PortableGroup::" scoping on exceptions.
+
+ These changes were made in the oci_haft branch.
+
+Thu Jul 31 14:36:01 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ Housekeeping.
+
+ * orbsvcs/orbsvcs/FT_Detector.idl:
+ Renamed to be:
+ * orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl:
+
+ These changes were made in the oci_haft branch.
+
+Wed Jul 30 14:59:01 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ Milestone: FaultDetector passes unit test (run_test_notifier.pl)
+
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+
+ * tests/FT_App/FTAPP_Notifier_Main.cpp:
+ * tests/FT_App/FT_App.mpc:
+ * tests/FT_App/FT_Client.cpp:
+ * tests/FT_App/FT_Replica.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ * tests/FT_App/FT_TestReplica_i.cpp:
+ * tests/FT_App/StubFaultNotifier.h:
+ * tests/FT_App/StubFaultNotifier.cpp:
+ * tests/FT_App/run_test_basic.pl:
+ * tests/FT_App/run_test_notifier.pl:
+ * tests/FT_App/testscript:
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Decoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp:
+ Formerly named PG_Property_Set_Helper*
+
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.h:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.cpp:
+ Rename and move to orbsvcs/orbsvcs/PG_Properties*
+
+ * tests/FT_App/run_test.pl:
+ Rename to run_test_basic.pl
+
+ These changes were made in the oci_haft branch.
+
+Wed Jul 30 12:55:25 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * bin/MakeProjectCreator/config/fault_tolerance.mpb:
+ new file for configurations that use fault_tolerance.
+
+ These changes were made in the oci_haft branch.
+
+Mon Jul 28 16:20:29 2003 Dale Wilson <wilson_d@ociweb.com>
+
+
+ * orbsvcs/Fault_Detector/Detector_i.h:
+ * orbsvcs/Fault_Detector/Detector_i.cpp:
+ * orbsvcs/Fault_Detector/FT_DetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_DetectorFactory_i.cpp:
+ Renamed these files to...
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ ...respectively
+
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/FT_Notifier.idl:
+ * orbsvcs/orbsvcs/FT_Replica.idl:
+ Modified IDL to use PortableGroup definitions in FT.
+
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.h:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.cpp:
+ Use PortableGroup definitions.
+
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ Build renamed files.
+
+ * tests/FT_App/FT_App.mpc:
+ * tests/FT_App/FT_Client.cpp:
+ * tests/FT_App/FT_Replica.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ * tests/FT_App/FT_TestReplica_i.cpp:
+ Continue work on unit test for FaultDetector.
+
+ These changes were made in the oci_haft branch.
+
+Wed Jul 23 17:23:33 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/Detector_i.h:
+ * orbsvcs/Fault_Detector/Detector_i.cpp:
+ * orbsvcs/Fault_Detector/FT_DetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_DetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.h:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.cpp:
+ FaultDetector is code-complete. No tests available, yet.
+
+ * orbsvcs/Fault_Detector/Fault_Detector.h:
+ * orbsvcs/Fault_Detector/Fault_Detector.cpp:
+ Removed these files.
+
+ These changes were made in the oci_haft branch.
+
+Tue Jul 22 14:47:14 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/Fault_Detector/Detector_i.h:
+ * orbsvcs/Fault_Detector/Detector_i.cpp:
+ * orbsvcs/Fault_Detector/FT_DetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/FT_DetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector.h:
+ * orbsvcs/Fault_Detector/Fault_Detector.mpc:
+ * orbsvcs/Fault_Detector/Fault_Detector.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.h:
+ * orbsvcs/Fault_Detector/PG_Property_Set_Helper.cpp:
+ First pass at Fault Detector. Compiles OK. Does NOT work yet.
+
+ These changes were made in the oci_haft branch.
+
+Wed Jul 16 17:53:01 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * examples/Simple/Simple_util.h:
+ * examples/Simple/Simple_util.cpp:
+ Add "reconnect*" methods to allow switching to a different
+ servant on-the-fly. This is used in the client-simulated
+ Fault Tolerance test.
+
+ * tests/FT_App/FT_Client.cpp:
+ * tests/FT_App/FT_Replica.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ * tests/FT_App/FT_TestReplica_i.cpp:
+ * tests/FT_App/README:
+ * tests/FT_App/run_test.pl:
+ * tests/FT_App/testscript:
+ Add client-simulated fault tolerance to allow FT_App
+ to pass the unit test. When FT CORBA is working we should
+ be able to disable client simulated FT (via command line),
+ and it should still pass.
+
+ These changes were made in the oci_haft branch.
+
+Wed Jul 16 09:51:12 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * tests/FT_App/.cvsignore:
+ * tests/FT_App/FT_App.mpc:
+ * tests/FT_App/FT_Client.cpp:
+ * tests/FT_App/FT_Replica.cpp:
+ * tests/FT_App/FT_TestReplica.idl:
+ * tests/FT_App/FT_TestReplica_i.h:
+ * tests/FT_App/FT_TestReplica_i.cpp:
+ * tests/FT_App/README:
+ * tests/FT_App/run_test.pl:
+ * tests/FT_App/testscript:
+ New directory, new files.
+
+ This is the first pass of FT_App, an application to test
+ Fault Tolerant CORBA.
+
+ FT_Replica is a server that manages a persistent long counter.
+
+ FT_Client is a script-driven client for FT_Replica. It
+ uses CORBA calls to change the value of the counter and to
+ request that the replica "fault" at various stages of the
+ process.
+
+ FT_Client can also exercise the updatable and checkpointable
+ interfaces in FT_Replica.
+
+ The README file explains this in greater detail.
+
+ These changes were made in the oci_haft branch.
+
+Tue Jul 15 12:33:04 2003 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/FT_CORBA.idl:
+ * orbsvcs/orbsvcs/FT_Detector.idl:
+ * orbsvcs/orbsvcs/FT_Notifier.idl:
+ * orbsvcs/orbsvcs/FT_Replica.idl:
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ Separating the OMG FT.idl into managable pieces.
+
+ These changes were made in the oci_haft branch.
+
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
new file mode 100644
index 00000000000..8be77a46ee4
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
@@ -0,0 +1,231 @@
+//=============================================================================
+/**
+* @file amh_si.cpp
+*
+* $Id$
+*
+* Specialized interface visitor for AMH generates code that is
+* specific to AMH interfaces.
+*
+* @author Jeff Parsons <j.parsons@vanderbilt.edu>
+*/
+//=============================================================================
+
+ACE_RCSID (be_visitor_interface,
+ amh_si,
+ "$Id$")
+
+be_visitor_amh_interface_si::be_visitor_amh_interface_si (
+ be_visitor_context *ctx
+ )
+ : be_visitor_interface_si (ctx)
+{
+}
+
+be_visitor_amh_interface_si::~be_visitor_amh_interface_si (void)
+{
+}
+
+int
+be_visitor_amh_interface_si::visit_interface (be_interface *node)
+{
+ if (node->srv_inline_gen () || node->imported () || node->is_local ())
+ {
+ return 0;
+ }
+
+ // Do not generate AMH classes for any sort of implied IDL.
+ if (node->original_interface () != 0)
+ {
+ return 0;
+ }
+
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ int status =
+ node->traverse_inheritance_graph (
+ be_visitor_amh_interface_si::gen_skel_helper,
+ os
+ );
+
+ if (status == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_amh_interface_si::"
+ "visit_interface - "
+ "inheritance graph traversal failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
+ be_interface *ancestor,
+ TAO_OutStream *os)
+{
+ // If derived and ancestor are same, skip it.
+ if (derived == ancestor)
+ {
+ return 0;
+ }
+
+ // If an operation or an attribute is abstract (declared in an
+ // abstract interface), we will either generate the full
+ // definition (if there are no concrete interfaces between the
+ // abstract ancestor and us) or, if there is a concrete ancestor
+ // in between, we will catch its definition elsewhere in this
+ // traversal.
+ if (ancestor->is_abstract ())
+ {
+ return 0;
+ }
+
+ // Else generate code that does the cast to the appropriate type.
+
+ if (ancestor->nmembers () > 0)
+ {
+ // If there are elements in ancestor scope i.e., any operations and
+ // attributes defined by "ancestor", become methods on the derived class
+ // which call the corresponding method of the base class by doing the
+ // proper casting.
+
+ ACE_CString ancestor_name ("POA_");
+ char *buf = 0;
+ ancestor->compute_full_name ("AMH_", "", buf);
+ ancestor_name += buf;
+ delete [] buf;
+ buf = 0;
+
+ const char *ancestor_amh_name = ancestor_name.fast_rep ();
+
+ ACE_CString derived_name ("POA_");
+ derived->compute_full_name ("AMH_", "", buf);
+ derived_name += buf;
+ delete [] buf;
+ buf = 0;
+
+ const char *derived_amh_name = derived_name.fast_rep ();
+
+ for (UTL_ScopeActiveIterator si (ancestor, UTL_Scope::IK_decls);
+ !si.is_done ();
+ si.next ())
+ {
+ // Get the next AST decl node
+ AST_Decl *d = si.item ();
+
+ if (d->node_type () == AST_Decl::NT_op)
+ {
+ *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl
+ << "// " << __FILE__ << ":" << __LINE__;
+
+ *os << be_nl << be_nl;
+
+ // Generate code in the inline file.
+ // Generate the static method corresponding to this method.
+ *os << "ACE_INLINE" << be_nl
+ << "void" << be_nl
+ << derived_amh_name << "::"
+ << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "TAO_ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context" << be_nl
+ << "ACE_ENV_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl;
+ *os << ancestor_amh_name
+ << "_ptr impl = ("
+ << derived_amh_name
+ << "_ptr) obj;" << be_nl;
+ *os << ancestor_amh_name
+ << "::" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "req," << be_nl
+ << "(" << ancestor_amh_name
+ << "_ptr) impl," << be_nl
+ << "context" << be_nl
+ << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}";
+ }
+ else if (d->node_type () == AST_Decl::NT_attr)
+ {
+ AST_Attribute *attr = AST_Attribute::narrow_from_decl (d);
+
+ if (attr == 0)
+ {
+ return -1;
+ }
+
+ *os << be_nl << be_nl;
+
+ // Generate code in the inline file.
+ // Generate the static method corresponding to this method.
+ *os << "ACE_INLINE" << be_nl
+ << "void" << be_nl
+ << derived_amh_name << "::_get_"
+ << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "TAO_ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context" << be_nl
+ << "ACE_ENV_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl
+ << ancestor_amh_name
+ << "_ptr impl = ("
+ << derived_amh_name
+ << "_ptr) obj;" << be_nl;
+ *os << ancestor_amh_name
+ << "::_get_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "req," << be_nl
+ << "(" << ancestor_amh_name
+ << "_ptr) impl," << be_nl
+ << "context" << be_nl
+ << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}";
+
+ if (!attr->readonly ())
+ {
+ *os << be_nl << be_nl;
+
+ // Generate code in the inline file.
+ // Generate the static method corresponding to
+ // this method.
+ *os << "ACE_INLINE" << be_nl
+ << "void" << be_nl
+ << derived_amh_name
+ << "::_set_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "TAO_ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context" << be_nl
+ << "ACE_ENV_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl
+ << ancestor_amh_name
+ << "_ptr impl = ("
+ << derived_amh_name
+ << "_ptr) obj;" << be_nl;
+ *os << ancestor_amh_name
+ << "::_set_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "req," << be_nl
+ << "(" << ancestor_amh_name
+ << "_ptr) impl," << be_nl
+ << "context" << be_nl
+ << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}";
+ }
+ }
+ } // End of FOR
+ }
+
+ return 0;
+}
+
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/amh_si.h b/TAO/TAO_IDL/be_include/be_visitor_interface/amh_si.h
new file mode 100644
index 00000000000..bbd8e6723c4
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/amh_si.h
@@ -0,0 +1,31 @@
+//=============================================================================
+/**
+ * @file amh_si.h
+ *
+ * $Id$
+ *
+ * Specialized interface visitor for AMH
+ *
+ * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef AMH_SH_I_
+#define AMH_SH_I_
+
+class be_visitor_amh_interface_si : public be_visitor_interface_si
+{
+public:
+ be_visitor_amh_interface_si (be_visitor_context *ctx);
+ ~be_visitor_amh_interface_si (void);
+
+ int visit_interface (be_interface *node);
+
+ static int gen_skel_helper (be_interface *,
+ be_interface *,
+ TAO_OutStream *);
+ // Helper method passed to the template method to generate code for the
+ // AMH skeletons in the inline files.
+};
+
+#endif /* AMH_SH_I_ */
diff --git a/TAO/docs/tutorials/Quoter/AMI/Quoter_AMI.mpc b/TAO/docs/tutorials/Quoter/AMI/Quoter_AMI.mpc
new file mode 100644
index 00000000000..6964397151e
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/AMI/Quoter_AMI.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver, ami {
+ requires += exceptions
+ source_files {
+ client.cpp
+ Handler_i.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver, ami {
+ requires += exceptions
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/Event_Service/Quoter_Event_Service.mpc b/TAO/docs/tutorials/Quoter/Event_Service/Quoter_Event_Service.mpc
new file mode 100644
index 00000000000..f5965752877
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Event_Service/Quoter_Event_Service.mpc
@@ -0,0 +1,21 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : orbsvcsexe, portableserver, event, naming {
+ requires += exceptions
+ avoids += minimum_corba
+ source_files {
+ client.cpp
+ Stock_Consumer.cpp
+ }
+}
+
+project(*server) : orbsvcsexe, portableserver, event, naming {
+ requires += exceptions
+ avoids += minimum_corba
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/Naming_Service/Quoter_Naming_Service.mpc b/TAO/docs/tutorials/Quoter/Naming_Service/Quoter_Naming_Service.mpc
new file mode 100644
index 00000000000..88549e96b4c
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Naming_Service/Quoter_Naming_Service.mpc
@@ -0,0 +1,24 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : orbsvcsexe, portableserver, naming {
+ requires += exceptions
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../idl
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : orbsvcsexe, portableserver, naming {
+ requires += exceptions
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../idl
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/On_Demand_Activation/Quoter_On_Demand_Activation.mpc b/TAO/docs/tutorials/Quoter/On_Demand_Activation/Quoter_On_Demand_Activation.mpc
new file mode 100644
index 00000000000..2b485ae6b99
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/On_Demand_Activation/Quoter_On_Demand_Activation.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver, naming, ami {
+ requires += exceptions
+ source_files {
+ client.cpp
+ Handler_i.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver, naming, ami {
+ requires += exceptions
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ Stock_Factory_Locator_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/RT_Event_Service/Quoter_RT_Event_Service.mpc b/TAO/docs/tutorials/Quoter/RT_Event_Service/Quoter_RT_Event_Service.mpc
new file mode 100644
index 00000000000..785c8628d04
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/RT_Event_Service/Quoter_RT_Event_Service.mpc
@@ -0,0 +1,21 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : orbsvcsexe, portableserver, rtevent, naming {
+ requires += exceptions
+ avoids += minimum_corba
+ source_files {
+ client.cpp
+ Stock_Consumer.cpp
+ }
+}
+
+project(*server) : orbsvcsexe, portableserver, rtevent, naming {
+ requires += exceptions
+ avoids += minimum_corba
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/Simple/Client/Quoter_Simple_Client.mpc b/TAO/docs/tutorials/Quoter/Simple/Client/Quoter_Simple_Client.mpc
new file mode 100644
index 00000000000..d07d50d9ded
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Simple/Client/Quoter_Simple_Client.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project : taoexe, portableserver {
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+}
diff --git a/TAO/docs/tutorials/Quoter/Simple/Impl-Repo/Quoter_Simple_Impl_Repo.mpc b/TAO/docs/tutorials/Quoter/Simple/Impl-Repo/Quoter_Simple_Impl_Repo.mpc
new file mode 100644
index 00000000000..dca23bb8206
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Simple/Impl-Repo/Quoter_Simple_Impl_Repo.mpc
@@ -0,0 +1,24 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver, rtevent, naming {
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver, rtevent, naming {
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/Quoter_Simple_ImprovedServer.mpc b/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/Quoter_Simple_ImprovedServer.mpc
new file mode 100644
index 00000000000..202171a2f9e
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/Quoter_Simple_ImprovedServer.mpc
@@ -0,0 +1,8 @@
+// $Id$
+project : taoexe, portableserver {
+ avoids += minimum_corba
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+}
diff --git a/TAO/docs/tutorials/Quoter/Simple/Persistent/Quoter_Simple_Persistent.mpc b/TAO/docs/tutorials/Quoter/Simple/Persistent/Quoter_Simple_Persistent.mpc
new file mode 100644
index 00000000000..22b2c4cb456
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Simple/Persistent/Quoter_Simple_Persistent.mpc
@@ -0,0 +1,24 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver {
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver {
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+ source_files {
+ server.cpp
+ Stock_Factory_i.cpp
+ Stock_i.cpp
+ }
+}
diff --git a/TAO/docs/tutorials/Quoter/Simple/Server/Quoter_Simple_Server.mpc b/TAO/docs/tutorials/Quoter/Simple/Server/Quoter_Simple_Server.mpc
new file mode 100644
index 00000000000..d07d50d9ded
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/Simple/Server/Quoter_Simple_Server.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project : taoexe, portableserver {
+ libs += Quoter_Idl_Lib
+ after += Quoter_Idl_Lib
+ includes += ../../idl
+ requires += exceptions
+}
diff --git a/TAO/docs/tutorials/Quoter/idl/Quoter_idl.mpc b/TAO/docs/tutorials/Quoter/idl/Quoter_idl.mpc
new file mode 100644
index 00000000000..ea9bb9d14fa
--- /dev/null
+++ b/TAO/docs/tutorials/Quoter/idl/Quoter_idl.mpc
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Lib) : taoexe, portableserver {
+ dynamicflags += QUOTER_COMMON_BUILD_DLL
+ idlflags += -Wb,export_macro=QUOTER_COMMON_Export -Wb,export_include=quoter_common_export.h
+}
diff --git a/TAO/examples/Advanced/README_DOCGROUP b/TAO/examples/Advanced/README_DOCGROUP
new file mode 100644
index 00000000000..0239c505c78
--- /dev/null
+++ b/TAO/examples/Advanced/README_DOCGROUP
@@ -0,0 +1,15 @@
+/**
+
+@page Advanced Examples README File From The DOC GROUP
+
+ Please read the file README before you read this. Since users
+have been using different versions of the compilers, we at the
+doc_group find it extremely difficult to keep the source from Michi
+and Vinoski's book to compile reliably on all platforms and compiler
+combinations that our users use. If you would like to get it compiling
+reliably (the source from the book relies on the old version of
+iostram) on different versions of iostream libraries, please send us
+the patches and we will be glad to integrate it. We may not have
+resources to work on this.
+
+*/
diff --git a/TAO/examples/Advanced/ch_3/Advanced_ch_3.mpc b/TAO/examples/Advanced/ch_3/Advanced_ch_3.mpc
new file mode 100644
index 00000000000..542f270ae8e
--- /dev/null
+++ b/TAO/examples/Advanced/ch_3/Advanced_ch_3.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver {
+ requires += exceptions
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver {
+ requires += exceptions
+ source_files {
+ server.cpp
+ }
+}
diff --git a/TAO/examples/Advanced/ch_8_and_10/Advanced_ch_8_and_10.mpc b/TAO/examples/Advanced/ch_8_and_10/Advanced_ch_8_and_10.mpc
new file mode 100644
index 00000000000..b3803d98dc3
--- /dev/null
+++ b/TAO/examples/Advanced/ch_8_and_10/Advanced_ch_8_and_10.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver {
+ requires += exceptions
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver {
+ requires += exceptions
+ source_files {
+ server.cpp
+ icp.cpp
+ }
+}
diff --git a/TAO/examples/Buffered_AMI/Buffered_AMI.mpc b/TAO/examples/Buffered_AMI/Buffered_AMI.mpc
new file mode 100644
index 00000000000..3545f350bfa
--- /dev/null
+++ b/TAO/examples/Buffered_AMI/Buffered_AMI.mpc
@@ -0,0 +1,15 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): messaging, taoexe, portableserver, ami {
+ Source_Files {
+ test_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): messaging, taoexe, portableserver, ami {
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/examples/Buffered_Oneways/Buffered_Oneways.mpc b/TAO/examples/Buffered_Oneways/Buffered_Oneways.mpc
new file mode 100644
index 00000000000..f6bafad3fd3
--- /dev/null
+++ b/TAO/examples/Buffered_Oneways/Buffered_Oneways.mpc
@@ -0,0 +1,15 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, messaging {
+ Source_Files {
+ test_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, messaging {
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc b/TAO/examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc
new file mode 100644
index 00000000000..04081ddaae5
--- /dev/null
+++ b/TAO/examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): messaging, taoexe, portableserver, ami, namingexe {
+ Source_Files {
+ Content_Iterator_i.cpp
+ Iterator_Factory_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): messaging, taoexe, portableserver, ami, namingexe {
+ Source_Files {
+ client.cpp
+ Iterator_Handler.cpp
+ }
+}
diff --git a/TAO/examples/Content_Server/AMI_Observer/AMI_Observer.mpc b/TAO/examples/Content_Server/AMI_Observer/AMI_Observer.mpc
new file mode 100644
index 00000000000..1a370ff20ec
--- /dev/null
+++ b/TAO/examples/Content_Server/AMI_Observer/AMI_Observer.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): messaging, taoexe, portableserver, ami, namingexe {
+ Source_Files {
+ Callback_Handler.cpp
+ Push_Iterator_Factory_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): messaging, taoexe, portableserver, ami, namingexe {
+ Source_Files {
+ client.cpp
+ Callback_i.cpp
+ Push_Iterator_Handler.cpp
+ }
+}
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/FP_Scheduling.idl b/TAO/examples/Kokyu_dsrt_schedulers/FP_Scheduling.idl
new file mode 100644
index 00000000000..ae7d9dad82f
--- /dev/null
+++ b/TAO/examples/Kokyu_dsrt_schedulers/FP_Scheduling.idl
@@ -0,0 +1,61 @@
+//$Id$
+
+/**
+ * @file FP_Scheduling.idl
+ *
+ * $Id$
+ *
+ * @brief Pre-compiled IDL source to help with the service context
+ * propagation of dynamic scheduling parameters using Kokyu
+ *
+ * This file was used to generate the code in FP_SchedulingC.{h,i,cpp}.
+ * The steps to regenerate the code are as follows:
+ *
+ * 1. Run the tao_idl compiler on the pidl file. The command used for
+ * this is:
+ *
+ * tao_idl -I $TAO_ROOT -Ge 1
+ * -Wb,export_macro=Kokyu_DSRT_Schedulers_Export
+ * -Wb,export_include=Kokyu_dsrt_schedulers_export.h
+ *
+ *
+ * 2. Then apply the patches in FP_SchedulingC.h.diff to the generated code.
+ * The patch will replace the inclusion of RTCORBAC.h and RTSchedulerC.h
+ * with RTCORBA.h and RTScheduler.h respectively.
+ *
+ * Apply patches using the following command:
+ *
+ * patch < FP_SchedulingC.h.diff
+ *
+ * Note: The diff was generated in the following way:
+ *
+ * Run the idl compiler as in step 1.
+ * cp FP_SchedulingC.h FP_SchedulingC.h.orig
+ * Modify FP_SchedulingC.h with changes described in step 2.
+ * diff -wBbu FP_SchedulingC.h.orig FP_SchedulingC.h > FP_SchedulingC.h.diff
+ *
+ */
+
+#include <tao/RTScheduling/RTScheduler_include.pidl>
+#include <tao/RTCORBA/RTCORBA_include.pidl>
+
+module FP_Scheduling
+{
+ struct SegmentSchedulingParameter
+ {
+ RTCORBA::Priority base_priority;
+ };
+
+ local interface SegmentSchedulingParameterPolicy
+ : CORBA::Policy
+ {
+ attribute SegmentSchedulingParameter value;
+ };
+
+ local interface FP_Scheduler : RTScheduling::Scheduler
+ {
+ SegmentSchedulingParameterPolicy
+ create_segment_scheduling_parameter
+ (in SegmentSchedulingParameter value);
+ };
+};
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.idl b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.idl
new file mode 100644
index 00000000000..63cc8df216d
--- /dev/null
+++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.idl
@@ -0,0 +1,58 @@
+
+/**
+ * @file Kokyu_qos.idl
+ *
+ * $Id$
+ *
+ * @brief Pre-compiled IDL source to help with the service context
+ * propagation of dynamic scheduling parameters using Kokyu
+ *
+ * This file was used to generate the code in Kokyu_qosC.{h,i,cpp}.
+ * The steps to regenerate the code are as follows:
+ *
+ * 1. Run the tao_idl compiler on the pidl file. The command used for
+ * this is:
+ *
+ * tao_idl -I $TAO_ROOT -Ge 1 Kokyu_qos.pidl
+ *
+ * 2. Then apply the patches in Kokyu_qosC.h.diff to the generated code.
+ * The patch will replace the inclusion of RTCORBAC.h and RTSchedulerC.h
+ * with RTCORBA.h and RTScheduler.h respectively.
+ *
+ * Apply patches using the following command:
+ *
+ * patch < Kokyu_qosC.h.diff
+ *
+ * Note: The diff was generated in the following way:
+ *
+ * Run the idl compiler as in step 1.
+ * cp Kokyu_qosC.h Kokyu_qosC.h.orig
+ * Modify Kokyu_qosC.h with changes described in step 2.
+ * diff -wBbu Kokyu_qosC.h.orig Kokyu_qosC.h > Kokyu_qosC.h.diff
+ *
+ */
+
+#ifndef _KOKYU_DSRT_QOS_PIDL_
+#define _KOKYU_DSRT_QOS_PIDL_
+
+#include <TimeBase.pidl>
+#include <tao/RTCORBA/RTCORBA_include.pidl>
+
+#pragma prefix "omg.org"
+
+module Kokyu
+{
+ typedef sequence<octet> GuidType;
+
+ struct Svc_Ctxt_DSRT_QoS
+ {
+ GuidType guid;
+ long importance;
+ long criticality;
+ RTCORBA::Priority desired_priority;
+ TimeBase::TimeT deadline;
+ TimeBase::TimeT estimated_initial_execution_time;
+ };
+};
+
+#endif /* KOKYU_DSRT_QOS_PIDL */
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/MIF_Scheduling.idl b/TAO/examples/Kokyu_dsrt_schedulers/MIF_Scheduling.idl
new file mode 100644
index 00000000000..69c0c7b3dca
--- /dev/null
+++ b/TAO/examples/Kokyu_dsrt_schedulers/MIF_Scheduling.idl
@@ -0,0 +1,61 @@
+//$Id$
+
+/**
+ * @file MIF_Scheduling.idl
+ *
+ * $Id$
+ *
+ * @brief Pre-compiled IDL source to help with the service context
+ * propagation of dynamic scheduling parameters using Kokyu
+ *
+ * This file was used to generate the code in MIF_SchedulingC.{h,i,cpp}.
+ * The steps to regenerate the code are as follows:
+ *
+ * 1. Run the tao_idl compiler on the pidl file. The command used for
+ * this is:
+ *
+ * tao_idl -I $TAO_ROOT -Ge 1
+ * -Wb,export_macro=Kokyu_DSRT_Schedulers_Export
+ * -Wb,export_include=Kokyu_dsrt_schedulers_export.h
+ *
+ *
+ * 2. Then apply the patches in MIF_SchedulingC.h.diff to the generated code.
+ * The patch will replace the inclusion of RTCORBAC.h and RTSchedulerC.h
+ * with RTCORBA.h and RTScheduler.h respectively.
+ *
+ * Apply patches using the following command:
+ *
+ * patch < MIF_SchedulingC.h.diff
+ *
+ * Note: The diff was generated in the following way:
+ *
+ * Run the idl compiler as in step 1.
+ * cp MIF_SchedulingC.h MIF_SchedulingC.h.orig
+ * Modify MIF_SchedulingC.h with changes described in step 2.
+ * diff -wBbu MIF_SchedulingC.h.orig MIF_SchedulingC.h > MIF_SchedulingC.h.diff
+ *
+ */
+
+#include <tao/RTScheduling/RTScheduler_include.pidl>
+#include <tao/RTCORBA/RTCORBA_include.pidl>
+
+module MIF_Scheduling
+{
+ struct SchedulingParameter
+ {
+ long importance;
+ };
+
+ local interface SchedulingParameterPolicy
+ : CORBA::Policy
+ {
+ attribute SchedulingParameter value;
+ };
+
+ local interface Scheduler : RTScheduling::Scheduler
+ {
+ SchedulingParameterPolicy
+ create_scheduling_parameter
+ (in SchedulingParameter value);
+ };
+};
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl b/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl
new file mode 100644
index 00000000000..c9bb4d96870
--- /dev/null
+++ b/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl
@@ -0,0 +1,63 @@
+//$Id$
+
+/**
+ * @file MUF_Scheduling.idl
+ *
+ * $Id$
+ *
+ * @brief Pre-compiled IDL source to help with the service context
+ * propagation of dynamic scheduling parameters using Kokyu
+ *
+ * This file was used to generate the code in MUF_SchedulingC.{h,i,cpp}.
+ * The steps to regenerate the code are as follows:
+ *
+ * 1. Run the tao_idl compiler on the pidl file. The command used for
+ * this is:
+ *
+ * tao_idl -I $TAO_ROOT -Ge 1
+ * -Wb,export_macro=Kokyu_DSRT_Schedulers_Export
+ * -Wb,export_include=Kokyu_dsrt_schedulers_export.h
+ *
+ *
+ * 2. Then apply the patches in MUF_SchedulingC.h.diff to the generated code.
+ * The patch will replace the inclusion of RTCORBAC.h and RTSchedulerC.h
+ * with RTCORBA.h and RTScheduler.h respectively.
+ *
+ * Apply patches using the following command:
+ *
+ * patch < MUF_SchedulingC.h.diff
+ *
+ * Note: The diff was generated in the following way:
+ *
+ * Run the idl compiler as in step 1.
+ * cp MUF_SchedulingC.h MUF_SchedulingC.h.orig
+ * Modify MUF_SchedulingC.h with changes described in step 2.
+ * diff -wBbu MUF_SchedulingC.h.orig MUF_SchedulingC.h > MUF_SchedulingC.h.diff
+ *
+ */
+
+#include <tao/RTScheduling/RTScheduler_include.pidl>
+#include <tao/RTCORBA/RTCORBA_include.pidl>
+
+module MUF_Scheduling
+{
+ struct SchedulingParameter
+ {
+ TimeBase::TimeT deadline;
+ TimeBase::TimeT estimated_initial_execution_time;
+ long criticality;
+ };
+
+ local interface SchedulingParameterPolicy
+ : CORBA::Policy
+ {
+ attribute SchedulingParameter value;
+ };
+
+ local interface Scheduler : RTScheduling::Scheduler
+ {
+ SchedulingParameterPolicy
+ create_scheduling_parameter
+ (in SchedulingParameter value);
+ };
+};
diff --git a/TAO/examples/POA/Adapter_Activator/POA_Adapter_Activator.mpc b/TAO/examples/POA/Adapter_Activator/POA_Adapter_Activator.mpc
new file mode 100644
index 00000000000..92e0254b024
--- /dev/null
+++ b/TAO/examples/POA/Adapter_Activator/POA_Adapter_Activator.mpc
@@ -0,0 +1,12 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ avoids += minimum_corba
+ includes += ../Generic_Servant
+ libs += Generic_Servant
+ after += POA_Generic_Servant_Lib
+ Source_Files {
+ server.cpp
+ }
+}
diff --git a/TAO/examples/POA/DSI/POA_DSI.mpc b/TAO/examples/POA/DSI/POA_DSI.mpc
new file mode 100644
index 00000000000..19d9e4f61a2
--- /dev/null
+++ b/TAO/examples/POA/DSI/POA_DSI.mpc
@@ -0,0 +1,15 @@
+//$Id$
+project(*Client) : taoexe, messaging, portableserver {
+ avoids += minimum_corba
+ source_files {
+ client.cpp
+ }
+}
+
+project(*Server) : taoexe, messaging, portableserver, dynamicinterface{
+ avoids += minimum_corba
+ source_files {
+ Database_i.cpp
+ server.cpp
+ }
+}
diff --git a/TAO/examples/POA/Default_Servant/POA_Default_Servant.mpc b/TAO/examples/POA/Default_Servant/POA_Default_Servant.mpc
new file mode 100644
index 00000000000..dd0c0d645cd
--- /dev/null
+++ b/TAO/examples/POA/Default_Servant/POA_Default_Servant.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : taoexe, portableserver {
+ avoids += minimum_corba
+ source_files {
+ client.cpp
+ }
+}
+
+project(*Server) : taoexe, portableserver {
+ avoids += minimum_corba
+ source_files {
+ File_i.cpp
+ server.cpp
+ }
+}
diff --git a/TAO/examples/POA/Explicit_Activation/Alt_Resources/Alt_Resource.mpc b/TAO/examples/POA/Explicit_Activation/Alt_Resources/Alt_Resource.mpc
new file mode 100644
index 00000000000..577eb5f2de0
--- /dev/null
+++ b/TAO/examples/POA/Explicit_Activation/Alt_Resources/Alt_Resource.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project: taolib {
+ sharedname = Alt_Resource_Factory
+ dynamicflags = Alt_Resource_Factory_BUILD_DLL
+
+ verbatim(gnuace, top) {
+ ifneq ($(MAKE),)
+ include $(ACE_ROOT)/include/makeinclude/macros.GNU
+ TARGETS_NESTED := $(TARGETS_NESTED:.nested=)
+ $(TARGETS_NESTED):
+ " @echo alt_resource will only build on Windows"
+ else
+ }
+ verbatim(gnuace, bottom) {
+ endif
+ }
+}
diff --git a/TAO/examples/POA/Explicit_Activation/POA_Explicit_Activation.mpc b/TAO/examples/POA/Explicit_Activation/POA_Explicit_Activation.mpc
new file mode 100644
index 00000000000..92e0254b024
--- /dev/null
+++ b/TAO/examples/POA/Explicit_Activation/POA_Explicit_Activation.mpc
@@ -0,0 +1,12 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ avoids += minimum_corba
+ includes += ../Generic_Servant
+ libs += Generic_Servant
+ after += POA_Generic_Servant_Lib
+ Source_Files {
+ server.cpp
+ }
+}
diff --git a/TAO/examples/POA/FindPOA/POA_FindPOA.mpc b/TAO/examples/POA/FindPOA/POA_FindPOA.mpc
new file mode 100644
index 00000000000..e2176127181
--- /dev/null
+++ b/TAO/examples/POA/FindPOA/POA_FindPOA.mpc
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project: taoexe, portableserver {
+ avoids += minimum_corba
+}
+
diff --git a/TAO/examples/POA/Forwarding/POA_Forwarding.mpc b/TAO/examples/POA/Forwarding/POA_Forwarding.mpc
new file mode 100644
index 00000000000..e8b34068166
--- /dev/null
+++ b/TAO/examples/POA/Forwarding/POA_Forwarding.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : taoexe, portableserver {
+ avoids += minimum_corba
+ source_files {
+ client.cpp
+ }
+}
+
+project(*Server) : taoexe, portableserver {
+ avoids += minimum_corba
+ source_files {
+ test_i.cpp
+ server.cpp
+ Servant_Activator.cpp
+ }
+}
diff --git a/TAO/examples/POA/Generic_Servant/POA_Generic_Servant.mpc b/TAO/examples/POA/Generic_Servant/POA_Generic_Servant.mpc
new file mode 100644
index 00000000000..5ddbc1753a3
--- /dev/null
+++ b/TAO/examples/POA/Generic_Servant/POA_Generic_Servant.mpc
@@ -0,0 +1,21 @@
+// $Id$
+project(*lib): taolib_with_idl, portableserver {
+ avoids += minimum_corba
+ sharedname = Generic_Servant
+ dynamicflags = GENERIC_SERVANT_BUILD_DLL
+ idlflags += -Wb,export_macro=GENERIC_SERVANT_Export -Wb,export_include=generic_servant_export.h
+ Source_Files {
+ test_i.cpp
+ }
+}
+
+project(*client): taoexe, portableserver {
+ avoids += minimum_corba
+ after += *lib
+ libs += Generic_Servant
+ idl_files {
+ }
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/examples/POA/Loader/POA_Loader.mpc b/TAO/examples/POA/Loader/POA_Loader.mpc
new file mode 100644
index 00000000000..08d63c26e51
--- /dev/null
+++ b/TAO/examples/POA/Loader/POA_Loader.mpc
@@ -0,0 +1,10 @@
+// $Id$
+project(*Server): taoexe, portableserver {
+ avoids += minimum_corba
+ Source_Files {
+ server.cpp
+ Servant_Activator.cpp
+ Servant_Locator.cpp
+ Server_Manager.cpp
+ }
+}
diff --git a/TAO/examples/POA/NewPOA/POA_NewPOA.mpc b/TAO/examples/POA/NewPOA/POA_NewPOA.mpc
new file mode 100644
index 00000000000..de7282249a6
--- /dev/null
+++ b/TAO/examples/POA/NewPOA/POA_NewPOA.mpc
@@ -0,0 +1,4 @@
+//$Id$
+project : taoexe, portableserver {
+ avoids += minimum_corba
+}
diff --git a/TAO/examples/POA/On_Demand_Activation/POA_On_Demand_Activation.mpc b/TAO/examples/POA/On_Demand_Activation/POA_On_Demand_Activation.mpc
new file mode 100644
index 00000000000..04ca8b96d72
--- /dev/null
+++ b/TAO/examples/POA/On_Demand_Activation/POA_On_Demand_Activation.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ avoids += minimum_corba
+ includes += ../Generic_Servant
+ libs += Generic_Servant
+ after += POA_Generic_Servant_Lib
+ Source_Files {
+ server.cpp
+ Servant_Activator.cpp
+ Servant_Locator.cpp
+ }
+}
diff --git a/TAO/examples/POA/On_Demand_Loading/POA_On_Demand_Loading.mpc b/TAO/examples/POA/On_Demand_Loading/POA_On_Demand_Loading.mpc
new file mode 100644
index 00000000000..6c3c72f5505
--- /dev/null
+++ b/TAO/examples/POA/On_Demand_Loading/POA_On_Demand_Loading.mpc
@@ -0,0 +1,13 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ avoids += minimum_corba
+ Source_Files {
+ server.cpp
+ Servant_Activator.cpp
+ Servant_Locator.cpp
+ Servant_Manager.cpp
+ Server_Manager.cpp
+ }
+}
diff --git a/TAO/examples/POA/POA_BiDir/POA_BiDir.mpc b/TAO/examples/POA/POA_BiDir/POA_BiDir.mpc
new file mode 100644
index 00000000000..d1e881a3dab
--- /dev/null
+++ b/TAO/examples/POA/POA_BiDir/POA_BiDir.mpc
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project: taoexe, portableserver, bidir_giop {
+
+ avoids += minimum_corba
+}
+
diff --git a/TAO/examples/POA/Reference_Counted_Servant/Reference_Counted_Servant.mpc b/TAO/examples/POA/Reference_Counted_Servant/Reference_Counted_Servant.mpc
new file mode 100644
index 00000000000..6f42aaf7f48
--- /dev/null
+++ b/TAO/examples/POA/Reference_Counted_Servant/Reference_Counted_Servant.mpc
@@ -0,0 +1,13 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ avoids += minimum_corba
+ includes += ../Generic_Servant
+ libs += Generic_Servant
+ after += POA_Generic_Servant_Lib
+ Source_Files {
+ server.cpp
+ }
+}
+
diff --git a/TAO/examples/POA/RootPOA/RootPOA.mpc b/TAO/examples/POA/RootPOA/RootPOA.mpc
new file mode 100644
index 00000000000..1ed2fb1882d
--- /dev/null
+++ b/TAO/examples/POA/RootPOA/RootPOA.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ Source_Files {
+ RootPOA.cpp
+ }
+}
+
diff --git a/TAO/examples/POA/TIE/POA_TIE.mpc b/TAO/examples/POA/TIE/POA_TIE.mpc
new file mode 100644
index 00000000000..b67b3103fa2
--- /dev/null
+++ b/TAO/examples/POA/TIE/POA_TIE.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : taoexe, portableserver {
+ avoids += minimum_corba
+ idlflags -= -Sc
+ source_files {
+ client.cpp
+ testC.cpp
+ }
+}
+
+project(*Server) : taoexe, portableserver {
+ avoids += minimum_corba
+ idlflags -= -Sc
+ source_files {
+ test_i.cpp
+ server.cpp
+ }
+}
diff --git a/TAO/examples/Simple/time-date/Simple_time_date.mpc b/TAO/examples/Simple/time-date/Simple_time_date.mpc
new file mode 100644
index 00000000000..daad131f55e
--- /dev/null
+++ b/TAO/examples/Simple/time-date/Simple_time_date.mpc
@@ -0,0 +1,38 @@
+// -*- MPC -*-
+// $Id$
+
+project(*lib): portableserver {
+ sharedname = Time_Date
+ // The svc conf files assume that the dll is in the current directory
+ libout = .
+ dynamicflags += ACE_BUILD_SVC_DLL Alt_Resource_Factory_BUILD_DLL
+ idlflags += -Wb,export_macro=Alt_Resource_Factory_Export -Wb,export_include=Alt_Resource_Factory.h
+ Source_Files {
+ Time_Date.cpp
+ Time_Date_i.cpp
+ }
+ Header_Files {
+ Alt_Resource_Factory.h
+ }
+}
+
+project(*server): taoserver {
+ IDL_Files {
+ }
+ Source_Files {
+ server.cpp
+ }
+ header_files {
+ }
+}
+
+project(*client): taoclient, namingexe {
+ after += *lib
+ libs += Time_Date
+ Source_Files {
+ client.cpp
+ Time_Date_Client_i.cpp
+ }
+ idl_files {
+ }
+}
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp
new file mode 100755
index 00000000000..e177f9d92f4
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp
@@ -0,0 +1,169 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_DefaultFaultAnalyzer.cpp
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_DefaultFaultAnalyzer.h"
+#include "orbsvcs/CosNotifyCommC.h"
+#include "orbsvcs/FT_NotifierC.h"
+#include "orbsvcs/FT_FaultDetectorFactoryC.h"
+#include "orbsvcs/FT_ReplicationManagerC.h"
+#include "orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h"
+#include <tao/debug.h>
+
+ACE_RCSID (FT_DefaultFaultAnalyzer,
+ FT_DefaultFaultAnalyzer,
+ "$Id$")
+
+/// Default constructor.
+TAO::FT_DefaultFaultAnalyzer::FT_DefaultFaultAnalyzer ()
+{
+}
+
+/// Destructor.
+TAO::FT_DefaultFaultAnalyzer::~FT_DefaultFaultAnalyzer ()
+{
+}
+
+// Validate the event to make sure it is one we can handle.
+// If it is not an event we can handle, this function logs the error
+// and returns -1.
+int TAO::FT_DefaultFaultAnalyzer::validate_event_type (
+ const CosNotification::StructuredEvent & event)
+{
+ int result = 0;
+
+ // CORBA 3.0.2, section 23.4.5.1 states:
+ //
+ // The fault management specification defines one event type:
+ // ObjectCrashFault. As the name suggests, this event is
+ // generated by a Fault Detector when it detects that an object
+ // has crashed.
+
+ // So, the event header's event_type.domain_name must be "FT_CORBA"
+ // and the event header's event_type.type_name must be "ObjectCrashFault".
+ // @@ why make string dups just to do a strcmp?
+ CORBA::String_var domain_name = CORBA::string_dup (
+ event.header.fixed_header.event_type.domain_name);
+ CORBA::String_var type_name = CORBA::string_dup (
+ event.header.fixed_header.event_type.type_name);
+ CORBA::String_var event_name = CORBA::string_dup (
+ event.header.fixed_header.event_name);
+
+ if (result == 0)
+ {
+ if (ACE_OS::strcmp (domain_name.in(), FT::FT_EVENT_TYPE_DOMAIN) != 0 ||
+ ACE_OS::strcmp (type_name.in(), FT::FT_EVENT_TYPE_NAME) != 0)
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_DefaultFaultAnalyzer::validate_event_type: "
+ "Received invalid event type.\n"
+ "EventType domain: <%s>\n"
+ "EventType type: <%s>\n"
+ "EventName: <%s>\n"),
+ domain_name.in(),
+ type_name.in(),
+ event_name.in()
+ ));
+ }
+ result = -1;
+ }
+ }
+
+ // CORBA 3.0.2, section 23.4.5.1 also states:
+ //
+ // The filterable_data part of the event body contains the
+ // identity of the crashed object as four name-value pairs: the
+ // fault tolerance domain identifier, the member’s location
+ // identifier, the repository identifier and the object group
+ // identifier. The Fault Notifier filters events based on the
+ // domain_name, the type_name, and the four identifiers. All
+ // other fields of the structured event may be set to null.
+ //
+ // The Fault Detector always sets the following fault event
+ // fields: domain_name, type_name, FTDomainId, and Location.
+ //
+ // So, at least "FTDomainId" and "Location" must be present:
+ if (result == 0)
+ {
+ if (event.filterable_data.length () >= 2)
+ {
+ // Check for FTDomainId.
+ if (ACE_OS::strcmp (
+ event.filterable_data[0].name.in(), FT::FT_DOMAIN_ID) != 0)
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_DefaultFaultAnalyzer::validate_event_type: "
+ "Received invalid structured event.\n"
+ "filterable_data[0] must be \"FTDomainId\", not \"%s\"\n"),
+ event.filterable_data[0].name.in()
+ ));
+ }
+ result = -1;
+ }
+ else if (ACE_OS::strcmp (
+ event.filterable_data[1].name.in(), FT::FT_LOCATION) != 0)
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_DefaultFaultAnalyzer::validate_event_type: "
+ "Received invalid structured event.\n"
+ "filterable_data[1] must be \"Location\", not \"%s\"\n"),
+ event.filterable_data[1].name.in()
+ ));
+ }
+ result = -1;
+ }
+ }
+ else
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_DefaultFaultAnalyzer::validate_event_type: "
+ "Received invalid structured event.\n"
+ "There must be at least two name/value pairs in "
+ "the filterable_data field, for \"FTDomainId\" and \"Location\".\n")
+ ));
+ }
+ result = -1;
+ }
+ }
+
+ return result;
+}
+
+/// Analyze a fault event.
+int TAO::FT_DefaultFaultAnalyzer::analyze_fault_event (
+ const CosNotification::StructuredEvent & event)
+{
+ ACE_UNUSED_ARG (event);
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "In TAO::FT_DefaultFaultAnalyzer::analyze_fault_event.\n")
+ ));
+ }
+
+ // no-op
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h b/TAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h
new file mode 100755
index 00000000000..e5b1b0b8292
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h
@@ -0,0 +1,86 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_DefaultFaultAnalyzer.h
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ * This is the default implementation of a fault analyzer that
+ * implements the interface of the abstract base class
+ * TAO::FT_FaultAnalyzer.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FT_DEFAULT_FAULT_ANALYZER_H_
+#define FT_DEFAULT_FAULT_ANALYZER_H_
+
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "FT_ReplicationManagerLib_export.h"
+#include "FT_FaultAnalyzer.h"
+
+namespace TAO
+{
+
+ /**
+ * Default fault analyzer.
+ *
+ */
+ class TAO_ReplicationManagerLib_Export FT_DefaultFaultAnalyzer
+ : public ::TAO::FT_FaultAnalyzer
+ {
+
+ public:
+ /**
+ * Default constructor.
+ */
+ FT_DefaultFaultAnalyzer ();
+
+ /**
+ * Destructor.
+ */
+ virtual ~FT_DefaultFaultAnalyzer ();
+
+ public:
+
+ /**
+ * Validate event type to make sure it is one we can handle.
+ * @param event The structured fault event, as from the Fault Notifier.
+ * @return 0 if it is a valid event type, -1 otherwise.
+ */
+ virtual int validate_event_type (
+ const CosNotification::StructuredEvent & event);
+
+ /**
+ * Analyze a fault event.
+ * @param event The structured fault event, as from the Fault Notifier.
+ * @return 0 on success, -1 on failure.
+ */
+ virtual int analyze_fault_event (
+ const CosNotification::StructuredEvent & event);
+
+ ////////////////////
+ // Forbidden methods
+ private:
+ /// Copy constructor.
+ FT_DefaultFaultAnalyzer (const FT_DefaultFaultAnalyzer & rhs);
+ /// Assignment operator.
+ FT_DefaultFaultAnalyzer & operator = (const FT_DefaultFaultAnalyzer & rhs);
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_DEFAULT_FAULT_ANALYZER_H_ */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp
new file mode 100755
index 00000000000..97f0af6e56c
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultAnalyzer.cpp
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_FaultAnalyzer.h"
+
+ACE_RCSID (FT_FaultAnalyzer,
+ FT_FaultAnalyzer,
+ "$Id$")
+
+/// Default constructor.
+TAO::FT_FaultAnalyzer::FT_FaultAnalyzer ()
+{
+}
+
+/// Destructor.
+TAO::FT_FaultAnalyzer::~FT_FaultAnalyzer ()
+{
+}
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h
new file mode 100755
index 00000000000..814162e6662
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h
@@ -0,0 +1,85 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultAnalyzer.h
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FT_FAULT_ANALYZER_H_
+#define FT_FAULT_ANALYZER_H_
+
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "FT_ReplicationManagerLib_export.h"
+#include "orbsvcs/CosNotifyCommC.h"
+
+namespace TAO
+{
+ /**
+ * Abstract base class for application-defined fault analyzers.
+ *
+ */
+ class TAO_ReplicationManagerLib_Export FT_FaultAnalyzer
+ {
+
+ public:
+ /**
+ * Default constructor.
+ */
+ FT_FaultAnalyzer ();
+
+ /**
+ * Destructor.
+ */
+ virtual ~FT_FaultAnalyzer ();
+
+ public:
+
+ /**
+ * Validate event type to make sure it is one we can handle.
+ * @param event The structured fault event, as from the Fault Notifier.
+ * @return 0 if it is a valid event type, -1 otherwise.
+ */
+ virtual int validate_event_type (
+ const CosNotification::StructuredEvent & event) = 0;
+
+ /**
+ * Analyze a fault event.
+ * @param event The structured fault event, as from the Fault Notifier.
+ * @return 0 on success, -1 on failure.
+ */
+ virtual int analyze_fault_event (
+ const CosNotification::StructuredEvent & event) = 0;
+
+ ////////////////////
+ // Forbidden methods
+ private:
+ /// Copy constructor.
+ FT_FaultAnalyzer (const FT_FaultAnalyzer & rhs);
+ /// Assignment operator.
+ FT_FaultAnalyzer & operator = (const FT_FaultAnalyzer & rhs);
+
+ ///////////////
+ // Data Members
+ private:
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_FAULT_ANALYZER_H_ */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp
new file mode 100755
index 00000000000..5d59b163372
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp
@@ -0,0 +1,299 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultConsumer.cpp
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ * This file provides the implementation of the TAO::FT_FaultConsumer
+ * class. The TAO::FT_FaultConsumer connects to the FaultNotifier to
+ * receive fault reports. It interacts with the ReplicationManager
+ * to process fault reports (e.g., to set a new primary on an object
+ * group or to create a new member of an object group).
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_FaultConsumer.h"
+#include "orbsvcs/FT_ReplicationManagerC.h"
+#include "orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h"
+#include <tao/debug.h>
+
+ACE_RCSID (FT_FaultConsumer,
+ FT_FaultConsumer,
+ "$Id$")
+
+/// Default constructor.
+TAO::FT_FaultConsumer::FT_FaultConsumer ()
+ : poa_ (PortableServer::POA::_nil ())
+ , fault_notifier_ (FT::FaultNotifier::_nil ())
+ , fault_analyzer_ (0)
+ , consumer_id_ (0)
+ , consumer_ref_ (CosNotifyComm::StructuredPushConsumer::_nil ())
+ , notifications_ (0)
+{
+}
+
+/// Destructor.
+TAO::FT_FaultConsumer::~FT_FaultConsumer ()
+{
+}
+
+/**
+* Connect to the FT::FaultNotifier.
+* Note: We make the following assumptions about what the
+* application will do:
+* - Create an instance of this consumer class.
+* - Obtain the object reference of the FaultNotifier to which this
+* consumer should connect.
+* - Call this init() method, passing it the POA with which we
+* have been activated, the FaultNotifier, and ReplicationManager
+* object references.
+*/
+int TAO::FT_FaultConsumer::init (
+ PortableServer::POA_ptr poa,
+ FT::FaultNotifier_ptr fault_notifier,
+ TAO::FT_FaultAnalyzer * fault_analyzer
+ ACE_ENV_ARG_DECL)
+{
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "Enter TAO::FT_FaultConsumer::init.\n")
+ ));
+ }
+
+ ACE_ASSERT (!CORBA::is_nil (poa));
+ ACE_ASSERT (!CORBA::is_nil (fault_notifier));
+ ACE_ASSERT (fault_analyzer != 0);
+
+ // Duplicate the object references passed in.
+ this->poa_ =
+ PortableServer::POA::_duplicate (poa);
+ this->fault_notifier_ =
+ FT::FaultNotifier::_duplicate (fault_notifier);
+
+ // We have no ownership responsibilities for the Fault Analyzer.
+ this->fault_analyzer_ = fault_analyzer;
+
+ //@@ Should this init() method activate the consumer in the POA, or
+ // should the application do that?
+ // I don't think this object can activate itself because it doesn't
+ // know the policies on the POA. So, we assume the application has
+ // already activated us.
+ //@@ For now, let's try just activating it in the POA.
+
+ // Activate this consumer in the POA.
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ CORBA::Object_var obj =
+ this->poa_->id_to_reference (this->object_id_.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Narrow it to CosNotifyComm::StructuredPushConsumer.
+ this->consumer_ref_ = CosNotifyComm::StructuredPushConsumer::_narrow (
+ obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Subscribe to the FaultNotifier.
+ CosNotifyFilter::Filter_var filter = CosNotifyFilter::Filter::_nil ();
+ this->consumer_id_ = fault_notifier_->connect_structured_fault_consumer (
+ this->consumer_ref_.in(), filter.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "Leave TAO::FT_FaultConsumer::init.\n")
+ ));
+ }
+
+ // Success.
+ return 0;
+}
+
+/**
+* Clean house for process shut down.
+* - Disconnect from FT::FaultNotifier.
+* - Deactivate from the POA.
+*/
+int TAO::FT_FaultConsumer::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Enter TAO::FT_FaultConsumer::fini.\n")
+ ));
+ }
+
+ // Disconnect from the FaultNotifier.
+ // Swallow any exception.
+ ACE_TRY_NEW_ENV
+ {
+ if (!CORBA::is_nil (this->fault_notifier_.in()))
+ {
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::fini: "
+ "Disconnecting consumer from FaultNotifier.\n")
+ ));
+ }
+
+ this->fault_notifier_->disconnect_consumer (
+ this->consumer_id_ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::fini: "
+ "Deactivating from POA.\n")
+ ));
+ }
+
+ // Deactivate ourself from the POA.
+ this->poa_->deactivate_object (
+ this->object_id_.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::fini: "
+ "Error disconnecting from notifier (ignored).\n")
+ );
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN(1);
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::fini: "
+ "Setting our object reference to nil.\n")
+ ));
+ }
+
+ this->consumer_ref_ = CosNotifyComm::StructuredPushConsumer::_nil ();
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Leave TAO::FT_FaultConsumer::fini.\n")
+ ));
+ }
+
+ // Success.
+ return 0;
+}
+
+CosNotifyComm::StructuredPushConsumer_ptr
+TAO::FT_FaultConsumer::consumer_ref ()
+{
+ return CosNotifyComm::StructuredPushConsumer::_duplicate (
+ this->consumer_ref_.in ());
+}
+
+size_t TAO::FT_FaultConsumer::notifications () const
+{
+ return this->notifications_;
+}
+
+
+///////////////////
+// CORBA operations
+
+// Receive and process an incoming fault event from the Fault Notifier.
+// First, we validate the event to make sure it is something we can
+// handle. Then, we analyze it. If it is not an event we can handle,
+// we simply log the error and drop the event.
+void TAO::FT_FaultConsumer::push_structured_event (
+ const CosNotification::StructuredEvent &event
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosEventComm::Disconnected))
+{
+ // Debugging support.
+ this->notifications_ += 1;
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::push_structured_event: "
+ "Received Fault notification(%d):\n"),
+ ACE_static_cast (unsigned int, this->notifications_)
+ ));
+ }
+
+ int result = 0;
+
+ // Make sure it is an event type we can handle.
+ if (result == 0)
+ {
+ result = this->fault_analyzer_->validate_event_type (event);
+ if (result != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::push_structured_event: "
+ "Received invalid fault event type.\n")
+ ));
+ }
+ }
+
+ // Analyze the event.
+ if (result == 0)
+ {
+ result = this->fault_analyzer_->analyze_fault_event (event);
+ if (result != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_FaultConsumer::push_structured_event: "
+ "Could not analyze fault event.\n")
+ ));
+ }
+ }
+
+ return;
+}
+
+void TAO::FT_FaultConsumer::offer_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyComm::InvalidEventType))
+{
+ ACE_UNUSED_ARG (added);
+ ACE_UNUSED_ARG (removed);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("TAO::FT_FaultConsumer::offer_change() call ignored.\n")
+ ));
+}
+
+void TAO::FT_FaultConsumer::disconnect_structured_push_consumer (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ //TODO: For now, we are just ignoring the disconnect callback.
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("TAO::FT_FaultConsumer::disconnect_structured_push_consumer() "
+ "call ignored.\n")
+ ));
+}
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h
new file mode 100755
index 00000000000..4ce246a321a
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h
@@ -0,0 +1,167 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultConsumer.h
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FT_FAULT_CONSUMER_H_
+#define FT_FAULT_CONSUMER_H_
+
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "orbsvcs/CosNotifyCommS.h"
+#include "orbsvcs/FT_NotifierC.h"
+#include "FT_ReplicationManagerLib_export.h"
+
+namespace TAO
+{
+
+ ///////////////////////
+ // Forward declarations
+ class FT_FaultAnalyzer;
+
+ /**
+ * Implement the CosNotifyComm::StructuredPushConsumer interface.
+ *
+ */
+ class TAO_ReplicationManagerLib_Export FT_FaultConsumer
+ : public virtual POA_CosNotifyComm::StructuredPushConsumer
+ , public virtual PortableServer::RefCountServantBase
+ {
+
+ //////////////////////
+ // non-CORBA interface
+
+ public:
+ /**
+ * Default constructor.
+ */
+ FT_FaultConsumer ();
+
+ /**
+ * Destructor.
+ */
+ virtual ~FT_FaultConsumer ();
+
+ /**
+ * Connect to the FT::FaultNotifier.
+ * Note: We make the following assumptions about what the
+ * application will do:
+ * - Create an instance of this consumer class.
+ * - Obtain the object reference of the FaultNotifier to which this
+ * consumer should connect.
+ * - Call this init() method, passing it the POA with which we
+ * have been activated, the FaultNotifier, and ReplicationManager
+ * object references.
+ */
+ int init (
+ PortableServer::POA_ptr poa,
+ FT::FaultNotifier_ptr fault_notifier,
+ TAO::FT_FaultAnalyzer * fault_analyzer
+ ACE_ENV_ARG_DECL);
+
+ /**
+ * Clean house for process shut down.
+ * - Disconnect from FT::FaultNotifier.
+ * - Deactivate from the POA.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * Accessor for a duplicate of this consumer's object reference.
+ */
+ CosNotifyComm::StructuredPushConsumer_ptr consumer_ref ();
+
+ //@@ For testing purposes only, will be removed later.
+ /**
+ * Accessor for the number of notifications we have received.
+ */
+ size_t notifications () const;
+
+ public:
+
+ /**
+ * @name POA_CosNotifyComm::StructuredPushConsumer Methods
+ *
+ * Methods required by the POA_CosNotifyComm::StructuredPushConsumer
+ * interface.
+ */
+ //@{
+
+ ////////////////
+ // CORBA methods
+ virtual void push_structured_event (
+ const CosNotification::StructuredEvent &notification
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosEventComm::Disconnected));
+
+ virtual void offer_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyComm::InvalidEventType));
+
+ virtual void disconnect_structured_push_consumer (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ //@}
+
+ ////////////////////
+ // Forbidden methods
+ private:
+ /// Copy constructor.
+ FT_FaultConsumer (const FT_FaultConsumer & rhs);
+ /// Assignment operator.
+ FT_FaultConsumer & operator = (const FT_FaultConsumer & rhs);
+
+ ///////////////
+ // Data Members
+ private:
+
+ /// The POA with which we are activated.
+ PortableServer::POA_var poa_;
+
+ /// The ObjectId from our activation in the POA.
+ PortableServer::ObjectId_var object_id_;
+
+ /// The FaultNotifier's object reference.
+ FT::FaultNotifier_var fault_notifier_;
+
+ /// Application-specific Fault Analyzer.
+ TAO::FT_FaultAnalyzer * fault_analyzer_;
+
+ /// ConsumerId assigned by the notifier.
+ FT::FaultNotifier::ConsumerId consumer_id_;
+
+ /// Our consumer object reference.
+ CosNotifyComm::StructuredPushConsumer_var consumer_ref_;
+
+ ///TODO: Remove this later, it is just for testing.
+ // Keep track of how many notifications we have received.
+ size_t notifications_;
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_FAULT_CONSUMER_H_ */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp
new file mode 100755
index 00000000000..a8f7556b3f6
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp
@@ -0,0 +1,91 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultEventDescriptor.cpp
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ * This file provides the implementation of the
+ * TAO::FT_FaultEventDescriptor structure. The
+ * TAO::FT_FaultEventDescriptor is a helper type used during
+ * analysis of fault events.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_FaultEventDescriptor.h"
+
+ACE_RCSID (FT_FaultEventDescriptor,
+ FT_FaultEventDescriptor,
+ "$Id$")
+
+// Default constructor.
+TAO::FT_FaultEventDescriptor::FT_FaultEventDescriptor ()
+ : all_at_location_failed (0)
+ , all_of_type_at_location_failed (0)
+ , object_at_location_failed (0)
+ , object_is_primary (0)
+ , type_id (CORBA::string_dup (""))
+ , object_group_id (PortableGroup::ObjectGroupId (0))
+{
+}
+
+// Debugging support.
+void TAO::FT_FaultEventDescriptor::dump ()
+{
+ // Get the location as a string.
+ ACE_CString loc_as_string;
+ for (CORBA::ULong li = 0; li < this->location->length(); ++li)
+ {
+ if (li > 0) loc_as_string += "/";
+ // Assume only the "id" field of the CosNaming::Name is used.
+ loc_as_string += CORBA::string_dup (this->location[li].id);
+ }
+
+ if (this->all_at_location_failed == 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultEventDescriptor::dump: "
+ "All objects at location <%s> failed.\n"),
+ loc_as_string.c_str()
+ ));
+ }
+
+ if (this->all_of_type_at_location_failed == 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultEventDescriptor::dump: "
+ "All objects of type <%s> at location <%s> failed.\n"),
+ this->type_id.in(),
+ loc_as_string.c_str()
+ ));
+ }
+
+ if (this->object_at_location_failed == 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultEventDescriptor::dump: "
+ "Replica of type <%s> with ObjectGroupId <%Q> "
+ "at location <%s> failed.\n"),
+ this->type_id.in(),
+ this->object_group_id,
+ loc_as_string.c_str()
+ ));
+ }
+
+ if (this->object_is_primary == 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_FaultEventDescriptor::dump: "
+ "Primary replica of ObjectGroupId <%Q> failed.\n"),
+ this->object_group_id
+ ));
+ }
+}
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h
new file mode 100755
index 00000000000..d0b64b49e4f
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h
@@ -0,0 +1,76 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultEventDescriptor.h
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FT_FAULT_EVENT_DESCRIPTOR_H_
+#define FT_FAULT_EVENT_DESCRIPTOR_H_
+
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "orbsvcs/FT_CORBAC.h"
+#include "orbsvcs/PortableGroupC.h"
+#include "FT_ReplicationManagerLib_export.h"
+
+namespace TAO
+{
+ /// Helper class for describing the properties in a fault event.
+ struct TAO_ReplicationManagerLib_Export FT_FaultEventDescriptor
+ {
+ public:
+
+ /// Default constructor.
+ FT_FaultEventDescriptor ();
+
+ /// Debugging support.
+ void dump ();
+
+ /////////////////
+ /// Data members.
+
+ /// Flags indicating the "extent" of the fault.
+ int all_at_location_failed;
+ int all_of_type_at_location_failed;
+ int object_at_location_failed;
+ int object_is_primary;
+
+ /// The location of the fault.
+ PortableGroup::Location_var location;
+
+ /// The TypeId of the object that faulted.
+ PortableGroup::TypeId_var type_id;
+
+ /// The ObjectGroupId of the faulted object.
+ PortableGroup::ObjectGroupId object_group_id;
+
+ /// Other properties of the object group to which the fault relates.
+ PortableGroup::MembershipStyleValue membership_style;
+ FT::ReplicationStyleValue replication_style;
+ PortableGroup::MinimumNumberMembersValue minimum_number_members;
+ PortableGroup::InitialNumberMembersValue initial_number_members;
+
+ /// The object group's factories.
+ PortableGroup::FactoryInfos_var factories;
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_FAULT_EVENT_DESCRIPTOR_H_ */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp
new file mode 100644
index 00000000000..205f9f96d63
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp
@@ -0,0 +1,242 @@
+#include "FT_Property_Validator.h"
+#include "orbsvcs/PortableGroup/PG_Operators.h"
+#include "orbsvcs/FT_ReplicationManagerC.h"
+
+
+ACE_RCSID (PortableGroup,
+ FT_Property_Validator,
+ "$Id$")
+
+
+TAO::FT_Property_Validator::FT_Property_Validator (void)
+ : replication_style_ (1),
+ membership_style_ (1),
+ consistency_style_ (1),
+ fault_monitoring_style_ (1),
+ fault_monitoring_granularity_ (1),
+ factories_ (1)
+{
+ this->replication_style_.length (1);
+ this->replication_style_[0].id = CORBA::string_dup (::FT::FT_REPLICATION_STYLE);
+
+ this->membership_style_.length (1);
+ this->membership_style_[0].id = CORBA::string_dup (::FT::FT_MEMBERSHIP_STYLE);
+
+ this->consistency_style_.length (1);
+ this->consistency_style_[0].id = CORBA::string_dup (::FT::FT_CONSISTENCY_STYLE);
+
+ this->fault_monitoring_style_.length (1);
+ this->fault_monitoring_style_[0].id = CORBA::string_dup (::FT::FT_FAULT_MONITORING_STYLE);
+
+ this->fault_monitoring_granularity_.length (1);
+ this->fault_monitoring_granularity_[0].id = CORBA::string_dup (::FT::FT_FAULT_MONITORING_GRANULARITY);
+
+ this->factories_.length (1);
+ this->factories_[0].id = CORBA::string_dup (::FT::FT_FACTORIES);
+}
+
+
+TAO::FT_Property_Validator::~FT_Property_Validator (void)
+{
+}
+
+
+void
+TAO::FT_Property_Validator::validate_property (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ const CORBA::ULong len = props.length ();
+
+ for (CORBA::ULong i = 0; i < len; ++i)
+ {
+ const PortableGroup::Property & property = props[i];
+
+ if (property.nam == this->replication_style_)
+ {
+ FT::ReplicationStyleValue value;
+ if (!(property.val >>= value)
+ || (value != FT::STATELESS
+ && value != FT::COLD_PASSIVE
+ && value != FT::WARM_PASSIVE
+ && value != FT::ACTIVE
+ && value != FT::ACTIVE_WITH_VOTING
+ && value != FT::SEMI_ACTIVE))
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ }
+ else if (property.nam == this->membership_style_)
+ {
+ PortableGroup::MembershipStyleValue value;
+ if (!(property.val >>= value)
+ || (value != PortableGroup::MEMB_APP_CTRL
+ && value != PortableGroup::MEMB_INF_CTRL))
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ }
+ else if (property.nam == this->consistency_style_)
+ {
+ FT::ConsistencyStyleValue value;
+ if (!(property.val >>= value)
+ || (value != FT::CONS_APP_CTRL
+ && value != FT::CONS_INF_CTRL))
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ }
+ else if (property.nam == this->fault_monitoring_style_)
+ {
+ FT::FaultMonitoringStyleValue value;
+ if (!(property.val >>= value)
+ || (value != FT::PULL
+ && value != FT::PUSH
+ && value != FT::NOT_MONITORED))
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ }
+ else if (property.nam == this->fault_monitoring_granularity_)
+ {
+ FT::FaultMonitoringGranularityValue value;
+ if (!(property.val >>= value)
+ || (value != FT::MEMB
+ && value != FT::LOC
+ && value != FT::LOC_AND_TYPE))
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ }
+ else if (property.nam == this->factories_)
+ {
+ const PortableGroup::FactoriesValue * factories;
+ if (!(property.val >>= factories))
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ else
+ {
+ const CORBA::ULong flen = factories->length ();
+
+ if (flen == 0)
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+
+ for (CORBA::ULong j = 0; j < flen; ++j)
+ {
+ const PortableGroup::FactoryInfo & factory_info =
+ (*factories)[j];
+
+ if (CORBA::is_nil (factory_info.the_factory.in ())
+ || factory_info.the_location.length () == 0)
+ ACE_THROW (PortableGroup::InvalidProperty (property.nam,
+ property.val));
+ }
+ }
+ }
+ }
+}
+
+void
+TAO::FT_Property_Validator::validate_criteria (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::CannotMeetCriteria))
+{
+ const CORBA::ULong len = props.length ();
+ PortableGroup::Criteria invalid_criteria;
+
+ // Optimize for the worst case scenario where all properties are
+ // invalid.
+ invalid_criteria.length (len);
+
+ /// The invalid criteria index.
+ CORBA::ULong p = 0;
+
+ for (CORBA::ULong i = 0; i < len; ++i)
+ {
+ const PortableGroup::Property & property = props[i];
+ CORBA::Long value;
+
+ if (!(property.val >>= value))
+ invalid_criteria[p++] = property;
+ else
+ {
+ if (property.nam == this->replication_style_)
+ {
+ if ( value != FT::STATELESS
+ && value != FT::COLD_PASSIVE
+ && value != FT::WARM_PASSIVE
+ && value != FT::ACTIVE
+ && value != FT::ACTIVE_WITH_VOTING
+ && value != FT::SEMI_ACTIVE )
+ invalid_criteria[p++] = property;
+ }
+ else if (property.nam == this->membership_style_)
+ {
+ if ( value != PortableGroup::MEMB_APP_CTRL
+ && value != PortableGroup::MEMB_INF_CTRL )
+ invalid_criteria[p++] = property;
+ }
+ else if (property.nam == this->consistency_style_)
+ {
+ if ( value != FT::CONS_APP_CTRL
+ && value != FT::CONS_INF_CTRL )
+ invalid_criteria[p++] = property;
+ }
+ else if (property.nam == this->fault_monitoring_style_)
+ {
+ if ( value != FT::PULL
+ && value != FT::PUSH
+ && value != FT::NOT_MONITORED )
+ invalid_criteria[p++] = property;
+ }
+ else if (property.nam == this->fault_monitoring_granularity_)
+ {
+ if ( value != FT::MEMB
+ && value != FT::LOC
+ && value != FT::LOC_AND_TYPE )
+ invalid_criteria[p++] = property;
+ }
+ else if (property.nam == this->factories_)
+ {
+ PortableGroup::FactoriesValue * factories;
+ if (!(property.val >>= factories))
+ invalid_criteria[p++] = property;
+ else
+ {
+ const CORBA::ULong flen = factories->length ();
+
+ if (flen == 0)
+ invalid_criteria[p++] = property;
+ else
+ {
+ for (CORBA::ULong j = 0; j < flen; ++j)
+ {
+ const PortableGroup::FactoryInfo & factory_info =
+ (*factories)[j];
+
+ if (CORBA::is_nil (factory_info.the_factory.in ())
+ || factory_info.the_location.length () == 0)
+ {
+ invalid_criteria[p++] = property;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (p > 0)
+ {
+ // Reduce the length of the invalid criteria sequence in an
+ // effort to optimize the copying that will occur when the below
+ // exception is thrown. Reducing the length is fast since no
+ // deallocations should occur.
+ invalid_criteria.length (p);
+
+ ACE_THROW (PortableGroup::InvalidCriteria (invalid_criteria));
+ }
+}
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.h b/TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.h
new file mode 100644
index 00000000000..cc5912f9b36
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_Property_Validator.h
@@ -0,0 +1,93 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FT_Property_Validator.h
+ *
+ * $Id$
+ *
+ * @author Curt Hibbs <hibbs_c@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef FT_PROPERTY_VALIDATOR_H
+#define FT_PROPERTY_VALIDATOR_H
+
+#include /**/ "ace/pre.h"
+
+#include "orbsvcs/PortableGroup/PG_Default_Property_Validator.h"
+#include "orbsvcs/PortableGroupC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace TAO
+{
+ /**
+ * @class FT_Property_Validator
+ *
+ * @brief Default property validator implementation.
+ *
+ * This Property_Validator verifies that all properties defined in the
+ * FT CORBA IDL are valid.
+ */
+ class FT_Property_Validator : public TAO_PG_Default_Property_Validator
+ {
+ public:
+
+ /// Constructor.
+ FT_Property_Validator (void);
+
+ /// Destructor.
+ virtual ~FT_Property_Validator (void);
+
+ /// Validate the given properties. Throw an exception when the
+ /// first invalid property is encountered. The remaining properties
+ /// will not be validated.
+ virtual
+ void validate_property (const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /// Validate the given properties/criteria. All criteria
+ /// will be validated regardless of whether or not an invalid
+ /// property was encountered.
+ virtual
+ void validate_criteria (const PortableGroup::Properties & criteria
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::CannotMeetCriteria));
+
+ private:
+
+ /**
+ * @name Pre-initialize property Names.
+ *
+ * These properties are pre-initialized once to reduce property
+ * validation overhead. Note that the following properties are
+ * not validated since there are no restrictions for these values:
+ * InitialNumberMembers
+ * MinimumNumberMembers
+ * FaultMonitoringInterval
+ * CheckpointInterval
+ */
+ //@{
+ PortableGroup::Name replication_style_;
+ PortableGroup::Name membership_style_;
+ PortableGroup::Name consistency_style_;
+ PortableGroup::Name fault_monitoring_style_;
+ PortableGroup::Name fault_monitoring_granularity_;
+ PortableGroup::Name factories_;
+ //@}
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_PROPERTY_VALIDATOR_H */
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp
new file mode 100644
index 00000000000..1d4fbc0e5c3
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp
@@ -0,0 +1,1158 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicationManager.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file implements the FT_ReplicationManager class as declared in
+ * FT_Replication_Manager.h.
+ *
+ * @author Curt Hibbs <hibbs_c@ociweb.com>
+ */
+//=============================================================================
+#include "FT_ReplicationManager.h"
+#include "FT_Property_Validator.h"
+
+#include <ace/Get_Opt.h>
+#include <ace/OS_NS_stdio.h>
+#include <tao/Messaging/Messaging.h>
+#include <tao/IORTable/IORTable.h>
+#include <tao/debug.h>
+#include <tao/ORB_Constants.h>
+#include <orbsvcs/PortableGroup/PG_Object_Group.h>
+#include <orbsvcs/PortableGroup/PG_Property_Set.h>
+#include <orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+#include <orbsvcs/PortableGroup/PG_Property_Utils.h>
+#include <orbsvcs/PortableGroup/PG_conf.h>
+
+#include <orbsvcs/FaultTolerance/FT_IOGR_Property.h>
+#include <orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h>
+
+ACE_RCSID (FT_ReplicationManager,
+ FT_ReplicationManager,
+ "$Id$")
+
+
+// Use this macro at the beginning of CORBA methods
+// to aid in debugging.
+#define METHOD_ENTRY(name) \
+ if (TAO_debug_level > 6) \
+ { \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Enter %s\n", #name \
+ )); \
+ }
+
+// Use this macro to return from CORBA methods
+// to aid in debugging. Note that you can specify
+// the return value after the macro, for example:
+// METHOD_RETURN(Plugh::plover) xyzzy; is equivalent
+// to return xyzzy;
+// METHOD_RETURN(Plugh::troll); is equivalent to
+// return;
+// WARNING: THIS GENERATES TWO STATEMENTS!!! THE FOLLOWING
+// will not do what you want it to:
+// if (cave_is_closing) METHOD_RETURN(Plugh::pirate) aarrggh;
+// Moral: Always use braces.
+#define METHOD_RETURN(name) \
+ if (TAO_debug_level > 6) \
+ { \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Leave %s\n", #name \
+ )); \
+ } \
+ return /* value goes here */
+
+#define TODO
+//#define TODO int todo; // warn on todos
+
+TAO::FT_ReplicationManager::FT_ReplicationManager ()
+ : orb_ (CORBA::ORB::_nil ())
+ , poa_ (PortableServer::POA::_nil ())
+ , ior_output_file_ (0)
+ , ns_name_ (0)
+ , naming_context_ (CosNaming::NamingContext::_nil ())
+ , replication_manager_ref_ (FT::ReplicationManager::_nil ())
+ , fault_notifier_ (FT::FaultNotifier::_nil ())
+ , fault_notifier_ior_string_ (0)
+ , fault_consumer_ ()
+ , factory_registry_ ("ReplicationManager::FactoryRegistry")
+ , quit_ (0)
+{
+ // init must be called before using this object.
+}
+
+TAO::FT_ReplicationManager::~FT_ReplicationManager (void)
+{
+ // cleanup happens in fini
+}
+
+//public
+int TAO::FT_ReplicationManager::parse_args (int argc, char * argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "n:o:f:");
+ int c;
+
+ while ( (c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'o':
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+
+ case 'n':
+ this->ns_name_ = get_opts.opt_arg ();
+ break;
+
+ case 'f':
+ this->fault_notifier_ior_string_ = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ // fall thru
+ default:
+ ACE_ERROR_RETURN ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - usage: %s")
+ ACE_TEXT (" -o <iorfile (for testing)>")
+ ACE_TEXT (" -f <fault notifier IOR (for testing)>")
+ ACE_TEXT (" -n <name-to-bind-in-NameService (for testing)>")
+ ACE_TEXT ("\n"),
+ argv [0]),
+ -1);
+ break;
+ }
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+//public
+const char * TAO::FT_ReplicationManager::identity () const
+{
+ return this->identity_.c_str ();
+}
+
+//public
+int TAO::FT_ReplicationManager::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+
+ if (TAO_debug_level > 1)
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT (
+ "%T %n (%P|%t) - Enter TAO::FT_ReplicationManager::init.\n")
+ ));
+ }
+
+
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // Get the RootPOA.
+ CORBA::Object_var poa_obj = this->orb_->resolve_initial_references (
+ TAO_OBJID_ROOTPOA ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->poa_ = PortableServer::POA::_narrow (
+ poa_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+
+ // initialize the FactoryRegistry
+ this->factory_registry_.init (this->orb_.in (), this->poa_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ PortableGroup::FactoryRegistry_var factory_registry = this->factory_registry_.reference ();
+
+ // @@: do we want to use the same poa to create object groups?
+ this->group_factory_.init (
+ this->orb_.in (),
+ this->poa_.in (),
+ factory_registry.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Activate ourself in the POA.
+ PortableServer::ObjectId_var oid = this->poa_->activate_object (
+ this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ CORBA::Object_var this_obj = this->poa_->id_to_reference (
+ oid.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->replication_manager_ref_ = FT::ReplicationManager::_narrow (
+ this_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // If we were given an initial IOR string for a Fault Notifier on the
+ // command line, convert it to an IOR, then register the fault
+ // notifier.
+ if (this->fault_notifier_ior_string_ != 0)
+ {
+ CORBA::Object_var notifier_obj = this->orb_->string_to_object (
+ this->fault_notifier_ior_string_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ FT::FaultNotifier_var notifier = FT::FaultNotifier::_narrow (
+ notifier_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (! CORBA::is_nil (notifier.in ()))
+ {
+ this->register_fault_notifier_i (notifier.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ else
+ {
+ ACE_ERROR_RETURN ( (LM_ERROR,
+ ACE_TEXT (
+ "%T %n (%P|%t) - "
+ "Could not resolve notifier IOR.\n")),
+ -1);
+ }
+ }
+
+ // Activate the RootPOA.
+ PortableServer::POAManager_var poa_mgr =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ poa_mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Register our IOR in the IORTable with the key-string
+ // "ReplicationManager".
+ CORBA::Object_var ior_table_obj =
+ this->orb_->resolve_initial_references (
+ TAO_OBJID_IORTABLE ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ IORTable::Table_var ior_table =
+ IORTable::Table::_narrow (ior_table_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil (ior_table.in ()))
+ {
+ ACE_ERROR_RETURN ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - Unable to resolve the IORTable.\n")),
+ -1);
+ }
+ else
+ {
+ CORBA::String_var rm_ior_str = this->orb_->object_to_string (
+ this->replication_manager_ref_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ ior_table->bind ("ReplicationManager", rm_ior_str.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ // Publish our IOR, either to a file or the Naming Service.
+ if (this->ior_output_file_ != 0)
+ {
+ this->identity_ = "file:";
+ this->identity_ += this->ior_output_file_;
+ result = this->write_ior ();
+ }
+
+ if (result == 0 && this->ns_name_ != 0)
+ {
+ this->identity_ = "name:";
+ this->identity_ += this->ns_name_;
+
+ CORBA::Object_var naming_obj = this->orb_->resolve_initial_references (
+ TAO_OBJID_NAMESERVICE ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->naming_context_ =
+ CosNaming::NamingContext::_narrow (
+ naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (this->naming_context_.in ()))
+ {
+ ACE_ERROR_RETURN ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - Unable to find the Naming Service.\n")),
+ -1);
+ }
+
+ this->this_name_.length (1);
+ this->this_name_[0].id = CORBA::string_dup (this->ns_name_);
+
+ this->naming_context_->rebind (
+ this->this_name_,
+ this->replication_manager_ref_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ if (TAO_debug_level > 1)
+ {
+ if (result == 0)
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT (
+ "%T %n (%P|%t) - Leave TAO::FT_ReplicationManager::init.\n")
+ ));
+ }
+ else
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT (
+ "%T %n (%P|%t) - FT_ReplicationManager::init failed.\n")
+ ));
+ }
+ }
+
+ ////////////////////////////////
+ // Initialize default properties
+ PortableGroup::Value value;
+ value <<= TAO_PG_MEMBERSHIP_STYLE;
+ this->properties_support_.set_default_property (PortableGroup::PG_MEMBERSHIP_STYLE, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ value <<= TAO_PG_INITIAL_NUMBER_MEMBERS;
+ this->properties_support_.set_default_property (PortableGroup::PG_INITIAL_NUMBER_MEMBERS, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ value <<= TAO_PG_MINIMUM_NUMBER_MEMBERS;
+ this->properties_support_.set_default_property (PortableGroup::PG_MINIMUM_NUMBER_MEMBERS, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ value <<= FT::SEMI_ACTIVE;
+ this->properties_support_.set_default_property (FT::FT_REPLICATION_STYLE, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ value <<= FT::CONS_APP_CTRL;
+ this->properties_support_.set_default_property ( FT::FT_CONSISTENCY_STYLE, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ value <<= FT::PULL;
+ this->properties_support_.set_default_property (FT::FT_FAULT_MONITORING_STYLE, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ value <<= FT::MEMB;
+ this->properties_support_.set_default_property (FT::FT_FAULT_MONITORING_GRANULARITY, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+#if 0
+ FaultMonitoringIntervalAndTimeoutValue times;
+ value <<= times;
+ this->properties_support_.set_default_property (FT::FT_FAULT_MONITORING_INTERVAL_AND_TIMEOUT, value ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+#endif
+
+#if 0
+ value << interval;
+ this->properties_support_.set_default_property (FT::FT_CHECKPOINT_INTERVAL, value);
+#endif
+
+
+ return result;
+}
+
+//public
+int TAO::FT_ReplicationManager::idle (int & result ACE_ENV_ARG_DECL_NOT_USED)
+{
+ ACE_UNUSED_ARG (result);
+ return this->quit_;
+}
+
+
+//public
+int TAO::FT_ReplicationManager::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ int result = 0;
+
+ result = this->fault_consumer_.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (this->ior_output_file_ != 0)
+ {
+ ACE_OS::unlink (this->ior_output_file_);
+ this->ior_output_file_ = 0;
+ }
+ if (this->ns_name_ != 0)
+ {
+ this->naming_context_->unbind (this->this_name_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->ns_name_ = 0;
+ }
+
+ return result;
+}
+
+//CORBA
+void
+TAO::FT_ReplicationManager::register_fault_notifier (
+ FT::FaultNotifier_ptr fault_notifier
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ this->register_fault_notifier_i (fault_notifier ACE_ENV_ARG_PARAMETER);
+}
+
+//private
+void
+TAO::FT_ReplicationManager::register_fault_notifier_i (
+ FT::FaultNotifier_ptr fault_notifier
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ if (CORBA::is_nil (fault_notifier))
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT (
+ "%T %n (%P|%t) - "
+ "Bad Fault Notifier object reference provided.\n")
+ ));
+ ACE_THROW (CORBA::BAD_PARAM (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ EINVAL),
+ CORBA::COMPLETED_NO));
+ }
+
+ // Cache new Fault Notifier object reference.
+ this->fault_notifier_ = FT::FaultNotifier::_duplicate (fault_notifier);
+
+ // Re-initialize our consumer.
+ // Swallow any exception.
+ int result = 0;
+ ACE_TRY_NEW_ENV
+ {
+ //@@ should we check to see if a notifier is already registered, rather than
+ // simply "unregistering"?
+ result = this->fault_consumer_.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Note if the fini failed, we ignore it. It may not have been registered in the first place.
+
+ // Create a fault analyzer.
+ TAO::FT_FaultAnalyzer * analyzer = 0;
+ ACE_NEW_NORETURN (
+ analyzer,
+ TAO::FT_ReplicationManagerFaultAnalyzer (this));
+ if (analyzer == 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT (
+ "%T %n (%P|%t) - "
+ "Error creating FaultAnalyzer.\n"
+ )
+ ));
+ result = -1;
+ }
+ if (result == 0)
+ {
+ result = this->fault_consumer_.init (
+ this->poa_.in (),
+ this->fault_notifier_.in (),
+ analyzer
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManager::register_fault_notifier_i: "
+ "Error reinitializing FT_FaultConsumer.\n")
+ );
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ if (result != 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT (
+ "%T %n (%P|%t) - "
+ "Could not re-initialize FT_FaultConsumer.\n")
+ ));
+
+ ACE_THROW (CORBA::INTERNAL (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ EINVAL),
+ CORBA::COMPLETED_NO));
+ }
+}
+
+
+// Returns the reference of the Fault Notifier.
+//CORBA
+FT::FaultNotifier_ptr
+TAO::FT_ReplicationManager::get_fault_notifier (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException, FT::InterfaceNotFound))
+{
+ if (CORBA::is_nil (this->fault_notifier_.in ()))
+ {
+ ACE_THROW_RETURN ( FT::InterfaceNotFound () , FT::FaultNotifier::_nil ());
+ }
+ return FT::FaultNotifier::_duplicate (this->fault_notifier_.in ());
+}
+
+
+// TAO-specific find factory registry
+//CORBA
+::PortableGroup::FactoryRegistry_ptr
+TAO::FT_ReplicationManager::get_factory_registry (
+ const PortableGroup::Criteria & selection_criteria
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ ACE_UNUSED_ARG (selection_criteria);
+ return this->factory_registry_.reference ();
+}
+
+// TAO-specific shutdown operation.
+//public
+void TAO::FT_ReplicationManager::shutdown (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ this->quit_ = 1;
+}
+
+// Get the type_id associated with an object group.
+//CORBA
+char * TAO::FT_ReplicationManager::type_id (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+{
+ char * result = 0;
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ result = group->get_type_id ();
+ }
+ else
+ {
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), 0);
+ }
+ return result;
+}
+
+//////////////////////////////////////////////////////
+// PortableGroup::PropertyManager methods
+
+//CORBA
+void
+TAO::FT_ReplicationManager::set_default_properties (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+
+ this->properties_support_.set_default_properties (props ACE_ENV_ARG_PARAMETER);
+ //@@ validate properties?
+}
+
+//CORBA
+PortableGroup::Properties *
+TAO::FT_ReplicationManager::get_default_properties (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ return this->properties_support_.get_default_properties (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+//CORBA
+void
+TAO::FT_ReplicationManager::remove_default_properties (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ this->properties_support_.remove_default_properties (props
+ ACE_ENV_ARG_PARAMETER);
+}
+
+//CORBA
+void
+TAO::FT_ReplicationManager::set_type_properties (
+ const char *type_id,
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ this->properties_support_.set_type_properties (
+ type_id,
+ overrides
+ ACE_ENV_ARG_PARAMETER);
+}
+
+//CORBA
+PortableGroup::Properties *
+TAO::FT_ReplicationManager::get_type_properties (
+ const char *type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ return this->properties_support_.get_type_properties (type_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+//CORBA
+void
+TAO::FT_ReplicationManager::remove_type_properties (
+ const char *type_id,
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ this->properties_support_.remove_type_properties (
+ type_id,
+ props
+ ACE_ENV_ARG_PARAMETER);
+}
+
+//CORBA
+void
+TAO::FT_ReplicationManager::set_properties_dynamically (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ group->set_properties_dynamically (overrides ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ ACE_THROW (PortableGroup::ObjectGroupNotFound ());
+ }
+}
+
+//CORBA
+PortableGroup::Properties *
+TAO::FT_ReplicationManager::get_properties (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound))
+{
+ PortableGroup::Properties_var result;
+ ACE_NEW_THROW_EX (result, PortableGroup::Properties(), CORBA::NO_MEMORY ());
+
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ group->get_properties (result);
+ }
+ else
+ {
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), 0);
+ }
+ return result._retn();
+}
+
+
+//////////////////////////////////////////////////////
+// FT::FTObjectGroupManager methods
+
+/// Sets the primary member of a group.
+//CORBA
+PortableGroup::ObjectGroup_ptr
+TAO::FT_ReplicationManager::set_primary_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (
+ CORBA::SystemException
+ , PortableGroup::ObjectGroupNotFound
+ , PortableGroup::MemberNotFound
+ , FT::PrimaryNotSet
+ , FT::BadReplicationStyle
+ ))
+{
+ METHOD_ENTRY (TAO::FT_ReplicationManager::set_primary_member);
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil();
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+
+ PortableGroup::TagGroupTaggedComponent tag_component;
+ TAO_FT_IOGR_Property prop (tag_component);
+
+ int sts = group->set_primary_member (&prop, the_location ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ());
+ if (sts)
+ {
+ result = group->reference ();
+ }
+ else
+ {
+ ACE_THROW_RETURN (FT::PrimaryNotSet (), PortableGroup::ObjectGroup::_nil ());
+ }
+ }
+ else
+ {
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), PortableGroup::ObjectGroup::_nil ());
+ }
+ METHOD_RETURN (TAO::FT_ReplicationManager::set_primary_member) result._retn ();
+}
+
+//CORBA
+PortableGroup::ObjectGroup_ptr
+TAO::FT_ReplicationManager::create_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location,
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberAlreadyPresent,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::CannotMeetCriteria))
+{
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil();
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ group->create_member (the_location, type_id, the_criteria ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ());
+ result = group->reference ();
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::create_member: unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result._retn ());
+ }
+ return result._retn();
+}
+
+
+//CORBA
+PortableGroup::ObjectGroup_ptr
+TAO::FT_ReplicationManager::add_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location,
+ CORBA::Object_ptr member
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberAlreadyPresent,
+ PortableGroup::ObjectNotAdded))
+{
+ METHOD_ENTRY (TAO::FT_ReplicationManager::add_member);
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil ();
+
+ // Find the object group corresponding to this IOGR
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ group->add_member (
+ the_location,
+ member
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ result = group->reference ();
+
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::add_member to unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result._retn ());
+ }
+ METHOD_RETURN (TAO::FT_ReplicationManager::add_member) result._retn ();
+}
+
+//CORBA
+PortableGroup::ObjectGroup_ptr
+TAO::FT_ReplicationManager::remove_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberNotFound))
+{
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil ();
+
+ // Find the object group corresponding to this IOGR
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ group->remove_member (the_location ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (result._retn ());
+
+ group->minimum_populate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (result._retn ());
+ //@@ how about the case where the member was removed successfully,
+ // but for one reason or another we were unable to bring the group
+ // back up to minimum_number_of_replicas?
+
+ result = group->reference ();
+ }
+ else
+ {
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result._retn ());
+ }
+ return result._retn ();
+}
+
+//CORBA
+PortableGroup::Locations *
+TAO::FT_ReplicationManager::locations_of_members (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound))
+{
+ PortableGroup::Locations * result = 0;
+
+ // Find the object group corresponding to this IOGR
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ result = group->locations_of_members (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::locations_of_members: unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), 0);
+ }
+ return result;
+}
+
+//CORBA
+PortableGroup::ObjectGroups *
+TAO::FT_ReplicationManager::groups_at_location (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ return this->group_factory_.groups_at_location (the_location ACE_ENV_ARG_PARAMETER);
+}
+
+//CORBA
+PortableGroup::ObjectGroupId
+TAO::FT_ReplicationManager::get_object_group_id (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound))
+{
+ PortableGroup::ObjectGroupId result = 0;
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ group->get_object_group_id ();
+ ACE_CHECK_RETURN (result);
+ result = group->get_object_group_id ();
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::get_object_group_id: unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result);
+ }
+ return result;
+}
+
+//CORBA
+PortableGroup::ObjectGroup_ptr
+TAO::FT_ReplicationManager::get_object_group_ref (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound))
+{
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil ();
+
+ // Find the object group corresponding to this IOGR
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ result = group->reference ();
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::get_object_group_ref: unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result._retn ());
+ }
+ return result._retn();
+}
+
+//CORBA, TAO specific
+PortableGroup::ObjectGroup_ptr
+TAO::FT_ReplicationManager::get_object_group_ref_from_id (
+ PortableGroup::ObjectGroupId group_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (
+ CORBA::SystemException
+ , PortableGroup::ObjectGroupNotFound
+ ))
+{
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil ();
+
+ // Find the object group corresponding to this IOGR
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (group_id, group))
+ {
+ result = group->reference ();
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::get_object_group_ref_from_id: unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result._retn ());
+ }
+ return result._retn();
+}
+
+//CORBA
+CORBA::Object_ptr
+TAO::FT_ReplicationManager::get_member_ref (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberNotFound))
+{
+ CORBA::Object_var result = CORBA::Object::_nil();
+
+ // Find the object group corresponding to this IOGR
+ TAO::PG_Object_Group * group = 0;
+ if (this->group_factory_.find_group (object_group, group))
+ {
+ result = group->get_member_reference (the_location ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil());
+ }
+ else
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - FT_ReplicationManager::get_member_ref: unknown group\n")
+ ));
+ }
+ ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), result._retn ());
+ }
+ return result._retn();
+}
+
+
+//////////////////////////////////////////////////////
+// PortableGroup::GenericFactory methods
+
+//CORBA
+CORBA::Object_ptr
+TAO::FT_ReplicationManager::create_object (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ PortableGroup::GenericFactory::FactoryCreationId_out factory_creation_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::InvalidProperty,
+ PortableGroup::CannotMeetCriteria))
+{
+ METHOD_ENTRY (TAO::FT_ReplicationManager::create_object)
+
+ ////////////////////////////////
+ // find the properties for this
+ // type of object group
+ TAO::PG_Property_Set * typeid_properties
+ = this->properties_support_.find_typeid_properties (
+ type_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ TAO::PG_Object_Group * group
+ = this->group_factory_.create_group (
+ type_id,
+ the_criteria,
+ typeid_properties
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ group->initial_populate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ //@@ on error we should remove the group from the Group_Factory
+ // doing this "right" will require a var-type pointer to the object group
+ // that knows about the factory, too.
+
+ // Allocate a new FactoryCreationId for use as an "out" parameter.
+ PortableGroup::GenericFactory::FactoryCreationId_var factory_id = 0;
+ ACE_NEW_THROW_EX (factory_id,
+ PortableGroup::GenericFactory::FactoryCreationId,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ PortableGroup::ObjectGroupId group_id = group->get_object_group_id ();
+ factory_id <<= group_id;
+ factory_creation_id = factory_id._retn();
+
+ METHOD_RETURN (TAO::FT_ReplicationManager::create_object) group->reference ();
+}
+
+//CORBA
+void
+TAO::FT_ReplicationManager::delete_object (
+ const PortableGroup::GenericFactory::FactoryCreationId & factory_creation_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectNotFound))
+{
+
+ PortableGroup::ObjectGroupId group_id = 0;
+ if (factory_creation_id >>= group_id)
+ {
+ this->group_factory_.delete_group (
+ group_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ ACE_THROW (PortableGroup::ObjectNotFound ());
+ }
+}
+
+//private
+int TAO::FT_ReplicationManager::write_ior ()
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (this->ior_output_file_, "w");
+ if (out)
+ {
+ CORBA::String_var ior_str = this->orb_->object_to_string (
+ this->replication_manager_ref_.in ());
+ ACE_OS::fprintf (out, "%s", ior_str.in ());
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - Open failed for %s\n"), this->ior_output_file_
+ ));
+ }
+ return result;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h
new file mode 100644
index 00000000000..3536274bd0d
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h
@@ -0,0 +1,525 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicationManager.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ *
+ * @author Curt Hibbs <hibbs_c@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FT_REPLICATION_MANAGER_H_
+#define FT_REPLICATION_MANAGER_H_
+
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <orbsvcs/FT_ReplicationManagerS.h>
+//#include <orbsvcs/PortableGroup/PG_PropertyManager.h>
+//#include <orbsvcs/PortableGroup/PG_GenericFactory.h>
+//#include <orbsvcs/PortableGroup/PG_ObjectGroupManager.h>
+// Note: the new, improved versions...
+//#include <orbsvcs/PortableGroup/PG_Object_Group_Map.h>
+#include <orbsvcs/PortableGroup/PG_Properties_Support.h>
+#include <orbsvcs/PortableGroup/PG_Group_Factory.h>
+
+#include <orbsvcs/PortableGroup/PG_FactoryRegistry.h>
+#include <orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h>
+
+
+namespace TAO
+{
+ /**
+ * Implement the ReplicationManager interfaces.
+ *
+ * The ReplicationManager does most of its work by delegating to
+ * support objects. These include:
+ *
+ * TAO::PG_Group_Factory group_factory_;
+ * The group factory contains a collection of TAO::PG_Object_Groups
+ * It provides methods to create new groups, destroy old groups and
+ * find existing groups.
+ *
+ * TAO::PG_Object_Group
+ * These objects which can be found through the group factory provde
+ * methods to create and add group members, remove and delete group
+ * members and set group properties.
+ *
+ * TAO::PG_Properties_Support properties_support_;
+ * This object maintains sets of properties(TAO::PG_Property_Set).
+ * In particular it has one default property set, and a collection of
+ * property sets indexed by type_id.
+ * The default property set acts as a parent to the type_id property
+ * sets and the type_id property sets act as parents to the property
+ * sets contained in PG_Object_Group.
+ *
+ * FT::FaultNotifier_var fault_notifier_;
+ * This notification channel is "the" source of fault notifications.
+ *
+ * TAO::FT_FaultConsumer fault_consumer_;
+ * This object subscribes to the fault_notifier_as a fault consumer. It
+ * analyzes incoming fault notifications and calls appropriate ReplicationManager
+ * methods to respond to the fault.
+ *
+ * TAO::PG_FactoryRegistry factory_registry_;
+ * This object maintains a collection of factory registrations. When a factory
+ * is started it registeres itself with the ReplicationManager (delegated to this
+ * object). When a member needs to be created in an object group this factory
+ * registry is queried to find factories that can create the member.
+ */
+ class FT_ReplicationManager
+ : public virtual POA_FT::ReplicationManager,
+ public virtual PortableServer::RefCountServantBase
+ {
+
+ //////////////////////
+ // non-CORBA interface
+
+ public:
+ /**
+ * Default constructor.
+ * Call init after constructing the object to prepare it for use.
+ */
+ FT_ReplicationManager ();
+
+ /**
+ * Destructor.
+ * Actual cleanup happens in the fini function.
+ */
+ virtual ~FT_ReplicationManager ();
+
+ public:
+
+ /**
+ * Parse command line arguments.
+ * @param argc traditional C argc
+ * @param argv traditional C argv
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object.
+ * @param orb Our CORBA::ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * Idle-time activity.
+ *
+ * @param result is set to process return code if return value is non-zero.
+ * @return zero to continue; nonzero to exit
+ */
+ int idle (int & result ACE_ENV_ARG_DECL);
+
+
+ /**
+ * Identify this fault detector factory.
+ * @return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * Get the type_id associated with an object group.
+ * @param object_group The ObjectGroup.
+ * @return String identifying the type id associated with the ObjectGroup.
+ */
+ char * type_id (PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL);
+
+
+ //////////////////////
+ // CORBA interface(s)
+
+ public:
+
+ /**
+ * @name POA_FT::ReplicationManager Methods
+ *
+ * Methods required by the POA_FT::ReplicationManager interface.
+ */
+ //@{
+
+ /// Registers the Fault Notifier with the Replication Manager.
+ virtual void register_fault_notifier (
+ FT::FaultNotifier_ptr fault_notifier
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ /// Returns the reference of the Fault Notifier.
+ virtual FT::FaultNotifier_ptr get_fault_notifier (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , FT::InterfaceNotFound
+ ));
+
+ /// TAO-specific find factory registry
+ virtual ::PortableGroup::FactoryRegistry_ptr get_factory_registry (
+ const PortableGroup::Criteria & selection_criteria
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ /// TAO-specific shutdown operation.
+ virtual void shutdown (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ //@}
+
+ /**
+ * @name PortableGroup::PropertyManager Methods
+ *
+ * Methods required by the PortableGroup::PropertyManager interface.
+ */
+ //@{
+
+ /// Set the default properties to be used by all object groups.
+ virtual void set_default_properties (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /// Get the default properties used by all object groups.
+ virtual PortableGroup::Properties * get_default_properties (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Remove default properties.
+ virtual void remove_default_properties (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * Set properties associated with a given Replica type. These
+ * properties override the default properties on a name-by-name basis.
+ */
+ virtual void set_type_properties (
+ const char * type_id,
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * Return the properties associated with a given Replica type. These
+ * properties include the type-specific properties in use, in
+ * addition to the default properties that were not overridden.
+ */
+ virtual PortableGroup::Properties * get_type_properties (
+ const char * type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Remove the given properties associated with the Replica type ID.
+ virtual void remove_type_properties (
+ const char * type_id,
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * Dynamically set the properties associated with a given object
+ * group as the replication manager and replicas are being executed.
+ * These properties override the type-specific and default
+ * properties.
+ */
+ virtual void set_properties_dynamically (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * Return the properties currently in use by the given object
+ * group. These properties include those that were set dynamically,
+ * type-specific properties that weren't overridden, properties that
+ * were used when the Replica was created, and default properties
+ * that weren't overridden.
+ */
+ virtual PortableGroup::Properties * get_properties (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound));
+
+ //@}
+
+ /**
+ * @name FT::FTObjectGroupManager methods
+ *
+ * Methods required by the FT::FTObjectGroupManager
+ * interface.
+ */
+ //@{
+
+ /// Create a member in an object group.
+ virtual PortableGroup::ObjectGroup_ptr create_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location,
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberAlreadyPresent,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::CannotMeetCriteria));
+
+ /// Add an existing object to the ObjectGroup.
+ virtual PortableGroup::ObjectGroup_ptr add_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location,
+ CORBA::Object_ptr member
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberAlreadyPresent,
+ PortableGroup::ObjectNotAdded));
+
+ /**
+ * Remove the member at a specific location from an
+ * ObjectGroup. Application created objects must be
+ * deleted by the application. Objects created by the
+ * infrastructure (replication manager) will be deleted by the
+ * infrastructure.
+ * For infrastructure-controlled membership: After the member
+ * is removed from the group the minumum number of members
+ * parameter will be checked and new members will be created
+ * as necessary (if possible.)
+ */
+ virtual PortableGroup::ObjectGroup_ptr remove_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberNotFound));
+
+ /// Return the locations of the members in the given ObjectGroup.
+ virtual PortableGroup::Locations * locations_of_members (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound));
+
+ /// Return the locations of the members in the given ObjectGroup.
+ virtual PortableGroup::ObjectGroups * groups_at_location (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Return the ObjectGroupId for the given ObjectGroup.
+ virtual PortableGroup::ObjectGroupId get_object_group_id (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound));
+
+ /**
+ * Return an update the IOGR for an object group. If no changes have
+ * been made in the group the return value will be the same as the object_group
+ * parameter.
+ */
+ virtual PortableGroup::ObjectGroup_ptr get_object_group_ref (
+ PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound));
+
+ /**
+ * TAO-specific extension.
+ * Return the ObjectGroup reference for the given ObjectGroupId.
+ */
+ virtual PortableGroup::ObjectGroup_ptr get_object_group_ref_from_id (
+ PortableGroup::ObjectGroupId group_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::ObjectGroupNotFound
+ ));
+
+ /**
+ * Return the reference corresponding to the Replica of a given
+ * ObjectGroup at the given location.
+ */
+ virtual CORBA::Object_ptr get_member_ref (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & loc
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectGroupNotFound,
+ PortableGroup::MemberNotFound));
+
+ /// Sets the primary member of a group.
+ virtual PortableGroup::ObjectGroup_ptr set_primary_member (
+ PortableGroup::ObjectGroup_ptr object_group,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::ObjectGroupNotFound
+ , PortableGroup::MemberNotFound
+ , FT::PrimaryNotSet
+ , FT::BadReplicationStyle
+ ));
+
+ //@}
+
+ /**
+ * @name PortableGroup::GenericFactory methods
+ *
+ * Methods required by the PortableGroup::GenericFactory interface.
+ */
+ //@{
+
+ /**
+ * Create an object of the specified type that adheres to the
+ * restrictions defined by the provided Criteria. The out
+ * FactoryCreationId parameter may be passed to the delete_object()
+ * method to delete the object.
+ *
+ * Infrastructure controlled membership: The initial number of members
+ * property will be honored by creating new members and adding them to
+ * the group.
+ */
+ virtual CORBA::Object_ptr create_object (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ PortableGroup::GenericFactory::FactoryCreationId_out
+ factory_creation_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::InvalidProperty,
+ PortableGroup::CannotMeetCriteria));
+
+ /**
+ * Delete the object group corresponding to the provided
+ * FactoryCreationId. For infratructure-controlled membership
+ * all members will be deleted. For application-controlled membership
+ * the application is responsible for deleting group members.
+ */
+ virtual void delete_object (
+ const PortableGroup::GenericFactory::FactoryCreationId &
+ factory_creation_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectNotFound));
+
+ //@}
+
+ /////////////////////////
+ // Implementation methods
+ private:
+ /**
+ * Write this factory's IOR to a file
+ */
+ int write_ior (void);
+
+ /// Registers the Fault Notifier with the Replication Manager.
+ void register_fault_notifier_i (
+ FT::FaultNotifier_ptr fault_notifier
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ ////////////////
+ // Forbidden methods
+ FT_ReplicationManager (const FT_ReplicationManager & rhs);
+ FT_ReplicationManager & operator = (const FT_ReplicationManager & rhs);
+
+ ///////////////
+ // Data Members
+ private:
+
+ /// The orb
+ CORBA::ORB_var orb_;
+
+ /// The POA.
+ PortableServer::POA_var poa_;
+
+ /// A file to which the factory's IOR should be written.
+ const char * ior_output_file_;
+
+ /// A name to be used to register the factory with the name service.
+ const char * ns_name_;
+ CosNaming::NamingContext_var naming_context_;
+ CosNaming::Name this_name_;
+
+ /// Our object reference.
+ FT::ReplicationManager_var replication_manager_ref_;
+
+ /// A human-readable string to identify this Replication Manager.
+ ACE_CString identity_;
+
+ /// an object that manages a collection of object groups
+ TAO::PG_Group_Factory group_factory_;
+
+ /// an object that manages default and type_id related properties
+ TAO::PG_Properties_Support properties_support_;
+
+ /// The fault notifier.
+ FT::FaultNotifier_var fault_notifier_;
+ /// set by command line -f option
+ const char * fault_notifier_ior_string_;
+
+ /// The fault consumer.
+ TAO::FT_FaultConsumer fault_consumer_;
+
+ /// The factory registry
+ TAO::PG_FactoryRegistry factory_registry_;
+
+ /// Quit flag.
+ int quit_;
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_REPLICATION_MANAGER_H_ */
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc
new file mode 100644
index 00000000000..c8b0643d09c
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager.mpc
@@ -0,0 +1,26 @@
+// $Id$
+project(*Lib): orbsvcslib, core, notification, fault_tolerance, ftorb, portablegroup {
+ sharedname = TAO_ReplicationManagerLib
+ dynamicflags = TAO_REPLICATIONMANAGERLIB_BUILD_DLL
+ avoids += minimum_corba
+
+ Source_Files {
+ FT_FaultAnalyzer.cpp
+ FT_DefaultFaultAnalyzer.cpp
+ FT_FaultEventDescriptor.cpp
+ FT_FaultConsumer.cpp
+ }
+}
+
+project : taoserver, orbsvcsexe, fault_tolerance, iormanip, ftorb {
+ exename = FT_ReplicationManager
+ libs += TAO_ReplicationManagerLib
+ after += FT_ReplicationManager_Lib
+ Source_Files {
+ FT_ReplicationManager.cpp
+ FT_ReplicationManager_Main.cpp
+ FT_Property_Validator.cpp
+ FT_ReplicationManagerFaultAnalyzer.cpp
+ }
+}
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp
new file mode 100755
index 00000000000..bf32bd3af12
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp
@@ -0,0 +1,1128 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicationManagerFaultAnalyzer.cpp
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_ReplicationManagerFaultAnalyzer.h"
+#include "orbsvcs/CosNotifyCommC.h"
+#include "orbsvcs/FT_NotifierC.h"
+#include "orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h"
+#include "orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h"
+#include "orbsvcs/PortableGroup/PG_Property_Utils.h"
+#include "orbsvcs/PortableGroup/PG_Operators.h"
+#include "orbsvcs/FaultTolerance/FT_IOGR_Property.h"
+#include <tao/debug.h>
+#include <iostream>
+
+ACE_RCSID (FT_ReplicationManagerFaultAnalyzer,
+ FT_ReplicationManagerFaultAnalyzer,
+ "$Id$")
+
+/// Constructor.
+TAO::FT_ReplicationManagerFaultAnalyzer::FT_ReplicationManagerFaultAnalyzer (
+ const TAO::FT_ReplicationManager * replication_manager)
+ : replication_manager_ (
+ ACE_const_cast (TAO::FT_ReplicationManager *, replication_manager))
+{
+}
+
+/// Destructor.
+TAO::FT_ReplicationManagerFaultAnalyzer::~FT_ReplicationManagerFaultAnalyzer ()
+{
+}
+
+// Validate the event to make sure it is one we can handle.
+// If it is not an event we can handle, this function logs the error
+// and returns -1.
+int TAO::FT_ReplicationManagerFaultAnalyzer::validate_event_type (
+ const CosNotification::StructuredEvent & event)
+{
+ // Delegate to base class.
+ //@@ Visual C++ 6.0 won't compile this if I include the namespace name
+ // on the base class.
+ // return TAO::FT_DefaultFaultAnalyzer::validate_event_type (event);
+ return FT_DefaultFaultAnalyzer::validate_event_type (event);
+}
+
+/// Analyze a fault event.
+int TAO::FT_ReplicationManagerFaultAnalyzer::analyze_fault_event (
+ const CosNotification::StructuredEvent & event)
+{
+ int result = 0;
+
+ const CosNotification::FilterableEventBody & filterable =
+ event.filterable_data;
+ CORBA::ULong item_count = filterable.length ();
+ if (TAO_debug_level > 6)
+ {
+ for (CORBA::ULong n_prop = 0; n_prop < item_count; ++n_prop)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT(
+ "TAO::FT_ReplicationManagerFaultAnalyzer::analyze_fault_event: "
+ "Property Name: <%s>\n"),
+ filterable[n_prop].name.in()
+ ));
+ }
+ }
+
+ // Populate a TAO::FT_FaultEventDescriptor structure from the
+ // properties in the event.
+ TAO::FT_FaultEventDescriptor fault_event_desc;
+
+ // Extract the location.
+ if (result == 0)
+ {
+ result = this->get_location (
+ filterable[1].value, fault_event_desc.location.out());
+ }
+
+ // CORBA 3.0.2, section 23.4.5.1 states:
+ //
+ // The fault detector may or may not set the TypeId and
+ // ObjectGroupId fields with the following interpretations:
+ // - Neither is set if all objects at the given location have failed.
+ // - TypeId is set and ObjectGroupId is not set if all objects at
+ // the given location with the given type have failed.
+ // - Both are set if the member with the given ObjectGroupId at the
+ // given location has failed.
+
+ if ((result == 0) && (item_count == 2))
+ {
+ // All objects at location failed.
+ fault_event_desc.all_at_location_failed = 1;
+ }
+
+ if ((result == 0) && (item_count == 3))
+ {
+ // All objects of type at location failed.
+ fault_event_desc.all_of_type_at_location_failed = 1;
+ result = this->get_type_id (
+ filterable[2].value, fault_event_desc.type_id.out());
+ }
+
+ if ((result == 0) && (item_count == 4))
+ {
+ // An object (replica) at a location failed.
+ fault_event_desc.object_at_location_failed = 1;
+ result = this->get_type_id (
+ filterable[2].value, fault_event_desc.type_id.out());
+ if (result == 0)
+ {
+ result = this->get_object_group_id (
+ filterable[3].value, fault_event_desc.object_group_id);
+ }
+ }
+
+ // A specific object at a location failed.
+ if ((result == 0) && (fault_event_desc.object_at_location_failed == 1))
+ {
+ result = this->single_replica_failure (fault_event_desc);
+ }
+
+ // All objects at location failed.
+ if ((result == 0) && (fault_event_desc.all_at_location_failed == 1))
+ {
+ result = this->location_failure (fault_event_desc);
+ }
+
+ // All objects of type at location failed.
+ if ((result == 0) && (fault_event_desc.all_of_type_at_location_failed == 1))
+ {
+ result = this->type_failure (fault_event_desc);
+ }
+
+ // Debugging support.
+ if (TAO_debug_level > 6)
+ {
+ fault_event_desc.dump ();
+ }
+
+ return result;
+}
+
+// Extract a string type_id from CORBA::Any.
+// Caller owns the string returned via <type_id>.
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_type_id (
+ const CORBA::Any& val, PortableGroup::TypeId_out type_id)
+{
+ const char* type_id_value;
+ if ((val >>= type_id_value) == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_type_id: "
+ "Could not extract TypeId value from any.\n")),
+ -1);
+ }
+
+ // Make a deep copy of the TypeId string.
+ type_id = CORBA::string_dup (type_id_value);
+ return 0;
+}
+
+// Extract the ObjectGroupId from CORBA::Any.
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_object_group_id (
+ const CORBA::Any& val, PortableGroup::ObjectGroupId& id)
+{
+ PortableGroup::ObjectGroupId temp_id = (PortableGroup::ObjectGroupId)0;
+ if ((val >>= temp_id) == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_object_group_id: "
+ "Could not extract ObjectGroupId value from any.\n")),
+ -1);
+ }
+ id = temp_id;
+ return 0;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_location (
+ const CORBA::Any& val, PortableGroup::Location_out location)
+{
+ const PortableGroup::Location* temp_loc;
+ if ((val >>= temp_loc) == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_location: "
+ "Could not extract Location value from fault event.\n")),
+ -1);
+ }
+ // Make a deep copy of the Location.
+ ACE_NEW_RETURN (location, PortableGroup::Location (*temp_loc), -1);
+ return 0;
+}
+
+//
+//TODO: Use TAO::PG_Property_Set to get property values from properties
+// instead of all these specific "get" functions.
+//
+
+// Get the MembershipStyle property.
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_membership_style (
+ const PortableGroup::Properties & properties,
+ PortableGroup::MembershipStyleValue & membership_style)
+{
+ PortableGroup::Name prop_name (1);
+ prop_name.length (1);
+ prop_name[0].id = CORBA::string_dup (FT::FT_MEMBERSHIP_STYLE);
+ int result = 0;
+
+ PortableGroup::Value value;
+ if (TAO_PG::get_property_value (prop_name, properties, value)
+ && ((value >>= membership_style) == 1))
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_membership_style: "
+ "MembershipStyle is <%d>:\n"),
+ membership_style
+ ));
+ }
+ }
+ else
+ {
+ result = -1;
+ }
+
+ return result;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_replication_style (
+ const PortableGroup::Properties & properties,
+ FT::ReplicationStyleValue & replication_style)
+{
+ PortableGroup::Name prop_name (1);
+ prop_name.length (1);
+ prop_name[0].id = CORBA::string_dup (FT::FT_REPLICATION_STYLE);
+ int result = 0;
+
+ PortableGroup::Value value;
+ if (TAO_PG::get_property_value (prop_name, properties, value)
+ && ((value >>= replication_style) == 1))
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_replication_style: "
+ "ReplicationStyle is <%d>:\n"),
+ replication_style
+ ));
+ }
+ }
+ else
+ {
+ result = -1;
+ }
+
+ return result;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_minimum_number_members (
+ const PortableGroup::Properties & properties,
+ PortableGroup::MinimumNumberMembersValue & minimum_number_members)
+{
+ PortableGroup::Name prop_name (1);
+ prop_name.length (1);
+ prop_name[0].id = CORBA::string_dup (FT::FT_MINIMUM_NUMBER_MEMBERS);
+ int result = 0;
+
+ PortableGroup::Value value;
+ if (TAO_PG::get_property_value (prop_name, properties, value)
+ && ((value >>= minimum_number_members) == 1))
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_minimum_number_members: "
+ "MinimumNumberMembers is <%d>:\n"),
+ minimum_number_members
+ ));
+ }
+ }
+ else
+ {
+ result = -1;
+ }
+
+ return result;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_initial_number_members (
+ const PortableGroup::Properties & properties,
+ PortableGroup::InitialNumberMembersValue & initial_number_members)
+{
+ PortableGroup::Name prop_name (1);
+ prop_name.length (1);
+ prop_name[0].id = CORBA::string_dup (FT::FT_INITIAL_NUMBER_MEMBERS);
+ int result = 0;
+
+ PortableGroup::Value value;
+ if (TAO_PG::get_property_value (prop_name, properties, value)
+ && ((value >>= initial_number_members) == 1))
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_initial_number_members: "
+ "InitialNumberMembers is <%d>:\n"),
+ initial_number_members
+ ));
+ }
+ }
+ else
+ {
+ result = -1;
+ }
+
+ return result;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::get_factories (
+ const PortableGroup::Properties & properties,
+ PortableGroup::FactoryInfos_out factories)
+{
+ PortableGroup::Name prop_name (1);
+ prop_name.length (1);
+ prop_name[0].id = CORBA::string_dup (FT::FT_FACTORIES);
+ int result = 0;
+
+ PortableGroup::FactoryInfos_var temp_factories;
+ PortableGroup::Value value;
+ if (TAO_PG::get_property_value (prop_name, properties, value) == 1)
+ {
+ if ((value >>= temp_factories) == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_factories: "
+ "Could not extract Factories from properties.\n")
+ ));
+ result = -1;
+ }
+ else
+ {
+ // Make a deep copy of the Factories.
+ ACE_NEW_RETURN (factories, PortableGroup::FactoryInfos (temp_factories.in()), -1);
+ result = 0;
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::get_factories: "
+ "Could not find Factories property.\n")
+ ));
+ result = -1;
+ }
+ return result;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::is_primary_member (
+ PortableGroup::ObjectGroup_ptr iogr,
+ const PortableGroup::Location & location,
+ int & object_is_primary)
+{
+
+ // To determine if this was a primary that faulted:
+ // Get the TagFTGroupTaggedComponent from the IOGR and search
+ // for the primary, using the TAO_FT_IOGR_Property helper class.
+ // Then, compare the TypeId and Location of the failed object with
+ // those of the primary. If they match, it was a primary fault.
+
+ int result = 0;
+ object_is_primary = 0;
+
+ ACE_TRY_NEW_ENV
+ {
+ // Create an "empty" TAO_FT_IOGR_Property and use it to get the
+ // tagged component.
+ TAO_FT_IOGR_Property temp_ft_prop;
+ FT::TagFTGroupTaggedComponent ft_group_tagged_component;
+ CORBA::Boolean got_tagged_component =
+ temp_ft_prop.get_tagged_component (
+ iogr, ft_group_tagged_component ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (got_tagged_component)
+ {
+ // Create a new TAO_FT_IOGR_Property with the tagged
+ // component.
+ TAO_FT_IOGR_Property ft_prop (ft_group_tagged_component);
+
+ // Check to see if a primary is set.
+ CORBA::Boolean primary_is_set = ft_prop.is_primary_set (
+ iogr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (primary_is_set)
+ {
+ // Get the primary object.
+ CORBA::Object_var primary_obj = ft_prop.get_primary (
+ iogr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (CORBA::is_nil (primary_obj.in()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::is_primary_member: "
+ "Could not get primary IOR from IOGR.\n")),
+ -1);
+ }
+
+ // Get the object reference of the failed member.
+ CORBA::Object_var failed_obj =
+ this->replication_manager_->get_member_ref (
+ iogr, location ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (CORBA::is_nil (failed_obj.in()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::is_primary_member: "
+ "Could not get IOR of failed member from IOGR.\n")),
+ -1);
+ }
+
+ // Are the two object refs (primary and failed) equivalent?
+ CORBA::Boolean equiv = primary_obj->_is_equivalent (
+ failed_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (equiv)
+ {
+ object_is_primary = 1;
+ result = 0;
+ }
+ }
+ else // primary is not set
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::is_primary_member: "
+ "Primary is not set on IOGR.\n")
+ ));
+ result = -1;
+ }
+ }
+ else // could not get tagged component
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::is_primary_member: "
+ "Could not get tagged component from IOGR.\n")
+ ));
+ result = -1;
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::is_primary_member: ")
+ );
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+
+// Handle a single replica failure.
+int TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure (
+ TAO::FT_FaultEventDescriptor & fault_event_desc)
+{
+ int result = 0;
+ PortableGroup::ObjectGroup_var the_object_group = PortableGroup::ObjectGroup::_nil();
+ PortableGroup::Properties_var properties;
+
+ ACE_TRY_NEW_ENV
+ {
+ // Get the object group reference based on the ObjectGroupId.
+ the_object_group =
+ this->replication_manager_->get_object_group_ref_from_id (
+ fault_event_desc.object_group_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // This should not happen, but let us be safe.
+ if (CORBA::is_nil (the_object_group.in()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Could not get ObjectGroup reference from ObjectGroupId: <%Q>.\n"),
+ fault_event_desc.object_group_id
+ ));
+ ACE_TRY_THROW (PortableGroup::ObjectGroupNotFound ());
+ }
+
+ // Get the properties associated with this ObjectGroup.
+ properties = this->replication_manager_->get_properties (
+ the_object_group.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: ")
+ );
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ if (result == 0)
+ {
+ // Get the MembershipStyle property.
+ PortableGroup::MembershipStyleValue membership_style;
+ result = this->get_membership_style (properties.in(), membership_style);
+ if (result != 0)
+ {
+ //@@ it seems a shame to fail here. We should at least remove the failed replica from the group.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Could not extract MembershipStyle from properties on "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id),
+ -1);
+ }
+ else
+ {
+ fault_event_desc.membership_style = membership_style;
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "MembershipStyleValue = <%d>"),
+ fault_event_desc.membership_style
+ ));
+ }
+ }
+
+ // Get the ReplicationStyle property.
+ FT::ReplicationStyleValue replication_style;
+ result = this->get_replication_style (properties.in(), replication_style);
+ if (result != 0)
+ {
+ //@@ it seems a shame to fail here. We should at least remove the failed replica from the group.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Could not extract ReplicationStyle from properties on "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id),
+ -1);
+ }
+ else
+ {
+ fault_event_desc.replication_style = replication_style;
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "ReplicationStyleValue = <%d>"),
+ fault_event_desc.replication_style
+ ));
+ }
+ }
+
+ // Get the MinimumNumberMembers property.
+ PortableGroup::MinimumNumberMembersValue minimum_number_members;
+ result = this->get_minimum_number_members (
+ properties.in(), minimum_number_members);
+ if (result != 0)
+ {
+ // This is not a fatal error. It may be App Controlled.
+ result = 0;
+ if (TAO_debug_level > 3)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Could not extract MinimumNumberMembers from properties on "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id));
+ }
+ }
+ else
+ {
+ fault_event_desc.minimum_number_members = minimum_number_members;
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "MinimumNumberMembers = <%d>"),
+ fault_event_desc.minimum_number_members
+ ));
+ }
+ }
+
+ // Get the InitialNumberMembers property.
+ PortableGroup::InitialNumberMembersValue initial_number_members;
+ result = this->get_initial_number_members (
+ properties.in(), initial_number_members);
+ if (result != 0)
+ {
+ // This is not a fatal error. It may be App Controlled.
+ result = 0;
+ if (TAO_debug_level > 3)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Could not extract InitialNumberMembers from properties on "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id));
+ }
+ }
+ else
+ {
+ fault_event_desc.initial_number_members = initial_number_members;
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "InitialNumberMembers = <%d>"),
+ fault_event_desc.initial_number_members
+ ));
+ }
+ }
+
+ // Get the Factories property.
+ result = this->get_factories (
+ properties.in(),
+ fault_event_desc.factories.out());
+ if (result != 0)
+ {
+ // This is not a fatal error. It may be App Controlled.
+ result = 0;
+ if (TAO_debug_level > 3)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Could not extract Factories from properties on "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id));
+ }
+ }
+ else
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Got Factories from properties on "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id
+ ));
+ }
+ }
+
+ }
+
+ // If the ReplicationStyle is COLD_PASSIVE, WARM_PASSIVE, or
+ // SEMI_ACTIVE, we can see if it was the primary replica that
+ // failed.
+ if ((result == 0) &&
+ (fault_event_desc.replication_style == FT::COLD_PASSIVE ||
+ fault_event_desc.replication_style == FT::WARM_PASSIVE ||
+ fault_event_desc.replication_style == FT::SEMI_ACTIVE))
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Checking to see if failed replica was the primary for "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id
+ ));
+ }
+ result = this->is_primary_member (
+ the_object_group.in(),
+ fault_event_desc.location.in(),
+ fault_event_desc.object_is_primary);
+ }
+
+ // If the MembershipStyle is FT::MEMB_INF_CTRL (infrastructure
+ // controlled) and the primary has faulted, establish a new primary.
+ // We get back a new object group.
+ if ((result == 0) &&
+ (fault_event_desc.membership_style == FT::MEMB_INF_CTRL))
+ {
+
+ PortableGroup::ObjectGroup_var new_object_group;
+ result = this->remove_failed_member (
+ the_object_group.in(),
+ fault_event_desc,
+ new_object_group.out());
+ if (result == 0)
+ {
+ the_object_group = new_object_group;
+ }
+
+ if (fault_event_desc.object_is_primary == 1)
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Setting new primary for "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id
+ ));
+ }
+ result = this->set_new_primary (
+ the_object_group.in(),
+ fault_event_desc,
+ new_object_group.out());
+ if (result == 0)
+ {
+ the_object_group = new_object_group;
+ }
+ }
+ }
+
+#if 0 // According to the FT CORBA specification, this will be handled by the ObjectGroupManager::remove_member method
+ // If the MembershipStyle is FT::MEMB_INF_CTRL (infrastructure
+ // controlled) and the number of remaining members is less than
+ // the MinimumNumberMembers property, add new members.
+ // We get back a new object group.
+ if ((result == 0) &&
+ (fault_event_desc.membership_style == FT::MEMB_INF_CTRL))
+ {
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::single_replica_failure: "
+ "Potentially adding new members to "
+ "ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id
+ ));
+ }
+ result = this->add_members (
+ the_object_group.in(),
+ fault_event_desc,
+ new_object_group.out());
+ the_object_group = new_object_group;
+ }
+#endif
+ return result;
+}
+
+int TAO::FT_ReplicationManagerFaultAnalyzer::remove_failed_member (
+ PortableGroup::ObjectGroup_ptr iogr,
+ TAO::FT_FaultEventDescriptor & fault_event_desc,
+ PortableGroup::ObjectGroup_out new_iogr)
+{
+ int result = 0;
+ new_iogr = PortableGroup::ObjectGroup::_nil ();
+
+ ACE_TRY_NEW_ENV
+ {
+ // Remove the old primary member from the object group.
+ PortableGroup::ObjectGroup_var temp_iogr =
+ this->replication_manager_->remove_member (
+ iogr,
+ fault_event_desc.location.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ new_iogr = temp_iogr._retn ();
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ "TAO::FT_ReplicationManagerFaultAnalyzer::remove_failed_member: ");
+ result = -1;
+ }
+ ACE_ENDTRY;
+ return result;
+}
+
+
+// Choose a new primary member for the ObjectGroup.
+// Sets <new_iogr> and returns 0 on success.
+// Returns -1 on failure.
+int TAO::FT_ReplicationManagerFaultAnalyzer::set_new_primary (
+ PortableGroup::ObjectGroup_ptr iogr,
+ TAO::FT_FaultEventDescriptor & fault_event_desc,
+ PortableGroup::ObjectGroup_out new_iogr)
+{
+ int result = 0;
+ new_iogr = PortableGroup::ObjectGroup::_nil ();
+
+ ACE_TRY_NEW_ENV
+ {
+ // Get the locations of the remaining members of the object group.
+ PortableGroup::Locations_var locations =
+ this->replication_manager_->locations_of_members (
+ iogr
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Choose the first location as our new primary location.
+ if (locations->length() >= 1)
+ {
+ new_iogr = this->replication_manager_->set_primary_member (
+ iogr,
+ (*locations)[0]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ else
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (
+ "TAO::FT_ReplicationManagerFaultAnalyzer::set_new_primary: "
+ "No locations remaining in ObjectGroup with id <%Q>.\n"),
+ fault_event_desc.object_group_id),
+ -1);
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ "TAO::FT_ReplicationManagerFaultAnalyzer::set_new_primary: ");
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+
+#if 0 // this is handled by the remove_member method
+// While the number of members in the object group is less than
+// the MinimumNumberMembers property, add new members.
+// Sets <new_iogr> and returns 0 on success.
+// Returns -1 on failure.
+int TAO::FT_ReplicationManagerFaultAnalyzer::add_members (
+ PortableGroup::ObjectGroup_ptr iogr,
+ TAO::FT_FaultEventDescriptor & fault_event_desc,
+ PortableGroup::ObjectGroup_out new_iogr)
+{
+ int result = 0;
+ new_iogr = PortableGroup::ObjectGroup::_nil ();
+
+ ACE_TRY_NEW_ENV
+ {
+ // Get current number of members in object group
+ // (same as number of locations).
+ PortableGroup::Locations_var locations =
+ this->replication_manager_->locations_of_members (
+ iogr
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ CORBA::ULong num_members = locations->length();
+
+ // If it is less than the MinimumNumberMembers property, add
+ // new members.
+ if (num_members < fault_event_desc.minimum_number_members)
+ {
+ //@@ To create a member, we need to know the ObjectGroup,
+ // Location, TypeId, and Criteria.
+
+ // Get the factory registry from the Replication Manager.
+ PortableGroup::Criteria fake_criteria;
+ PortableGroup::FactoryRegistry_var factory_registry =
+ this->replication_manager_->get_factory_registry (
+ fake_criteria ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ // @@ DLW SAYS: we need to find out the role played by this object
+ // group so we can use the correct set of factories.
+ // Get the list of factories for the type of the failed replica.
+ CORBA::String_var type_id;
+ PortableGroup::FactoryInfos_var factories_by_type =
+ factory_registry->list_factories_by_role (
+ fault_event_desc.type_id.in(), type_id ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ //
+ // Build a set of locations of factories for this type that we
+ // can use to create new members (i.e., at locations where
+ // members do not currently exist).
+ //
+ FT_Location_Set valid_locations;
+
+ // For each factory that can be used for this type...
+ for (CORBA::ULong f=0; f<factories_by_type->length(); ++f)
+ {
+ // ...insert its location into valid_locations set.
+ valid_locations.insert (factories_by_type[f].the_location);
+ }
+
+ // Now remove any locations where members already exist.
+ for (CORBA::ULong m=0; m<num_members; ++m)
+ {
+ if (valid_locations.find (locations[m]))
+ valid_locations.remove (locations[m]);
+ }
+
+ // The valid_locations set now contains all the factory
+ // locations we can use to add members to this object group.
+ // So, now we add new members until we reach
+ // the value of the MinimumNumberMembers property.
+ PortableGroup::Location_var good_location;
+ for (FT_Location_Set::iterator iter (valid_locations);
+ iter.next (good_location.out()) &&
+ fault_event_desc.minimum_number_members > num_members;
+ iter.advance(), ++num_members)
+ {
+ // Create a new member of the object group at this location.
+ new_iogr = this->replication_manager_->create_member (
+ iogr,
+ good_location.in(),
+ fault_event_desc.type_id.in(),
+ fake_criteria
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Stop adding members when we reach the value of the
+ // MinimumNumberMembers property.
+ // if (num_members++ >= fault_event_desc.minimum_number_members)
+ // break;
+ }
+
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ "TAO::FT_ReplicationManagerFaultAnalyzer::add_members: ");
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+#endif // 0
+
+// Handle a location failure.
+int TAO::FT_ReplicationManagerFaultAnalyzer::location_failure (
+ TAO::FT_FaultEventDescriptor & fault_event_desc)
+{
+ int result = 0;
+
+ // To handle a location failure, we should:
+ // - Unregister all the factories at that location.
+ // (We do this first so that we don't try to create a new replica
+ // at that location for any of the affected object groups.)
+ // - Determine all the object groups that had members at that
+ // location.
+ // - Handle each one of them as a single replica failure.
+
+ ACE_TRY_NEW_ENV
+ {
+ // Get the factory registry from the Replication Manager.
+ PortableGroup::Criteria fake_criteria;
+ PortableGroup::FactoryRegistry_var factory_registry =
+ this->replication_manager_->get_factory_registry (
+ fake_criteria ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Unregister all factories at the failed location.
+ factory_registry->unregister_factory_by_location (
+ fault_event_desc.location.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Determine all the object groups that had members at that
+ // location.
+ PortableGroup::ObjectGroups_var object_groups_at_location =
+ this->replication_manager_->groups_at_location (
+ fault_event_desc.location.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Handle each one of them as a single replica failure.
+ for (CORBA::ULong i=0;
+ result==0 && i<object_groups_at_location->length();
+ ++i)
+ {
+ // Get the object group id.
+ fault_event_desc.object_group_id =
+ this->replication_manager_->get_object_group_id (
+ object_groups_at_location[i] ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Get type id of this object group.
+ fault_event_desc.type_id =
+ this->replication_manager_->type_id (
+ object_groups_at_location[i] ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Handle it as a single replica failure.
+ result = this->single_replica_failure (fault_event_desc);
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ "TAO::FT_ReplicationManagerFaultAnalyzer::location_failure: ");
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+
+// Handle a type failure.
+int TAO::FT_ReplicationManagerFaultAnalyzer::type_failure (
+ TAO::FT_FaultEventDescriptor & fault_event_desc)
+{
+ int result = 0;
+
+ // To handle a type failure, we should:
+ // - Unregister the factory at the location of the failure
+ // that is associated with the failed type.
+ // (We do this first so that we don't try to create a new replica
+ // with that factory for any of the affected object groups.)
+ // - Determine all the object groups that had members at that
+ // location of that type.
+ // - Handle each one of them as a single replica failure.
+
+ ACE_TRY_NEW_ENV
+ {
+ // Get the factory registry from the Replication Manager.
+ PortableGroup::Criteria fake_criteria;
+ PortableGroup::FactoryRegistry_var factory_registry =
+ this->replication_manager_->get_factory_registry (
+ fake_criteria ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Unregister the factory at the failed location associated with
+ // the role.
+ //@@ Using type_id as the role for now.
+ factory_registry->unregister_factory (
+ fault_event_desc.type_id.in(),
+ fault_event_desc.location.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Get all the object groups that had members at that
+ // location.
+ PortableGroup::ObjectGroups_var object_groups_at_location =
+ this->replication_manager_->groups_at_location (
+ fault_event_desc.location.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // For each one, if it was of the same type as the failed type,
+ // handle it as a single replica failure.
+ for (CORBA::ULong i=0;
+ result==0 && i<object_groups_at_location->length();
+ ++i)
+ {
+ // Get the object group id.
+ fault_event_desc.object_group_id =
+ this->replication_manager_->get_object_group_id (
+ object_groups_at_location[i] ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Get type id of this object group.
+ PortableGroup::TypeId_var type_id =
+ this->replication_manager_->type_id (
+ object_groups_at_location[i] ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // If the type id is the same as the failed type id...
+ if (ACE_OS::strcmp (type_id.in(), fault_event_desc.type_id.in()) == 0)
+ {
+ // Handle it as a single replica failure.
+ result = this->single_replica_failure (fault_event_desc);
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ "TAO::FT_ReplicationManagerFaultAnalyzer::type_failure: ");
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+
+// Template instantiations.
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Unbounded_Set<PortableGroup::Location>;
+template class ACE_Unbounded_Set_Iterator<PortableGroup::Location>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Unbounded_Set<PortableGroup::Location>
+#pragma instantiate ACE_Unbounded_Set_Iterator<PortableGroup::Location>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h
new file mode 100755
index 00000000000..f15238af5bf
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h
@@ -0,0 +1,194 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicationManagerFaultAnalyzer.h
+ *
+ * $Id$
+ *
+ * This file is part of TAO's implementation of Fault Tolerant CORBA.
+ * This is the Replication Manager's implementation of a fault analyzer.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FT_REPLICATION_MANAGER_FAULT_ANALYZER_H_
+#define FT_REPLICATION_MANAGER_FAULT_ANALYZER_H_
+
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h"
+#include "orbsvcs/FT_CORBAC.h"
+
+// Forward declarations.
+template <class T> class ACE_Unbounded_Set;
+template <class T> class ACE_Unbounded_Set_Iterator;
+
+namespace TAO
+{
+
+ ///////////////////////
+ // Forward declarations
+ class FT_ReplicationManager;
+ struct FT_FaultEventDescriptor;
+
+ typedef ACE_Unbounded_Set<PortableGroup::Location> FT_Location_Set;
+
+ /**
+ * Replication Manager's fault analyzer.
+ *
+ */
+ class FT_ReplicationManagerFaultAnalyzer
+ : public ::TAO::FT_DefaultFaultAnalyzer
+ {
+
+ public:
+ /**
+ * Constructor.
+ * @param replication_manager Pointer to TAO::FT_ReplicationManager.
+ */
+ FT_ReplicationManagerFaultAnalyzer (
+ const TAO::FT_ReplicationManager * replication_manager);
+
+ /**
+ * Destructor.
+ */
+ virtual ~FT_ReplicationManagerFaultAnalyzer ();
+
+ public:
+
+ /**
+ * Validate event type to make sure it is one we can handle.
+ * @param event The structured fault event, as from the Fault Notifier.
+ * @return 0 if it is a valid event type, -1 otherwise.
+ */
+ virtual int validate_event_type (
+ const CosNotification::StructuredEvent & event);
+
+ /**
+ * Analyze a fault event.
+ * @param event The structured fault event, as from the Fault Notifier.
+ * @return 0 on success, -1 on failure.
+ */
+ virtual int analyze_fault_event (
+ const CosNotification::StructuredEvent & event);
+
+ ////////////////////
+ // Forbidden methods
+ private:
+ /// Default constructor.
+ FT_ReplicationManagerFaultAnalyzer ();
+
+ /// Copy constructor.
+ FT_ReplicationManagerFaultAnalyzer (
+ const FT_ReplicationManagerFaultAnalyzer & rhs);
+
+ /// Assignment operator.
+ FT_ReplicationManagerFaultAnalyzer & operator = (
+ const FT_ReplicationManagerFaultAnalyzer & rhs);
+
+ /////////////////////////
+ // Implementation methods
+ protected:
+
+ /// Helper functions for fault analysis.
+
+ // Extract the type id from a CORBA any.
+ int get_type_id (const CORBA::Any& val, PortableGroup::TypeId_out type_id);
+
+ // Extract the ObjectGroupId from a CORBA any.
+ int get_object_group_id (const CORBA::Any& val, PortableGroup::ObjectGroupId& id);
+
+ // Extract the PortableGroup::Location from a CORBA any.
+ int get_location (const CORBA::Any& val, PortableGroup::Location_out location);
+
+ // Get the MembershipStyle property.
+ int get_membership_style (
+ const PortableGroup::Properties & properties,
+ PortableGroup::MembershipStyleValue & membership_style);
+
+ // Get the ReplicationStyle property.
+ int get_replication_style (
+ const PortableGroup::Properties & properties,
+ FT::ReplicationStyleValue & replication_style);
+
+ // Get the MinimumNumberMembers property.
+ int get_minimum_number_members (
+ const PortableGroup::Properties & properties,
+ PortableGroup::MinimumNumberMembersValue & minimum_number_members);
+
+ // Get the InitialNumberMembers property.
+ int get_initial_number_members (
+ const PortableGroup::Properties & properties,
+ PortableGroup::InitialNumberMembersValue & initial_number_members);
+
+ // Get the Factories property.
+ int get_factories (
+ const PortableGroup::Properties & properties,
+ PortableGroup::FactoryInfos_out factories);
+
+ // Handle a single replica failure.
+ int single_replica_failure (
+ TAO::FT_FaultEventDescriptor & fault_event_desc);
+
+ // Handle a location failure.
+ int location_failure (
+ TAO::FT_FaultEventDescriptor & fault_event_desc);
+
+ // Handle a type at location failure.
+ int type_failure (
+ TAO::FT_FaultEventDescriptor & fault_event_desc);
+
+ // Is the replica at location the primary member of its ObjectGroup?
+ // Sets <object_is_primary> and returns 0 on success.
+ // Returns -1 on failure.
+ int is_primary_member (
+ const PortableGroup::ObjectGroup_ptr iogr,
+ const PortableGroup::Location & location,
+ int & object_is_primary);
+
+ /// remove a failed member from a group
+ int remove_failed_member (
+ PortableGroup::ObjectGroup_ptr iogr,
+ TAO::FT_FaultEventDescriptor & fault_event_desc,
+ PortableGroup::ObjectGroup_out new_iogr);
+
+
+ // Choose a new primary member for the ObjectGroup.
+ // Sets <new_iogr> and returns 0 on success.
+ // Returns -1 on failure.
+ int set_new_primary (
+ PortableGroup::ObjectGroup_ptr iogr,
+ TAO::FT_FaultEventDescriptor & fault_event_desc,
+ PortableGroup::ObjectGroup_out new_iogr);
+
+#if 0 // this is handled by the remove_member method
+ // While the number of members in the object group is less than
+ // the MinimumNumberMembers property, add new members.
+ // Sets <new_iogr> and returns 0 on success.
+ // Returns -1 on failure.
+ int add_members (
+ PortableGroup::ObjectGroup_ptr iogr,
+ TAO::FT_FaultEventDescriptor & fault_event_desc,
+ PortableGroup::ObjectGroup_out new_iogr);
+#endif
+
+ ///////////////
+ // Data Members
+ private:
+ FT_ReplicationManager * replication_manager_;
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_REPLICATION_MANAGER_FAULT_ANALYZER_H_ */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerLib_export.h b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerLib_export.h
new file mode 100644
index 00000000000..b6a46c4cf8e
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManagerLib_export.h
@@ -0,0 +1,60 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl TAO_ReplicationManagerLib
+// ------------------------------
+#ifndef TAO_REPLICATIONMANAGERLIB_EXPORT_H
+#define TAO_REPLICATIONMANAGERLIB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_REPLICATIONMANAGERLIB_HAS_DLL)
+# define TAO_REPLICATIONMANAGERLIB_HAS_DLL 0
+# endif /* ! TAO_REPLICATIONMANAGERLIB_HAS_DLL */
+#else
+# if !defined (TAO_REPLICATIONMANAGERLIB_HAS_DLL)
+# define TAO_REPLICATIONMANAGERLIB_HAS_DLL 1
+# endif /* ! TAO_REPLICATIONMANAGERLIB_HAS_DLL */
+#endif
+
+#if defined (TAO_REPLICATIONMANAGERLIB_HAS_DLL) && (TAO_REPLICATIONMANAGERLIB_HAS_DLL == 1)
+# if defined (TAO_REPLICATIONMANAGERLIB_BUILD_DLL)
+# define TAO_ReplicationManagerLib_Export ACE_Proper_Export_Flag
+# define TAO_REPLICATIONMANAGERLIB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_REPLICATIONMANAGERLIB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_REPLICATIONMANAGERLIB_BUILD_DLL */
+# define TAO_ReplicationManagerLib_Export ACE_Proper_Import_Flag
+# define TAO_REPLICATIONMANAGERLIB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_REPLICATIONMANAGERLIB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_REPLICATIONMANAGERLIB_BUILD_DLL */
+#else /* TAO_REPLICATIONMANAGERLIB_HAS_DLL == 1 */
+# define TAO_ReplicationManagerLib_Export
+# define TAO_REPLICATIONMANAGERLIB_SINGLETON_DECLARATION(T)
+# define TAO_REPLICATIONMANAGERLIB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_REPLICATIONMANAGERLIB_HAS_DLL == 1 */
+
+// Set TAO_REPLICATIONMANAGERLIB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_REPLICATIONMANAGERLIB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_REPLICATIONMANAGERLIB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_REPLICATIONMANAGERLIB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_REPLICATIONMANAGERLIB_NTRACE */
+
+#if (TAO_REPLICATIONMANAGERLIB_NTRACE == 1)
+# define TAO_REPLICATIONMANAGERLIB_TRACE(X)
+#else /* (TAO_REPLICATIONMANAGERLIB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_REPLICATIONMANAGERLIB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_REPLICATIONMANAGERLIB_NTRACE == 1) */
+
+#endif /* TAO_REPLICATIONMANAGERLIB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp
new file mode 100644
index 00000000000..36b0a4962e1
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp
@@ -0,0 +1,35 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicationManager_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a process that
+ * implements the FT_ReplicationManager interface.
+ *
+ * @author Curt Hibbs <hibbs_c@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_ReplicationManager.h"
+#include <tao/Utils/Server_Main.h>
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<TAO::FT_ReplicationManager>
+ server_main("ReplicationManager");
+ return server_main.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<TAO::FT_ReplicationManager>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<TAO::FT_ReplicationManager>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/FT_ReplicationManager/README b/TAO/orbsvcs/FT_ReplicationManager/README
new file mode 100644
index 00000000000..6308eaea08d
--- /dev/null
+++ b/TAO/orbsvcs/FT_ReplicationManager/README
@@ -0,0 +1,12 @@
+
+Run FT_ReplicationManager as follows:
+
+ FT_ReplicationManager -o <file1.ior>
+ Starts the replication manager and writes in ior
+ to the specified file.
+
+ FT_ReplicationManager
+ Starts the replication manager and registers it
+ with the naming service.
+
+s \ No newline at end of file
diff --git a/TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp b/TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp
new file mode 100644
index 00000000000..8eecb140f24
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp
@@ -0,0 +1,722 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultDetectorFactory_i.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#include "FT_FaultDetectorFactory_i.h"
+#include "Fault_Detector_i.h"
+#include "ace/Get_Opt.h"
+#include "orbsvcs/CosNamingC.h"
+#include "orbsvcs/PortableGroup/PG_Property_Set.h"
+
+// Use this macro at the beginning of CORBA methods
+// to aid in debugging.
+#define METHOD_ENTRY(name) \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Enter %s\n", #name \
+ ))
+
+// Use this macro to return from CORBA methods
+// to aid in debugging. Note that you can specify
+// the return value after the macro, for example:
+// METHOD_RETURN(Plugh::plover) xyzzy; is equivalent
+// to return xyzzy;
+// METHOD_RETURN(Plugh::troll); is equivalent to
+// return;
+// WARNING: THIS GENERATES TWO STATEMENTS!!! THE FOLLOWING
+// will not do what you want it to:
+// if (cave_is_closing) METHOD_RETURN(Plugh::pirate) aarrggh;
+// Moral: Always use braces.
+#define METHOD_RETURN(name) \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Leave %s\n", #name \
+ )); \
+ return /* value goes here */
+
+
+//////////////////////////////////////////////////////
+// FT_FaultDetectorFactory_i Construction/destruction
+
+TAO::FT_FaultDetectorFactory_i::FT_FaultDetectorFactory_i ()
+ : orb_ (0)
+ , poa_ (0)
+ , objectId_ (0)
+ , ior_output_file_ (0)
+ , ns_name_ (0)
+ , naming_context_ (0)
+ , this_name_ (1)
+ , quit_on_idle_ (0)
+ , domain_ (CORBA::string_dup("default_domain"))
+ , location_ (1)
+ , notifier_ (0)
+ , rm_register_ (1)
+ , replication_manager_ (0)
+ , registered_ (0)
+ , factory_registry_ (0)
+ , identity_ ("")
+ , empty_slots_ (0)
+ , quit_requested_ (0)
+
+{
+ this->location_.length(1);
+ this->location_[0].id = CORBA::string_dup("default_location");
+}
+
+TAO::FT_FaultDetectorFactory_i::~FT_FaultDetectorFactory_i ()
+{
+ //scope the guard
+ {
+ InternalGuard guard (this->internals_);
+
+ // be sure all detectors are gone
+ // before this object disappears
+ shutdown_i ();
+ }
+ ACE_DECLARE_NEW_ENV;
+ fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ this->threadManager_.close ();
+}
+
+////////////////////////////////////////////
+// FT_FaultDetectorFactory_i private methods
+
+void TAO::FT_FaultDetectorFactory_i::shutdown_i()
+{
+ // assume mutex is locked
+ for (size_t nDetector = 0; nDetector < this->detectors_.size(); ++nDetector)
+ {
+ Fault_Detector_i * detector = this->detectors_[nDetector];
+ if (detector != 0)
+ {
+ detector->request_quit();
+ }
+ }
+}
+
+int TAO::FT_FaultDetectorFactory_i::write_ior()
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (this->ior_output_file_, "w");
+ if (out)
+ {
+ ACE_OS::fprintf (out, "%s", ACE_static_cast(const char *, this->ior_));
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Open failed for %s\n", ior_output_file_
+ ));
+ }
+ return result;
+}
+
+//////////////////////////////////////////////////////
+// FT_FaultDetectorFactory_i public, non-CORBA methods
+
+int TAO::FT_FaultDetectorFactory_i::parse_args (int argc, char * argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "d:l:o:qr");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'd':
+ {
+ this->domain_ = CORBA::string_dup (get_opts.opt_arg ());
+ break;
+ }
+ case 'l':
+ {
+ this->location_.length(1);
+ this->location_[0].id = CORBA::string_dup(get_opts.opt_arg ());
+ break;
+ }
+ case 'o':
+ {
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'r':
+ {
+ this->rm_register_ = ! this->rm_register_;
+ break;
+ }
+ case 'q':
+ {
+ this->quit_on_idle_ = 1;
+ break;
+ }
+
+ case '?':
+ // fall thru
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s"
+ " -d <FT Domain>"
+ " -l <FT Location>"
+ " -o <iorfile>"
+ " -r <disable registering with replication manager>"
+ " -q{uit on idle}"
+ "\n",
+ argv [0]),
+ -1);
+ break;
+ }
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+const char * TAO::FT_FaultDetectorFactory_i::identity () const
+{
+ return this->identity_.c_str();
+}
+
+int TAO::FT_FaultDetectorFactory_i::idle (int & result ACE_ENV_ARG_DECL_NOT_USED)
+{
+ ACE_UNUSED_ARG (result);
+ int quit = this->quit_requested_;
+ if (quit == 0 && this->detectors_.size() == this->empty_slots_)
+ {
+ // don't quitOnIdle until something has happened
+ if (this->quit_on_idle_ && this->empty_slots_ != 0)
+ {
+ ACE_ERROR (( LM_INFO,
+ "FaultDetectorFactory exits due to quit on idle option.\n"
+ ));
+ quit = 1;
+ }
+ }
+
+ return quit;
+}
+
+
+int TAO::FT_FaultDetectorFactory_i::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Register with the POA.
+
+ this->objectId_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // find my IOR
+
+ CORBA::Object_var this_obj =
+ this->poa_->id_to_reference (objectId_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->ior_ = this->orb_->object_to_string (this_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->identity_ = "FaultDetectorFactory";
+
+ ///////////////////////////////
+ // Register with ReplicationManager
+ if (this->rm_register_)
+ {
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var rm_obj = orb->resolve_initial_references("ReplicationManager" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ this->replication_manager_ = ::FT::ReplicationManager::_narrow(rm_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!CORBA::is_nil (replication_manager_.in ()))
+ {
+ // capture the default notifier
+ this->notifier_ = this->replication_manager_->get_fault_notifier (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // register with ReplicationManager::RegistrationFactory
+ PortableGroup::Criteria criteria(0);
+ this->factory_registry_ = this->replication_manager_->get_factory_registry (criteria ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (! CORBA::is_nil(factory_registry_.in ()))
+ {
+ PortableGroup::FactoryInfo info;
+ info.the_factory = ::PortableGroup::GenericFactory::_narrow(this_obj.in ());
+ info.the_location = this->location_;
+ info.the_criteria.length(1);
+ info.the_criteria[0].nam.length(1);
+ info.the_criteria[0].nam[0].id = CORBA::string_dup(PortableGroup::role_criterion);
+ info.the_criteria[0].val <<= CORBA::string_dup(FT::FAULT_DETECTOR_ROLE_NAME);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultDetector registering with ReplicationManager.\n"
+ ));
+ this->factory_registry_->register_factory(
+ FT::FAULT_DETECTOR_ROLE_NAME,
+ FT::FAULT_DETECTOR_ROLE_NAME,
+ info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultDetector Registration complete.\n"
+ ));
+ this->registered_ = 1;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,"FaultNotifier: ReplicationManager doesn't have RegistrationFactory.\n" ));
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,"FaultNotifier: Can't resolve ReplicationManager, It will not be registered.\n" ));
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "ReplicaFactory: Exception resolving ReplicationManager. Factory will not be registered.\n" );
+ }
+ ACE_ENDTRY;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultNotifier: ReplicationManager registration disabled.\n"
+ ));
+ }
+
+ if (this->ior_output_file_ != 0)
+ {
+ this->identity_ = "file:";
+ this->identity_ += this->ior_output_file_;
+ write_ior();
+ }
+
+ if (this->ns_name_ != 0)
+ {
+ this->identity_ = "name:";
+ this->identity_ += this->ns_name_;
+
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(naming_obj.in ())){
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+
+ this->naming_context_ =
+ ::CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->this_name_.length (1);
+ this->this_name_[0].id = CORBA::string_dup (this->ns_name_);
+
+ this->naming_context_->rebind (this->this_name_, this_obj.in() //CORBA::Object::_duplicate(this_obj)
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ return result;
+}
+
+int TAO::FT_FaultDetectorFactory_i::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (this->ior_output_file_ != 0)
+ {
+ ACE_OS::unlink (this->ior_output_file_);
+ this->ior_output_file_ = 0;
+ }
+ if (this->ns_name_ != 0)
+ {
+ this->naming_context_->unbind (this_name_
+ ACE_ENV_ARG_PARAMETER);
+ this->ns_name_ = 0;
+ }
+
+ if (this->registered_)
+ {
+ this->factory_registry_->unregister_factory(
+ FT::FAULT_DETECTOR_ROLE_NAME,
+ this->location_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->registered_ = 0;
+ }
+ return 0;
+}
+
+
+CORBA::ULong TAO::FT_FaultDetectorFactory_i::allocate_id()
+{
+ CORBA::ULong id = this->detectors_.size();
+ if (this->empty_slots_ != 0)
+ {
+ for(CORBA::ULong pos = 0; pos < id; ++pos)
+ {
+ if (this->detectors_[pos] == 0)
+ {
+ id = pos;
+ }
+ }
+ }
+ else
+ {
+ this->detectors_.push_back(0);
+ this->empty_slots_ += 1;
+ }
+ return id;
+}
+
+void TAO::FT_FaultDetectorFactory_i::remove_detector(CORBA::ULong id, TAO::Fault_Detector_i * detector)
+{
+ InternalGuard guard (this->internals_);
+ if (id < this->detectors_.size())
+ {
+ if(this->detectors_[id] == detector)
+ {
+ delete this->detectors_[id];
+ this->detectors_[id] = 0;
+ this->empty_slots_ += 1;
+ if (this->empty_slots_ == this->detectors_.size())
+ {
+ ACE_ERROR (( LM_INFO,
+ "FaultDetectorFactory is idle.\n"
+ ));
+ }
+ }
+ else
+ {
+ ACE_ERROR (( LM_ERROR,
+ "Remove detector %d mismatch.\n",
+ ACE_static_cast(int, id)
+ ));
+ }
+ }
+ else
+ {
+ ACE_ERROR (( LM_ERROR,
+ "Attempt to remove invalid detector %d. Limit %d.\n",
+ ACE_static_cast(int, id),
+ ACE_static_cast(int, this->detectors_.size())
+ ));
+ }
+}
+
+//////////////////////////////////////////
+// FT_FaultDetectorFactory_i CORBA methods
+
+void TAO::FT_FaultDetectorFactory_i::change_properties (
+ const PortableGroup::Properties & property_set
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::InvalidProperty
+ ))
+{
+ METHOD_ENTRY(TAO::FT_FaultDetectorFactory_i::change_properties);
+
+ // TimeT is expressed in 10E-7 seconds (== 100 nSec == 0.1 uSec)
+ static const long timeT_per_uSec = 10L;
+ static const long uSec_per_sec = 1000000L;
+
+ ::TAO::PG_Property_Set decoder(property_set);
+
+ TimeBase::TimeT value = 0;
+ if( TAO::find (decoder, FT::FT_FAULT_MONITORING_INTERVAL, value) )
+ {
+ // note: these should be unsigned long, but
+ // ACE_Time_Value wants longs.
+ long uSec = ACE_static_cast (long, (value / timeT_per_uSec) % uSec_per_sec);
+ long sec = ACE_static_cast (long, (value / timeT_per_uSec) / uSec_per_sec);
+ ACE_Time_Value atv(sec, uSec);
+ TAO::Fault_Detector_i::set_time_for_all_detectors(atv);
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Throwing Invalid Property: %s\n",
+ FT::FT_FAULT_MONITORING_INTERVAL
+ ));
+ ::PortableGroup::InvalidProperty ex;
+ ex.nam.length(1);
+ ex.nam[0].id = CORBA::string_dup(FT::FT_FAULT_MONITORING_INTERVAL);
+ ACE_THROW (::PortableGroup::InvalidProperty (ex));
+ }
+ METHOD_RETURN(TAO::FT_FaultDetectorFactory_i::change_properties);
+}
+
+void TAO::FT_FaultDetectorFactory_i::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ METHOD_ENTRY(TAO::FT_FaultDetectorFactory_i::shutdown);
+ InternalGuard guard (this->internals_);
+ shutdown_i ();
+ this->quit_requested_ = 1;
+ METHOD_RETURN(TAO::FT_FaultDetectorFactory_i::shutdown);
+}
+
+CORBA::Object_ptr TAO::FT_FaultDetectorFactory_i::create_object (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ PortableGroup::GenericFactory::FactoryCreationId_out factory_creation_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::NoFactory
+ , PortableGroup::ObjectNotCreated
+ , PortableGroup::InvalidCriteria
+ , PortableGroup::InvalidProperty
+ , PortableGroup::CannotMeetCriteria
+ ))
+{
+ METHOD_ENTRY(TAO::FT_FaultDetectorFactory_i::create_object);
+
+ ACE_UNUSED_ARG (type_id); //@@ use it
+ InternalGuard guard (this->internals_);
+
+ ::TAO::PG_Property_Set decoder (the_criteria);
+
+ // boolean, becomes true if a required parameter is missing
+ int missingParameter = 0;
+ const char * missingParameterName = 0;
+
+ FT::FaultNotifier_ptr notifier;
+ if (! ::TAO::find (decoder, ::FT::FT_NOTIFIER, notifier) )
+ {
+ if (! CORBA::is_nil (this->notifier_.in ()))
+ {
+ notifier = FT::FaultNotifier::_duplicate (this->notifier_.in ());
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "FaultDetectorFactory::create_object: Missing parameter %s\n",
+ ::FT::FT_NOTIFIER
+ ));
+ missingParameter = 1;
+ missingParameterName = ::FT::FT_NOTIFIER;
+ }
+ }
+
+ FT::PullMonitorable_ptr monitorable;
+ if (! ::TAO::find (decoder, ::FT::FT_MONITORABLE, monitorable) )
+ {
+ ACE_ERROR ((LM_ERROR,
+ "FaultDetectorFactory::create_object: Missing parameter %s\n",
+ ::FT::FT_MONITORABLE
+ ));
+ missingParameter = 1;
+ missingParameterName = ::FT::FT_MONITORABLE;
+ }
+
+ FT::FTDomainId domain_id = 0;
+ // note the cast in the next line makes ANY >>= work.
+ const char * domain_id_string = 0;
+ if (::TAO::find (decoder, ::FT::FT_DOMAIN_ID, domain_id_string) )
+ {
+ // NOTE the assumption that we can assign a char * to a domain id
+ domain_id = ACE_const_cast (char *, domain_id_string);
+ }
+ else
+ {
+ domain_id = this->domain_;
+
+// ACE_ERROR ((LM_ERROR,
+// "FaultDetectorFactory::create_object: Missing parameter %s\n",
+// ::FT::FT_DOMAIN_ID
+// ));
+// missingParameter = 1;
+// missingParameterName = ::FT::FT_DOMAIN_ID;
+ }
+
+ PortableGroup::Location * object_location = 0;
+ if (! ::TAO::find (decoder, ::FT::FT_LOCATION, object_location) )
+ {
+ object_location = & this->location_;
+
+// ACE_ERROR ((LM_ERROR,
+// "FaultDetectorFactory::create_object: Missing parameter %s\n",
+// ::FT::FT_LOCATION
+// ));
+// missingParameter = 1;
+// missingParameterName = ::FT::FT_LOCATION;
+ }
+
+ PortableGroup::TypeId object_type = 0;
+ const char * object_type_string;
+ if (::TAO::find (decoder, ::FT::FT_TYPE_ID, object_type_string))
+ {
+ object_type = ACE_const_cast (char *, object_type_string);
+ }
+ else
+ {
+ object_type = ACE_const_cast (char *, "unknown");
+ // Not required: missingParameter = 1;
+ ACE_DEBUG ((LM_DEBUG, "Object type not given.\n"));
+ }
+
+ FT::ObjectGroupId group_id = 0;
+ if (! ::TAO::find (decoder, ::FT::FT_GROUP_ID, group_id) )
+ {
+ // Not required: missingParameter = 1;
+ }
+
+ if (missingParameter)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Throwing 'InvalidCriteria' due to missing %s\n",
+ missingParameterName
+ ));
+ ACE_THROW_RETURN ( PortableGroup::InvalidCriteria(), CORBA::Object::_nil () );
+ }
+
+ CORBA::ULong detectorId = allocate_id();
+
+ // NOTE: ACE_NEW is incompatable with auto_ptr
+ // so create a bare pointer first.
+ TAO::Fault_Detector_i * pFD = 0;
+
+ ACE_NEW_NORETURN(pFD, TAO::Fault_Detector_i(
+ *this,
+ detectorId,
+ notifier,
+ monitorable,
+ domain_id,
+ *object_location,
+ object_type,
+ group_id));
+ if (pFD == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "New FaultDetector_i returned NULL. Throwing ObjectNotCreated.\n"
+ ));
+ ACE_THROW_RETURN ( PortableGroup::ObjectNotCreated(), CORBA::Object::_nil () );
+ }
+ auto_ptr<TAO::Fault_Detector_i> detector(pFD);
+
+ ACE_NEW_NORETURN ( factory_creation_id,
+ PortableGroup::GenericFactory::FactoryCreationId);
+ if (factory_creation_id.ptr() == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "New factory_creation_id returned NULL. Throwing ObjectNotCreated.\n"
+ ));
+
+ ACE_THROW_RETURN ( PortableGroup::ObjectNotCreated(), CORBA::Object::_nil ());
+ }
+ (*factory_creation_id) <<= detectorId;
+
+ (*detector).start(this->threadManager_);
+
+ this->detectors_[detectorId] = detector.release();
+ this->empty_slots_ -= 1;
+
+ // since FaultDetector is not a CORBA object (it does not implement
+ // an interface.) we always return NIL;
+ METHOD_RETURN(TAO::FT_FaultDetectorFactory_i::create_object)
+ CORBA::Object::_nil();
+}
+
+void TAO::FT_FaultDetectorFactory_i::delete_object (
+ const PortableGroup::GenericFactory::FactoryCreationId & factory_creation_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::ObjectNotFound
+ ))
+{
+ METHOD_ENTRY(TAO::FT_FaultDetectorFactory_i::delete_object);
+
+ InternalGuard guard (this->internals_);
+
+ CORBA::ULong detectorId;
+ factory_creation_id >>= detectorId;
+ if (detectorId < this->detectors_.size())
+ {
+ if(this->detectors_[detectorId] != 0)
+ {
+ this->detectors_[detectorId]->request_quit();
+ }
+ else
+ {
+ ACE_THROW(::PortableGroup::ObjectNotFound());
+ }
+ }
+ else
+ {
+ ACE_THROW(::PortableGroup::ObjectNotFound());
+ }
+ METHOD_RETURN(TAO::FT_FaultDetectorFactory_i::delete_object);
+}
+
+CORBA::Boolean TAO::FT_FaultDetectorFactory_i::is_alive (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_RETURN(TAO::FT_FaultDetectorFactory_i::is_alive)
+ 1;
+}
+
+///////////////////////////////////
+// Template instantiation for
+// competence-challenged compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector<TAO::Fault_Detector_i *>;
+ template class ACE_Guard<ACE_SYNCH_MUTEX>;
+ template class auto_ptr<TAO::Fault_Detector_i>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Vector<TAO::Fault_Detector_i *>
+# pragma instantiate ACE_Guard<ACE_SYNCH_MUTEX>
+# pragma instantiate auto_ptr<TAO::Fault_Detector_i>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h b/TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h
new file mode 100644
index 00000000000..ec7dd75f590
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h
@@ -0,0 +1,347 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_FaultDetectorFactory_i.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * It declares the implementation of FaultDetectorFactory which
+ * creates and manages FaultDetectors as an agent for
+ * the ReplicationManager as defined in the FT CORBA specification.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef FT_FAULTDETECTORFACTORY_I_H_
+#define FT_FAULTDETECTORFACTORY_I_H_
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+//////////////////////////////////
+// Classes declared in this header
+namespace TAO
+{
+ class FT_FaultDetectorFactory_i;
+}
+
+/////////////////////////////////
+// Includes needed by this header
+#include <ace/Vector_T.h>
+#include <orbsvcs/FT_FaultDetectorFactoryS.h>
+#include <orbsvcs/FT_ReplicationManagerC.h>
+#include <ace/Thread_Manager.h>
+
+/////////////////////
+// Forward references
+
+/**
+ * Implement the FaultDetectorFactory interface.
+ *
+ * Because each FaultDetector runs in a separate thread, care
+ * must be taken to insure that the thread comes to an end, and
+ * that the Fault_Detector_i object is deleted at the right time.
+ * Hence, the FaultDetector life cycle:
+ * Creation:
+ * The create_object method of the factory creates a Fault_Detector_i
+ *
+ * A pointer to the Fault_Detector_i is stored in the detectors_ table.
+ *
+ * The start method of the Fault_Detector_i is called to create a thread
+ * that will monotor the object-to-be-monitored. An ACE_Thread_Manager
+ * supplied by the factory is used to keep track of the thread.
+ *
+ * Destruction:
+ *
+ * If the factory wants the detector to go away, it calls the
+ * quitRequested method of the detector which sets a flag that must
+ * be checked regularly by the detector.
+ *
+ * If the object being monitored faults, the detector sends the
+ * notification message then sets its own quit requested flag.
+ *
+ * When a detector discovers the quit requested flag has been set
+ * it calls the remove_detector method of the factory, then ends
+ * the thread.
+ *
+ * The remove_detector method of the factory removes the detector from
+ * the detectors_ collection, then deletes the Fault_Detector_i object.
+ *
+ * Shutdown:
+ *
+ * The destructor of the factory calls the shutdown method of all
+ * remaining Fault_Detector_i objects.
+ *
+ * It then closes the ACE_Thread_Manager to ensure that all
+ * detector threads have departed before the factory itself is
+ * deleted.
+ *
+ */
+
+namespace TAO
+{
+ /////////////////////
+ // Forward references
+ class Fault_Detector_i;
+
+ /////////////////////
+ // Class Declarations
+ class FT_FaultDetectorFactory_i : public virtual POA_FT::FaultDetectorFactory
+ {
+ typedef ACE_Vector<Fault_Detector_i *> DetectorVec;
+
+ //////////////////////
+ // non-CORBA interface
+ public:
+ /**
+ * Default constructor.
+ */
+ FT_FaultDetectorFactory_i ();
+
+ /**
+ * Virtual destructor.
+ */
+ virtual ~FT_FaultDetectorFactory_i ();
+
+ /**
+ * Parse command line arguments.
+ * @param argc traditional C argc
+ * @param argv traditional C argv
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object.
+ * @param orb our ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * Idle-time activity.
+ *
+ * @param result is set to process return code if return value is non-zero.
+ * @return zero to continue; nonzero to exit
+ */
+ int idle(int & result ACE_ENV_ARG_DECL);
+
+
+ /**
+ * Identify this fault detector factory.
+ * @return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * Remove pointer to individual detector; delete Fault_Detector_i.
+ * See FaultDetector life cycle description.
+ * @param id the numerical id assigned to this FaultDetector.
+ * @param detector a pointer to the detector object (redundant for safety.)
+ */
+ void remove_detector (CORBA::ULong id, Fault_Detector_i * detector);
+
+ //////////////////
+ // CORBA interface
+ // See IDL for documentation
+
+ ///////////////////////////////////////////////
+ // CORBA interface FaultDetectorFactory methods
+ virtual void change_properties (
+ const PortableGroup::Properties & property_set
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::InvalidProperty
+ ));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ /////////////////////////////////////////
+ // CORBA interface GenericFactory methods
+ virtual CORBA::Object_ptr create_object (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ PortableGroup::GenericFactory::FactoryCreationId_out factory_creation_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::NoFactory
+ , PortableGroup::ObjectNotCreated
+ , PortableGroup::InvalidCriteria
+ , PortableGroup::InvalidProperty
+ , PortableGroup::CannotMeetCriteria
+ ));
+
+ virtual void delete_object (
+ const PortableGroup::GenericFactory::FactoryCreationId & factory_creation_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::ObjectNotFound
+ ));
+
+ //////////////////////////////////////////
+ // CORBA interface PullMonitorable methods
+
+ virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /////////////////////////
+ // Implementation methods
+ private:
+ /**
+ * Find or allocate an ID for a new detector
+ */
+ CORBA::ULong allocate_id();
+
+ /**
+ * Write this factory's IOR to a file
+ */
+ int write_ior ();
+
+ /**
+ * Clean house for factory shut down.
+ */
+ void shutdown_i ();
+
+ ///////////////
+ // Data Members
+ private:
+
+ /**
+ * Protect internal state.
+ * Mutex should be locked by corba methods, or by
+ * external (public) methods before calling implementation
+ * methods.
+ * Implementation methods should assume the mutex is
+ * locked if necessary.
+ */
+ ACE_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<ACE_SYNCH_MUTEX> InternalGuard;
+
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var objectId_;
+
+
+ /**
+ * IOR of this object as assigned by orb.
+ */
+ CORBA::String_var ior_;
+
+ /**
+ * A file to which the factory's IOR should be written.
+ */
+ const char * ior_output_file_;
+
+ /**
+ * A name to be used to register the factory with the name service.
+ */
+ const char * ns_name_;
+
+ ::CosNaming::NamingContext_var naming_context_;
+
+ ::CosNaming::Name this_name_;
+
+ /**
+ * Quit on idle flag.
+ */
+ int quit_on_idle_;
+
+ /**
+ * the FT::Domain where we're operating
+ */
+ PortableGroup::GroupDomainId domain_;
+
+ /**
+ * the FT::Location within the domain
+ */
+ PortableGroup::Location location_;
+
+ /**
+ * the notifer to use by default
+ */
+
+ FT::FaultNotifier_var notifier_;
+
+ /**
+ * bool: if true, register with ReplicationManager.
+ * default is true. -x turns it off.
+ */
+ int rm_register_;
+
+ /**
+ * the replication manager
+ */
+ ::FT::ReplicationManager_var replication_manager_;
+
+ /**
+ * bool: if true the registration with ReplicationManager was successful.
+ */
+ int registered_;
+
+ /**
+ * The factory registry with which to register.
+ */
+ PortableGroup::FactoryRegistry_var factory_registry_;
+
+ /**
+ * A human-readable string to distinguish this from other Notifiers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * A manager for all FaultDetector threads.
+ */
+ ACE_Thread_Manager threadManager_;
+
+ /**
+ * A vector of FaultDetectors. Note that the FaultDetector ID
+ * is an index into this vector.
+ */
+ DetectorVec detectors_;
+
+ /**
+ * count of empty entries in detectors_
+ * Used to determine when the factory is idle, and to avoid
+ * fruitless searches for empty slots.
+ */
+ size_t empty_slots_;
+
+ /**
+ * boolean: starts false. Set to true when it's time to quit.
+ */
+ int quit_requested_;
+ };
+} // namespace TAO
+
+#include /**/ <ace/post.h>
+#endif /* FT_FAULTDETECTORFACTORY_I_H_ */
diff --git a/TAO/orbsvcs/Fault_Detector/Fault_Detector.mpc b/TAO/orbsvcs/Fault_Detector/Fault_Detector.mpc
new file mode 100644
index 00000000000..c8395db75b8
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/Fault_Detector.mpc
@@ -0,0 +1,10 @@
+// $Id$
+project : taoserver, orbsvcsexe, fault_tolerance {
+ exename = Fault_Detector
+ Source_Files {
+ Fault_Detector_i.cpp
+ Fault_Detector_Main.cpp
+ FT_FaultDetectorFactory_i.cpp
+ }
+}
+
diff --git a/TAO/orbsvcs/Fault_Detector/Fault_Detector_Main.cpp b/TAO/orbsvcs/Fault_Detector/Fault_Detector_Main.cpp
new file mode 100644
index 00000000000..e8585c9764a
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/Fault_Detector_Main.cpp
@@ -0,0 +1,34 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Fault_Detector_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a process that
+ * implements the FaultDetectorFactory interface and manages
+ * a set of FaultDetectors.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include <tao/Utils/Server_Main.h>
+#include "FT_FaultDetectorFactory_i.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<TAO::FT_FaultDetectorFactory_i> server_main("TAO_FaultDetector");
+ return server_main.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<TAO::FT_FaultDetectorFactory_i>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<TAO::FT_FaultDetectorFactory_i>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/Fault_Detector/Fault_Detector_i.cpp b/TAO/orbsvcs/Fault_Detector/Fault_Detector_i.cpp
new file mode 100644
index 00000000000..b59e178dcd0
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/Fault_Detector_i.cpp
@@ -0,0 +1,203 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Fault_Detector_i.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file implements the Fault_Detector_i class as declared in Fault_Detector_i.h.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#include "Fault_Detector_i.h"
+#include "FT_FaultDetectorFactory_i.h"
+#include <tao/debug.h>
+
+///////////////////////////////
+// Fault_Detector_i static data
+
+ACE_Time_Value TAO::Fault_Detector_i::sleep_time_(1,0);
+
+
+/////////////////////////////////////////
+// Fault_Detector_i public static methods
+
+void TAO::Fault_Detector_i::set_time_for_all_detectors(ACE_Time_Value value)
+{
+ sleep_time_ = value;
+}
+
+////////////////////////////////////////////
+// Fault_Detector_i construction/destruction
+
+TAO::Fault_Detector_i::Fault_Detector_i (
+ FT_FaultDetectorFactory_i & factory,
+ CORBA::ULong id,
+ FT::FaultNotifier_ptr & notifier,
+ FT::PullMonitorable_ptr & monitorable,
+ FT::FTDomainId domain_id,
+ const PortableGroup::Location & object_location,
+ PortableGroup::TypeId object_type,
+ PortableGroup::ObjectGroupId group_id
+ )
+ : factory_(factory)
+ , id_(id)
+ , domain_id_(domain_id)
+ , object_location_(object_location)
+ , object_type_(object_type)
+ , group_id_(group_id)
+ , sleep_(0) // initially not signaled
+ , quit_requested_(0)
+{
+ this->notifier_ = FT::FaultNotifier::_duplicate(notifier);
+ this->monitorable_ = FT::PullMonitorable::_duplicate(monitorable);
+ ACE_DEBUG ((LM_DEBUG,
+ "Object type %s\n", object_type
+ ));
+}
+
+TAO::Fault_Detector_i::~Fault_Detector_i ()
+{
+}
+
+////////////////////////////////////
+// Fault_Detector_i public interface
+
+
+void TAO::Fault_Detector_i::request_quit()
+{
+ this->quit_requested_ = 1;
+ // wake up the thread
+ this->sleep_.signal ();
+}
+
+void TAO::Fault_Detector_i::start(ACE_Thread_Manager & threadManager)
+{
+ threadManager.spawn(thr_func, this);
+}
+
+///////////////////////////////////////////////////
+// Fault_Detector_i private implementation methods
+
+void TAO::Fault_Detector_i::run()
+{
+ while ( ! this->quit_requested_ )
+ {
+ ACE_TRY_NEW_ENV
+ {
+ if (this->monitorable_->is_alive(ACE_ENV_SINGLE_ARG_PARAMETER))
+ {
+ ACE_TRY_CHECK;
+ // use this rather than ACE_OS::sleep
+ // to allow the nap to be interruped see request_quit
+ this->sleep_.wait (&sleep_time_, 0);
+ }
+ else
+ {
+ ACE_ERROR ((LM_INFO,
+ "FaultDetector%d FAULT: not alive.\n",
+ id_
+ ));
+ notify();
+ this->quit_requested_ = 1;
+ }
+ }
+ ACE_CATCHANY // todo refine this
+ {
+ ACE_ERROR ((LM_ERROR,
+ "FaultDetector FAULT: exception.\n"
+ ));
+ notify();
+ this->quit_requested_ = 1;
+ }
+ ACE_ENDTRY;
+ }
+ // warning: The following call will delete
+ // this object. Be careful not to reference
+ // member data after making this call.
+ // todo: use "scoped resource management" to make
+ // this exception-safe and stupid-return-safe.
+ this->factory_.remove_detector (this->id_, this);
+}
+
+void TAO::Fault_Detector_i::notify()
+{
+ CosNotification::StructuredEvent_var vEvent;
+ ACE_NEW_NORETURN(vEvent, CosNotification::StructuredEvent );
+ if (vEvent.ptr() != 0)
+ {
+ CORBA::ULong length = 2;
+ if( this->object_type_ != 0)
+ {
+ length = 3;
+ if (this->group_id_!= 0)
+ {
+ length = 4;
+ }
+ }
+
+ vEvent->header.fixed_header.event_type.domain_name = FT::FT_EVENT_TYPE_DOMAIN;
+ vEvent->header.fixed_header.event_type.type_name = FT::FT_EVENT_TYPE_NAME;
+ vEvent->filterable_data.length(length);
+ vEvent->filterable_data[0].name = FT::FT_DOMAIN_ID;
+ (vEvent->filterable_data[0].value) <<= this->domain_id_;
+ vEvent->filterable_data[1].name = FT::FT_LOCATION;
+ (vEvent->filterable_data[1].value) <<= this->object_location_;
+ if (this->object_type_!= 0)
+ {
+ vEvent->filterable_data[2].name = FT::FT_TYPE_ID;
+ (vEvent->filterable_data[2].value) <<= this->object_type_;
+ if (this->group_id_!= 0)
+ {
+ vEvent->filterable_data[3].name = FT::FT_GROUP_ID;
+ vEvent->filterable_data[3].value <<= this->group_id_;
+ }
+ }
+ ACE_TRY_NEW_ENV
+ {
+ if (TAO_debug_level > 5)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "call Fault Detector push Structured Event.\n"
+ ));
+ }
+ this->notifier_->push_structured_fault(vEvent.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (TAO_debug_level > 5)
+ {
+
+ ACE_ERROR ((LM_ERROR,
+ "return from Fault Detector push Structured Event.\n"
+ ));
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Fault Detector cannot send notification.");
+ }
+ ACE_ENDTRY;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Fault Detector cannot create Structured Event.\n"
+ ));
+ }
+}
+
+
+/////////////////////////////////////////////////////////
+// Fault_Detector_i private static implementation methods
+
+//static
+ACE_THR_FUNC_RETURN TAO::Fault_Detector_i::thr_func (void * arg)
+{
+ TAO::Fault_Detector_i * detector = ACE_static_cast (TAO::Fault_Detector_i * , arg);
+ detector->run ();
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/Fault_Detector/Fault_Detector_i.h b/TAO/orbsvcs/Fault_Detector/Fault_Detector_i.h
new file mode 100644
index 00000000000..d5882ad1a15
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Detector/Fault_Detector_i.h
@@ -0,0 +1,185 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Fault_Detector_i.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file declares the Fault_Detector_i class.
+ * The class implements the FaultDetectors as defined
+ * in the specification.
+ * A FaultDetector monitors the health of replicas.
+ * It is *NOT* a CORBA object and does not implement an IDL interface.
+ * All CORBA interaction with a FaultDetector is via a FaultDetectorFactory.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef FAULT_DETECTOR_I_H_
+#define FAULT_DETECTOR_I_H_
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <ace/Manual_Event.h>
+
+//////////////////////////////////
+// Classes declared in this header
+namespace TAO
+{
+ class Fault_Detector_i;
+}
+
+
+#include "orbsvcs/FT_NotifierC.h"
+#include "orbsvcs/FT_ReplicaC.h"
+#include "ace/Time_Value.h"
+
+
+namespace TAO
+{
+ //////////////////////
+ // Forward references
+
+ class FT_FaultDetectorFactory_i;
+
+ //////////////////////
+ // Class declarations
+
+ class Fault_Detector_i
+ {
+ ///////////////////
+ // Public interface
+ public:
+ /**
+ * Construct FaultDetector.
+ * @param factory to be notified when this detector goes away.
+ * @param id to use when notifyting the factory of detector departure.
+ * @param notifier to receive the fault notification if our monitorable faults.
+ * @param monitorable object to be monitored.
+ * @param domain_id data to include in fault notification.
+ * @param object_location data to include in fault notification.
+ * @param object_type data to include in fault notification.
+ * @param group_id data to include in fault notification.
+ */
+ Fault_Detector_i (
+ FT_FaultDetectorFactory_i & factory,
+ CORBA::ULong id,
+ FT::FaultNotifier_ptr & notifier,
+ FT::PullMonitorable_ptr & monitorable,
+ FT::FTDomainId domain_id,
+ const PortableGroup::Location & object_location,
+ PortableGroup::TypeId object_type,
+ PortableGroup::ObjectGroupId group_id
+ );
+ /**
+ * destructor.
+ * Non-virtual because this class does not take part in
+ * inheritence.
+ */
+ ~Fault_Detector_i ();
+
+ /**
+ * Start the thread associated with this fault detector.
+ * @param threadManager to track this thread.
+ */
+ void start(ACE_Thread_Manager & threadManager);
+
+ /**
+ * Request that this detector shut itself down.
+ */
+ void request_quit();
+
+ ////////////////////////
+ // Static public methods
+ public:
+ /**
+ * Set the polling time for all FaultDetectors in this process.
+ * @param value the time between polls.
+ */
+ static void set_time_for_all_detectors (ACE_Time_Value value);
+
+ /////////////////////////
+ // implementation methods
+ private:
+ /**
+ * Send the notification message.
+ */
+ void notify();
+
+ /**
+ * The method to be run in the fault detector thread.
+ */
+ void run();
+
+ /**
+ * The startup function for the fault detector thread.
+ */
+ static ACE_THR_FUNC_RETURN thr_func (void * arg);
+
+ ////////////////////
+ // Forbidden methods
+ private:
+ Fault_Detector_i ();
+ Fault_Detector_i (Fault_Detector_i & rhs);
+ Fault_Detector_i & operator = (const Fault_Detector_i & rhs);
+
+ ///////////////
+ // Static data
+ private:
+ /**
+ * Time between polls for all fault detectors in this process.
+ */
+ static ACE_Time_Value sleep_time_;
+
+ ///////////////
+ // Data members
+ private:
+ /**
+ * The factory that "owns" us."
+ */
+ FT_FaultDetectorFactory_i & factory_;
+
+ /**
+ * How the factory knows who we are.
+ */
+ CORBA::ULong id_;
+
+ /**
+ * Where to send fault notification messages.
+ */
+ FT::FaultNotifier_var notifier_;
+
+ /**
+ * What to monitor.
+ */
+ FT::PullMonitorable_var monitorable_;
+
+ /**
+ * Data for the notification message.
+ */
+ FT::FTDomainId domain_id_;
+ PortableGroup::Location object_location_;
+ PortableGroup::TypeId object_type_;
+ PortableGroup::ObjectGroupId group_id_;
+
+ /**
+ * An Event (in the Win32 sense) to implement interruptable sleep.
+ * Manual rather than auto because once quit is requested we never
+ * want to sleep again.
+ */
+ ACE_Manual_Event sleep_;
+
+ /**
+ * A boolean flag. If true, this fault detector should leave.
+ */
+ int quit_requested_;
+ };
+} // namespace TAO
+#include /**/ <ace/post.h>
+#endif // FAULT_DETECTOR_I_H_
diff --git a/TAO/orbsvcs/Fault_Notifier/.cvsignore b/TAO/orbsvcs/Fault_Notifier/.cvsignore
new file mode 100644
index 00000000000..26f0ac494ac
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Notifier/.cvsignore
@@ -0,0 +1,4 @@
+*.dsp
+*.dsw
+Release
+Debug
diff --git a/TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.cpp b/TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.cpp
new file mode 100644
index 00000000000..26f51460da2
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.cpp
@@ -0,0 +1,774 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file FT_Notifier_i.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_Notifier_i.h"
+
+#include <ace/Get_Opt.h>
+#include <ace/OS_NS_stdio.h>
+#include <tao/debug.h>
+
+// Use this macro at the beginning of CORBA methods
+// to aid in debugging.
+#define METHOD_ENTRY(name) \
+ if (TAO_debug_level > 6) \
+ { \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Enter %s\n", #name \
+ )); \
+ }
+
+// Use this macro to return from CORBA methods
+// to aid in debugging. Note that you can specify
+// the return value after the macro, for example:
+// METHOD_RETURN(Plugh::plover) xyzzy; is equivalent
+// to return xyzzy;
+// METHOD_RETURN(Plugh::troll); is equivalent to
+// return;
+// WARNING: THIS GENERATES TWO STATEMENTS!!! THE FOLLOWING
+// will not do what you want it to:
+// if (cave_is_closing) METHOD_RETURN(Plugh::pirate) aarrggh;
+// Moral: Always use braces.
+#define METHOD_RETURN(name) \
+ if (TAO_debug_level > 6) \
+ { \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Leave %s\n", #name \
+ )); \
+ } \
+ return /* value goes here */
+
+
+// Implementation skeleton constructor
+TAO::FT_FaultNotifier_i::FT_FaultNotifier_i ()
+ : orb_ (0)
+ , poa_ (0)
+ , object_id_ (0)
+ , ior_output_file_(0)
+ , ns_name_(0)
+ , naming_context_ (0)
+ , this_name_ (1)
+ , rm_register_ (1)
+ , replication_manager_ (0)
+ , registered_ (0)
+ , identity_ ("")
+ , proxy_infos_ (0)
+ , consumer_connects_(0)
+ , consumer_disconnects_(0)
+ , notify_channel_ (0)
+ , filter_factory_ (0)
+ , supplier_admin_ (0)
+ , consumer_admin_ (0)
+ , structured_proxy_push_consumer_ (0)
+ , sequence_proxy_push_consumer_ (0)
+ , quit_on_idle_(0)
+ , quitting_(0)
+ , gone_(0)
+{
+}
+
+// Implementation skeleton destructor
+TAO::FT_FaultNotifier_i::~FT_FaultNotifier_i ()
+{
+ ACE_TRY_NEW_ENV
+ {
+ fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHALL
+ {
+ }
+ ACE_ENDTRY;
+}
+
+
+int TAO::FT_FaultNotifier_i::idle(int &result ACE_ENV_ARG_DECL_NOT_USED)
+{
+ static unsigned long linger = 0;
+ ACE_UNUSED_ARG(result);
+ if (gone_)
+ {
+ if ( linger == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "FaultNotifier (%P|%t) Begin linger.\n"
+ ));
+ }
+ if(++linger > 5)//10)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "FaultNotifier (%P|%t) idle returnning gone\n"
+ ));
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ return this->gone_;
+}
+
+////////////////////////////////////////////
+// FT_FaultNotifier_i private methods
+
+
+// TODO: find this a common home
+int TAO::FT_FaultNotifier_i::write_ior()
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (this->ior_output_file_, "w");
+ if (out)
+ {
+ ACE_OS::fprintf (out, "%s", ACE_static_cast(const char *, this->ior_));
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%T %n (%P|%t) Open failed for %s\n", ior_output_file_
+ ));
+ }
+ return result;
+}
+
+//////////////////////////////////////////////////////
+// FT_FaultNotifier_i public, non-CORBA methods
+
+int TAO::FT_FaultNotifier_i::parse_args (int argc, char * argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:rq");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'o':
+ {
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'r':
+ {
+ this->rm_register_ = ! this->rm_register_;
+ break;
+ }
+ case 'q':
+ {
+ this->quit_on_idle_ = 1;
+ break;
+ }
+ case '?':
+ // fall thru
+ default:
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s"
+ " -o <iorfile>"
+ " -r disable registration with ReplicationManager"
+ " -q(uit on idle)"
+ "\n",
+ argv [0]),
+ -1);
+ break;
+ }
+ }
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+const char * TAO::FT_FaultNotifier_i::identity () const
+{
+ return this->identity_.c_str();
+}
+
+PortableServer::POA_ptr TAO::FT_FaultNotifier_i::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return this->poa_.in();
+}
+
+
+void TAO::FT_FaultNotifier_i::_remove_ref (ACE_ENV_SINGLE_ARG_DECL)
+{
+ notify_channel_->destroy(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_ERROR ((LM_ERROR,
+ "FaultNotifier (%P|%t) _remove_ref setting gone\n"
+ ));
+ this->gone_ = 1;
+}
+
+int TAO::FT_FaultNotifier_i::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (this->ior_output_file_ != 0)
+ {
+ ACE_OS::unlink (this->ior_output_file_);
+ this->ior_output_file_ = 0;
+ }
+ if (this->ns_name_ != 0 && this->naming_context_.in() != 0)
+ {
+ this->naming_context_->unbind (this_name_
+ ACE_ENV_ARG_PARAMETER);
+ this->ns_name_ = 0;
+ }
+
+ if (this->registered_)
+ {
+ ACE_TRY
+ {
+ this->replication_manager_->register_fault_notifier(::FT::FaultNotifier::_nil ());
+ ACE_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultNotifier unregistered from ReplicationManager.\n"
+ ));
+ }
+ ACE_CATCHANY
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultNotifier Can't unregister from ReplicationManager.\n"
+ ));
+ // complain, but otherwise ignore this error
+ // RM may be down.
+ }
+ ACE_ENDTRY;
+
+ this->registered_ = 0;
+ }
+ return 0;
+}
+
+int TAO::FT_FaultNotifier_i::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL )
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ // Register with the POA.
+
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ // find my IOR
+
+ CORBA::Object_var this_obj =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ this->ior_ = this->orb_->object_to_string (this_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+
+ ////////////////////////////////////////////////
+ // Register with coresident Notification Channel
+ CosNotifyChannelAdmin::EventChannelFactory_var notify_factory =
+ TAO_Notify_EventChannelFactory_i::create (poa_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ CosNotification::QoSProperties initial_qos;
+ CosNotification::AdminProperties initial_admin;
+ this->notify_channel_ =
+ notify_factory->create_channel (initial_qos,
+ initial_admin,
+ channel_id_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ this->filter_factory_ = this->notify_channel_->default_filter_factory (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ ///////////////////////////
+ // Producer registration
+
+ this->supplier_admin_ = this->notify_channel_->default_supplier_admin (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ ::CosNotifyChannelAdmin::ProxyID proxyId = 0;
+
+ //////////////////////
+ // structured producer
+ ::CosNotifyChannelAdmin::ProxyConsumer_var consumer
+ = this->supplier_admin_->obtain_notification_push_consumer (
+ ::CosNotifyChannelAdmin::STRUCTURED_EVENT,
+ proxyId
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ structured_proxy_push_consumer_
+ = ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_narrow(consumer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ if (CORBA::is_nil (this->structured_proxy_push_consumer_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Should not occur: Unable to narrow Structured Proxy Push Consumer\n"),
+ 1);
+ }
+
+ // todo: implement a push supplier if we want to receive disconnect notice
+ CosNotifyComm::StructuredPushSupplier_var stubPushSupplier =
+ CosNotifyComm::StructuredPushSupplier::_nil();
+
+ this->structured_proxy_push_consumer_->connect_structured_push_supplier (stubPushSupplier.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ ////////////////////
+ // Sequence producer
+ consumer
+ = this->supplier_admin_->obtain_notification_push_consumer (
+ ::CosNotifyChannelAdmin::SEQUENCE_EVENT,
+ proxyId
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->sequence_proxy_push_consumer_
+ = ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_narrow(consumer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil (this->sequence_proxy_push_consumer_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Should not occur: Unable to narrow Sequence Proxy Push Consumer\n"),
+ 1);
+ }
+
+ // todo: implement this if we want to receive disconnect notice
+ CosNotifyComm::SequencePushSupplier_var stubSeqPushSupplier =
+ CosNotifyComm::SequencePushSupplier::_nil();
+
+ this->sequence_proxy_push_consumer_->connect_sequence_push_supplier (stubSeqPushSupplier.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ ///////////////////////////
+ // Consumer registration
+
+ // find the channel administrator for consumers
+ this->consumer_admin_ = this->notify_channel_->default_consumer_admin (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ if (CORBA::is_nil (this->consumer_admin_.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%T %n (%P|%t) NIL consumer admin\n"
+ ));
+ result = -1;
+ }
+ // everything else happens when subscriber shows up
+
+ ///////////////////////////////
+ // Register with ReplicationManager
+ if (this->rm_register_)
+ {
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var rm_obj = orb->resolve_initial_references("ReplicationManager" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ this->replication_manager_ = ::FT::ReplicationManager::_narrow(rm_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!CORBA::is_nil (replication_manager_.in ()))
+ {
+ // @@: should we check to see if there's already one registered?
+ FT::FaultNotifier_var notifier = FT::FaultNotifier::_narrow (this_obj.in ());
+ if (! CORBA::is_nil (notifier.in ()))
+ {
+ this->replication_manager_->register_fault_notifier(notifier.in ());
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultNotifier registered with ReplicationManager.\n"
+ ));
+ this->registered_ = 1;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Error: Registration failed. This is not a FaultNotifier (should not occur.)\n"
+ ));
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,"FaultNotifier: Can't resolve ReplicationManager, It will not be registered.\n" ));
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "FaultNotifier: Exception resolving ReplicationManager. Notifier will not be registered.\n" );
+ }
+ ACE_ENDTRY;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "FaultNotifier: ReplicationManager registration disabled.\n"
+ ));
+ }
+ ///////////////////////////////
+ // Set up and ready for action
+ // publish our IOR
+
+ if(result == 0)
+ {
+ if (this->ior_output_file_ != 0)
+ {
+ this->identity_ = "file:";
+ this->identity_ += this->ior_output_file_;
+ result = write_ior();
+ }
+ }
+
+ if (result == 0)
+ {
+ if (this->ns_name_ != 0)
+ {
+ this->identity_ = "name:";
+ this->identity_ += this->ns_name_;
+
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(naming_obj.in ())){
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+
+ this->naming_context_ =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil(this->naming_context_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Should not occur: Can't narrow initial reference to naming context.\n"),
+ 1);
+ }
+ this->this_name_.length (1);
+ this->this_name_[0].id = CORBA::string_dup (this->ns_name_);
+
+ this->naming_context_->rebind (this->this_name_, this_obj.in() //CORBA::Object::_duplicate(this_obj)
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+
+ return result;
+}
+
+///////////////////
+// CORBA METHODS
+
+void TAO::FT_FaultNotifier_i::push_structured_fault (
+ const CosNotification::StructuredEvent & event
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::FT_FaultNotifier_i::push_structured_fault);
+
+ this->structured_proxy_push_consumer_->push_structured_event (event
+ ACE_ENV_ARG_PARAMETER);
+
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::push_structured_fault);
+}
+
+void TAO::FT_FaultNotifier_i::push_sequence_fault (
+ const CosNotification::EventBatch & events
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::FT_FaultNotifier_i::push_sequence_fault);
+
+ this->sequence_proxy_push_consumer_->push_structured_events (events
+ ACE_ENV_ARG_PARAMETER);
+
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::push_sequence_fault);
+}
+
+::CosNotifyFilter::Filter_ptr TAO::FT_FaultNotifier_i::create_subscription_filter (
+ const char * constraint_grammar
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyFilter::InvalidGrammar))
+{
+ METHOD_ENTRY(TAO::FT_FaultNotifier_i::create_subscription_filter);
+ ACE_UNUSED_ARG (constraint_grammar); //@@todo
+
+ CosNotifyFilter::Filter_var filter = this->filter_factory_->create_filter ("ETCL");
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::create_subscription_filter)
+ filter._retn ();
+}
+
+FT::FaultNotifier::ConsumerId TAO::FT_FaultNotifier_i::connect_structured_fault_consumer (
+ CosNotifyComm::StructuredPushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::FT_FaultNotifier_i::connect_structured_fault_consumer);
+
+ /////////////////////////
+ // find a ProxyInfo entry
+ // use the first nil entry or a new entry if no nils found
+
+ size_t infoPos = 0;
+ int looking = 1;
+ for ( size_t pos = 0; looking && pos < this->proxy_infos_.size (); ++pos)
+ {
+ ProxyInfo & pi = this->proxy_infos_[pos];
+ if (CORBA::is_nil(pi.proxyVar_.in ()))
+ {
+ infoPos = pos;
+ looking = 0;
+ }
+ }
+ if (looking)
+ {
+ infoPos = this->proxy_infos_.size();
+ this->proxy_infos_.push_back(ProxyInfo());
+ }
+
+ ///////////////////////////////////////
+ // Assign an ID, populate the ProxyInfo
+ FT::FaultNotifier::ConsumerId result = infoPos;
+ ProxyInfo & info = this->proxy_infos_[infoPos];
+ info.proxyVar_
+ = this->consumer_admin_->obtain_notification_push_supplier (
+ ::CosNotifyChannelAdmin::STRUCTURED_EVENT,
+ info.proxyId_
+ ACE_ENV_ARG_PARAMETER);
+
+ this->consumer_connects_ += 1;
+
+ ::CosNotifyChannelAdmin::StructuredProxyPushSupplier_var proxySupplier
+ = ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_narrow(info.proxyVar_.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ if ( CORBA::is_nil (proxySupplier.in ()))
+ {
+ // this is a shoould-not-occur situation. The consumer admin returned
+ // the wrong kind of object.
+ ACE_ERROR(( LM_ERROR,
+ "%T %n (%P|%t) Unexpected result: Wrong type of object returned from obtain_notification_push_supplier\n"
+ ));
+ }
+ else
+ {
+ proxySupplier->connect_structured_push_consumer ( push_consumer
+ ACE_ENV_ARG_PARAMETER);
+
+ if (! CORBA::is_nil (filter))
+ {
+ proxySupplier->add_filter(filter);
+ }
+ }
+
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::connect_structured_fault_consumer) result;
+}
+
+FT::FaultNotifier::ConsumerId TAO::FT_FaultNotifier_i::connect_sequence_fault_consumer (
+ CosNotifyComm::SequencePushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::FT_FaultNotifier_i::connect_sequence_fault_consumer);
+ /////////////////////////
+ // find a ProxyInfo entry
+ // use the first nil entry or a new entry if no nils found
+
+ size_t infoPos = 0;
+ int looking = 1;
+ for ( size_t pos = 0; looking && pos < this->proxy_infos_.size (); ++pos)
+ {
+ ProxyInfo & pi = this->proxy_infos_[pos];
+ if (CORBA::is_nil(pi.proxyVar_.in ()))
+ {
+ infoPos = pos;
+ looking = 0;
+ }
+ }
+ if (looking)
+ {
+ infoPos = this->proxy_infos_.size();
+ this->proxy_infos_.push_back(ProxyInfo());
+ }
+
+ ///////////////////////////////////////
+ // Assign an ID, populate the ProxyInfo
+ FT::FaultNotifier::ConsumerId result = infoPos;
+ ProxyInfo & info = this->proxy_infos_[infoPos];
+ info.proxyVar_
+ = this->consumer_admin_->obtain_notification_push_supplier (
+ ::CosNotifyChannelAdmin::SEQUENCE_EVENT,
+ info.proxyId_
+ ACE_ENV_ARG_PARAMETER);
+
+ this->consumer_connects_ += 1;
+
+ ::CosNotifyChannelAdmin::SequenceProxyPushSupplier_var proxySupplier
+ = ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_narrow(info.proxyVar_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ if ( CORBA::is_nil (proxySupplier.in ()))
+ {
+ // this is a shoould-not-occur situation. The consumer admin returned
+ // the wrong kind of object.
+ ACE_ERROR(( LM_ERROR,
+ "%T %n (%P|%t) Unexpected result: Wrong type of object returned from obtain_notification_push_supplier\n"
+ ));
+ }
+ else
+ {
+ proxySupplier->connect_sequence_push_consumer ( push_consumer
+ ACE_ENV_ARG_PARAMETER);
+
+ if (! CORBA::is_nil (filter))
+ {
+ proxySupplier->add_filter(filter);
+ }
+ }
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::connect_sequence_fault_consumer) result;
+}
+
+void TAO::FT_FaultNotifier_i::disconnect_consumer (
+ FT::FaultNotifier::ConsumerId connection
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosEventComm::Disconnected))
+{
+ METHOD_ENTRY(TAO::FT_FaultNotifier_i::disconnect_consumer);
+
+ size_t index = ACE_static_cast ( size_t, connection);
+ if (index < this->proxy_infos_.size())
+ {
+ ProxyInfo & info = this->proxy_infos_[index];
+ if (CORBA::is_nil(info.proxyVar_.in ()) )
+ {
+ ACE_THROW(CosEventComm::Disconnected());
+ }
+ else
+ {
+ ::CosNotifyChannelAdmin::StructuredProxyPushSupplier_var proxySupplier
+ = ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_narrow(info.proxyVar_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ if (! CORBA::is_nil (proxySupplier.in ()))
+ {
+ proxySupplier->disconnect_structured_push_supplier ();
+ info.proxyVar_ = ::CosNotifyChannelAdmin::ProxySupplier::_nil();
+ }
+ else
+ {
+ ::CosNotifyChannelAdmin::SequenceProxyPushSupplier_var proxySupplier
+ = ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_narrow(info.proxyVar_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ if (! CORBA::is_nil (proxySupplier.in ()))
+ {
+ proxySupplier->disconnect_sequence_push_supplier ();
+ info.proxyVar_ = ::CosNotifyChannelAdmin::ProxySupplier::_nil();
+ }
+ else
+ {
+ ACE_ERROR((LM_ERROR,
+ "%T %n (%P|%t) Unexpected proxy supplier type\n"
+ ));
+ ACE_THROW(CosEventComm::Disconnected());
+ }
+ }
+ }
+ }
+ else
+ {
+ ACE_THROW(CosEventComm::Disconnected());
+ }
+
+ this->consumer_disconnects_ += 1;
+ if (this->quit_on_idle_)
+ {
+ if (! this->quitting_
+ && this->consumer_connects_ == this->consumer_disconnects_)
+ {
+ ACE_ERROR((LM_ERROR,
+ "FaultNotifier (%P|%t) quit on idle: connects %d, disconnects %d\n",
+ ACE_static_cast (unsigned int, this->consumer_connects_),
+ ACE_static_cast (unsigned int, this->consumer_disconnects_)
+ ));
+ this->poa_->deactivate_object (this->object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ this->quitting_ = 1;
+ }
+ }
+
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::disconnect_consumer);
+}
+
+CORBA::Boolean TAO::FT_FaultNotifier_i::is_alive (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_RETURN(TAO::FT_FaultNotifier_i::is_alive) 1;
+}
+
+//////////////
+// ProxyInfo
+
+TAO::FT_FaultNotifier_i::ProxyInfo::ProxyInfo ()
+ : proxyId_ (0)
+ , proxyVar_ (::CosNotifyChannelAdmin::ProxySupplier::_nil())
+{
+}
+
+TAO::FT_FaultNotifier_i::ProxyInfo::ProxyInfo (const ProxyInfo & rhs)
+ : proxyId_ (rhs.proxyId_)
+ , proxyVar_ (rhs.proxyVar_)
+{
+}
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Guard<ACE_SYNCH_MUTEX>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Guard<ACE_SYNCH_MUTEX>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.h b/TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.h
new file mode 100644
index 00000000000..ab820df236c
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Notifier/FT_Notifier_i.h
@@ -0,0 +1,276 @@
+// -*- C++ -*-
+//
+// $Id$
+//=============================================================================
+/**
+ * @file FT_Notifier_i.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file declares the Fault_Notifier_i class.
+ * A FaultNotifer is a subset of a notification channel. It allows interested
+ * parties to subscribe to fault notifications. The most likely interested party
+ * is the ReplicationManager.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_FT_NOTIFIER_I_H_
+#define TAO_FT_NOTIFIER_I_H_
+#include /**/ "ace/pre.h"
+#include "ace/ACE.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+//////////////////////////////////
+// Classes declared in this header
+namespace TAO
+{
+ class FT_FaultNotifier_i;
+}
+
+
+#include <orbsvcs/FT_NotifierS.h>
+#include <orbsvcs/FT_ReplicationManagerC.h>
+#include <orbsvcs/Notify/Notify_EventChannelFactory_i.h>
+#include <ace/Vector_T.h>
+
+/////////////////////
+// Forward references
+
+namespace TAO
+{
+ class FT_FaultNotifier_i : public virtual POA_FT::FaultNotifier
+ {
+ //////////////////////
+ // non-CORBA interface
+ public:
+ /**
+ * Default constructor.
+ */
+ FT_FaultNotifier_i ();
+
+ /**
+ * Virtual destructor.
+ */
+ virtual ~FT_FaultNotifier_i ();
+
+
+ /**
+ * Parse command line arguments.
+ * @param argc traditional C argc
+ * @param argv traditional C argv
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object.
+ * @param orbManager our ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * Identify this fault notifier.
+ * @return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result ACE_ENV_ARG_DECL);
+
+ //////////////////
+ // CORBA interface
+ // See IDL for documentation
+
+ virtual void push_structured_fault (
+ const CosNotification::StructuredEvent & event
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void push_sequence_fault (
+ const CosNotification::EventBatch & events
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::CosNotifyFilter::Filter_ptr create_subscription_filter (
+ const char * constraint_grammar
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyFilter::InvalidGrammar));
+
+ virtual FT::FaultNotifier::ConsumerId connect_structured_fault_consumer (
+ CosNotifyComm::StructuredPushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual FT::FaultNotifier::ConsumerId connect_sequence_fault_consumer (
+ CosNotifyComm::SequencePushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void disconnect_consumer (
+ FT::FaultNotifier::ConsumerId connection
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosEventComm::Disconnected));
+
+ //////////////////////////////////////////
+ // CORBA interface PullMonitorable methods
+ virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ /////////////////////////////////////////
+ // Override CORBA servant virtual methods
+ virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL);
+
+ virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
+
+ /////////////////////////
+ // Implementation methods
+ private:
+ /**
+ * Write this notifier's IOR to a file
+ */
+ int write_ior ();
+
+ ///////////////
+ // Data Members
+ private:
+
+ /**
+ * Protect internal state.
+ * Mutex should be locked by corba methods, or by
+ * external (public) methods before calling implementation
+ * methods.
+ * Implementation methods should assume the mutex is
+ * locked if necessary.
+ */
+ ACE_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<ACE_SYNCH_MUTEX> InternalGuard;
+
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+
+ /**
+ * IOR of this object as assigned by orb.
+ */
+ CORBA::String_var ior_;
+
+ /**
+ * A file to which the notifier's IOR should be written.
+ */
+ const char * ior_output_file_;
+
+ /**
+ * A name to be used to register the notifier with the name service.
+ */
+ const char * ns_name_;
+
+ CosNaming::NamingContext_var naming_context_;
+
+ CosNaming::Name this_name_;
+
+ /**
+ * bool: if true, register with ReplicationManager.
+ * default is true. -r turns it off.
+ */
+ int rm_register_;
+
+ /**
+ * the replication manager
+ */
+ ::FT::ReplicationManager_var replication_manager_;
+
+ /**
+ * bool: if true the registration with ReplicationManager was successful.
+ */
+ int registered_;
+
+ /**
+ * A human-readable string to distinguish this from other Notifiers.
+ */
+ ACE_CString identity_;
+
+ /////////////////////////////
+ //
+ struct ProxyInfo
+ {
+ ::CosNotifyChannelAdmin::ProxyID proxyId_;
+ ::CosNotifyChannelAdmin::ProxySupplier_var proxyVar_;
+
+ ProxyInfo ();
+ ProxyInfo (const ProxyInfo & rhs);
+ };
+
+ typedef ACE_Vector <ProxyInfo> ProxyInfoVec;
+
+ ProxyInfoVec proxy_infos_;
+
+ size_t consumer_connects_;
+ size_t consumer_disconnects_;
+
+ ::CosNotifyChannelAdmin::ChannelID channel_id_;
+ ::CosNotifyChannelAdmin::EventChannel_var notify_channel_;
+ ::CosNotifyFilter::FilterFactory_var filter_factory_;
+ ::CosNotifyChannelAdmin::SupplierAdmin_var supplier_admin_;
+ ::CosNotifyChannelAdmin::ConsumerAdmin_var consumer_admin_;
+
+ ::CosNotifyChannelAdmin::StructuredProxyPushConsumer_var structured_proxy_push_consumer_;
+ ::CosNotifyChannelAdmin::SequenceProxyPushConsumer_var sequence_proxy_push_consumer_;
+
+ /*
+ * boolean quit when all consumers disconnect
+ */
+ int quit_on_idle_;
+
+ /**
+ * boolean: set true we've asked CORBA to deactivate
+ */
+ int quitting_;
+
+ /**
+ * boolean: set true when CORBA is done with this object.
+ */
+ int gone_;
+
+ };
+} // namespace TAO
+#include /**/ "ace/post.h"
+
+#endif /* TAO_FT_NOTIFIER_I_H_ */
diff --git a/TAO/orbsvcs/Fault_Notifier/Fault_Notifier.mpc b/TAO/orbsvcs/Fault_Notifier/Fault_Notifier.mpc
new file mode 100644
index 00000000000..5f079ce6c8a
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Notifier/Fault_Notifier.mpc
@@ -0,0 +1,8 @@
+// $Id$
+project : taoserver, orbsvcsexe, fault_tolerance, notification {
+ exename = Fault_Notifier
+ Source_Files {
+ FT_Notifier_i.cpp
+ Fault_Notifier_Main.cpp
+ }
+}
diff --git a/TAO/orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp b/TAO/orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp
new file mode 100644
index 00000000000..52cbdd95954
--- /dev/null
+++ b/TAO/orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp
@@ -0,0 +1,37 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Fault_Notifier_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a process that
+ * implements the FaultNotifier interface and manages
+ * a set of FaultNotifiers.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include <tao/Utils/Server_Main.h>
+#include "FT_Notifier_i.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<TAO::FT_FaultNotifier_i> server_main("TAO_FaultNotifier");
+ return server_main.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<TAO::FT_FaultNotifier_i>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<TAO::FT_FaultNotifier_i>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp
new file mode 100644
index 00000000000..e8bee6d79a4
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp
@@ -0,0 +1,107 @@
+//=============================================================================
+/**
+ * @file Activator_NT_Service.cpp
+ *
+ * $Id$
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ * @author John Tucker <jtucker@infoglide.com>
+ * @author Mike Vitalo <mvitalo@infoglide.com>
+ */
+//=============================================================================
+
+#include "Activator_NT_Service.h"
+
+#if defined (ACE_WIN32)
+
+#include "ImR_Activator_i.h"
+#include "tao/ORB_Core.h"
+
+/**
+ * Handles the SERVICE_CONTROL_SHUTDOWN and SERVICE_CONTROL_STOP commands
+ * by shutting down the ORB. Otherwise ACE_NT_Service::handle_control
+ * handles the command.
+ */
+void
+Activator_NT_Service::handle_control (DWORD control_code)
+{
+ if (control_code == SERVICE_CONTROL_SHUTDOWN
+ || control_code == SERVICE_CONTROL_STOP)
+ {
+ report_status (SERVICE_STOP_PENDING);
+ TAO_ORB_Core_instance ()->reactor ()->end_reactor_event_loop ();
+ TAO_ORB_Core_instance ()->orb ()->shutdown (1);
+ }
+ else
+ {
+ ACE_NT_Service::handle_control (control_code);
+ }
+}
+
+
+/**
+ */
+int
+Activator_NT_Service::handle_exception (ACE_HANDLE)
+{
+ return 0;
+}
+
+
+/**
+ * We do almost the same thing as we do in run_standalone () except that
+ * we update the report_status after init.
+ */
+int
+Activator_NT_Service::svc (void)
+{
+ ImR_Activator_i server;
+
+ int status = 0;
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ status = server.init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (status == -1)
+ {
+ report_status (SERVICE_STOPPED);
+ return -1;
+ }
+ else
+ {
+ report_status (SERVICE_RUNNING);
+ server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ status = server.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ report_status (SERVICE_STOPPED);
+
+ }
+ if (status != -1)
+ return 0;
+ }
+ ACE_CATCH (CORBA::SystemException, sysex)
+ {
+ ACE_PRINT_EXCEPTION (sysex, IMR_ACTIVATOR_DISPLAY_NAME);
+ }
+ ACE_CATCH (CORBA::UserException, userex)
+ {
+ ACE_PRINT_EXCEPTION (userex, IMR_ACTIVATOR_DISPLAY_NAME);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, IMR_ACTIVATOR_DISPLAY_NAME);
+ }
+ ACE_ENDTRY;
+
+ report_status (SERVICE_STOPPED);
+ return -1;
+}
+
+#endif /* ACE_WIN32 */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h
new file mode 100644
index 00000000000..1fc289707ed
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h
@@ -0,0 +1,58 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Activator_NT_Service.h
+ *
+ * $Id$
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ * @author John Tucker <jtucker@infoglide.com>
+ * @author Mike Vitalo <mvitalo@infoglide.com>
+ */
+//=============================================================================
+
+#ifndef Activator_NT_Service_H
+#define Activator_NT_Service_H
+
+#include "ace/config.h"
+
+#if defined (ACE_WIN32)
+
+#include "ace/NT_Service.h"
+#include "ace/Singleton.h"
+#include "tao/orbconf.h"
+
+static const char * IMR_ACTIVATOR_SERVICE_NAME = "TAOIMRActivator";
+static const char * IMR_ACTIVATOR_DISPLAY_NAME = "TAO Implementation Repository Activator";
+static const char * IMR_ACTIVATOR_DESCRIPTION = "Implementation Repository Activator service for TAO";
+
+/**
+ * @class Activator_NT_Service
+ *
+ * @brief Allows the Implementation Repository to act as a Windows NT Service.
+ */
+class Activator_NT_Service : public ACE_NT_Service
+{
+public:
+ typedef TAO_SYNCH_RECURSIVE_MUTEX MUTEX;
+
+ /// We override <handle_control> because it handles stop requests
+ /// privately.
+ virtual void handle_control (DWORD control_code);
+
+ /// We override <handle_exception> so a 'stop' control code can wake
+ /// the reactor off of its wait.
+ virtual int handle_exception (ACE_HANDLE h);
+
+ /// This is a virtual method inherited from ACE_NT_Service.
+ virtual int svc (void);
+private:
+ friend class ACE_Singleton<Activator_NT_Service, MUTEX>;
+};
+
+typedef ACE_Singleton<Activator_NT_Service, Activator_NT_Service::MUTEX> SERVICE;
+
+#endif /* ACE_WIN32 */
+
+#endif /* Activator_NT_Service_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
new file mode 100644
index 00000000000..c6a696b92ca
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
@@ -0,0 +1,830 @@
+//=============================================================================
+/**
+ * @file Activator_Options.cpp
+ *
+ * $Id$
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+#include "Activator_Options.h"
+#include "Activator_NT_Service.h"
+#include "tao/Strategies/advanced_resource.h"
+#include "ace/Arg_Shifter.h"
+#include "ace/ARGV.h"
+#include "ace/OS_NS_strings.h"
+#include "ace/Mutex.h"
+
+ACE_RCSID (ImplRepo_Service,
+ Options,
+ "$Id$")
+
+
+#if defined (ACE_WIN32)
+static const HKEY SERVICE_REG_ROOT = HKEY_LOCAL_MACHINE;
+// This string must agree with the one used in Activator_NT_Service.h
+static const ACE_TCHAR *SERVICE_REG_PATH =
+ ACE_TEXT ("SYSTEM\\CurrentControlSet\\Services\\TAOIMRActivator\\Parameters");
+#endif /* ACE_WIN32 */
+
+/**
+ * Default Constructor. Assigns default values to all the member variables.
+ */
+Options::Options ()
+ : repo_mode_ (REPO_NONE)
+ , debug_ (1)
+ , ping_interval_ (0, 200 * 1000) // 200 milliseconds
+ , service_ (false)
+ , startup_timeout_ (5)
+ , readonly_ (false)
+ , service_command_(SC_NONE)
+{
+}
+
+/**
+ * parse_args uses an ACE_Arg_Shifter to grab all the options that are
+ * specific to the ImR.
+ * If running as an nt service, most of these options will come from the
+ * registry instead.
+ *
+ * @retval 0 Success
+ * @retval -1 Error parsing args
+ * @retval 1 Success but we should exit.
+ */
+int
+Options::parse_args (int &argc, char *argv[])
+{
+ ACE_Arg_Shifter shifter (argc, argv);
+
+ while (shifter.is_anything_left ())
+ {
+ if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-c")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -c option needs a command\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("install")) == 0)
+ {
+ this->service_command_ = SC_INSTALL;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("remove")) == 0)
+ {
+ this->service_command_ = SC_REMOVE;
+ }
+ else
+ {
+ ACE_ERROR((LM_ERROR, "Error: Unknown service command : %s\n", shifter.get_current()));
+ this->print_usage ();
+ return -1;
+ }
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-d")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -d option needs a debuglevel\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ this->debug_ = ACE_OS::atoi (shifter.get_current ());
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-l")) == 0)
+ {
+ this->readonly_ = true;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-o")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -o option needs a filename\n"));
+ this->print_usage ();
+ return -1;
+ }
+ this->ior_output_file_ = shifter.get_current();
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-p")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -p option needs a filename\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ if (repo_mode_ != REPO_NONE)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Persistence already specified.\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ this->file_name_ = shifter.get_current ();
+ this->repo_mode_ = REPO_HEAP_FILE;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-r")) == 0)
+ {
+ if (repo_mode_ != REPO_NONE)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Persistence already specified.\n"));
+ this->print_usage ();
+ return -1;
+ }
+ this->repo_mode_ = REPO_REGISTRY;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-x")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -x option needs a filename\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ if (repo_mode_ != REPO_NONE)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Persistence already specified.\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ this->file_name_ = shifter.get_current ();
+ this->repo_mode_ = REPO_XML_FILE;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-s")) == 0)
+ {
+ this->service_ = true;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-t")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -t option needs a value\n"));
+ this->print_usage ();
+ return -1;
+ }
+ this->startup_timeout_ =
+ ACE_Time_Value (ACE_OS::atoi (shifter.get_current ()));
+ }
+ else if ((ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-?")) == 0)
+ || (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-h")) == 0))
+ {
+ this->print_usage ();
+ return 1;
+ }
+ else
+ {
+ shifter.ignore_arg ();
+ continue;
+ }
+
+ shifter.consume_arg ();
+ }
+ return 0;
+}
+
+/**
+ * @retval 0 Success
+ * @retval -1 Error parsing args
+ * @retval 1 Success but we should exit.
+ */
+int
+Options::init (int argc, char *argv[])
+{
+ // Make an initial pass through and grab the arguments that we recognize.
+ // This may also run the commands to install or remove the nt service.
+ int result = this->parse_args (argc, argv);
+ if (result != 0) {
+ return result;
+ }
+
+ ACE_ARGV orb_args; // Save the leftovers to a ACE_ARGV class
+ ACE_CString cmdline; // We'll save this in the registry when installing.
+ for (int i = 1; i < argc; ++i)
+ {
+ cmdline += ACE_CString(argv[i]) + ACE_CString(" ");
+ if (orb_args.add (argv[i]) == -1)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Could not save argument"));
+ return -1;
+ }
+ }
+
+ result = run_service_command(cmdline);
+
+ if (result != 0)
+ return result;
+
+ char* argv_tmp = 0;
+
+ // Load from the registry. This may replace the args.
+ if (this->load_registry_options(argv_tmp, orb_args) != 0)
+ return -1;
+
+ ACE_Auto_Array_Ptr<char> argv_deleter(argv_tmp);
+
+ if (orb_args.add ("-ORBSvcConfDirective\"static Advanced_Resource_Factory '-ORBReactorType select_st'\"") == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) TAO_ImR_Activator- Could not add"
+ " SvcConfDirective \n"),
+ -1);
+ }
+
+ int orb_argc = orb_args.argc ();
+
+ // Now initialize the orb and pass it the leftover arguments
+ ACE_TRY_NEW_ENV
+ {
+ this->orb_ = CORBA::ORB_init (orb_argc,
+ orb_args.argv (),
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception \n");
+ ACE_ERROR ((LM_ERROR, "Error: Cannot initialize ORB\n"));
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ // If there are any arguments left (besides the executable filename)
+ // then they were not picked up by us or the orb and must be
+ // unrecognized.
+ if (orb_argc > 1)
+ {
+ // Just print out the first option as an error
+ ACE_ERROR ((LM_ERROR,
+ "Unrecognized option: %s\n",
+ orb_args.argv ()[1]));
+ return -1;
+ }
+
+ if (this->initialize_persistence () != 0)
+ return -1;
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+
+/**
+ * Just print out the usage message to STDERR
+ */
+void
+Options::print_usage (void) const
+{
+ ACE_ERROR ((LM_ERROR,
+ "Usage:\n"
+ "\n"
+ "ImR_Activator [-c cmd] [-d 0|1|2] [-l] [-m] [-o file]"
+ " [-r|-p file|-x file] [-s] [-t secs]\n"
+ "\n"
+ " -c command Runs service commands ('install' or 'remove')\n"
+ " -d level Sets the debug level\n"
+ " -l Lock the database\n"
+ " -o file Outputs the ImR's IOR to a file\n"
+ " -p file Use file for storing/loading settings\n"
+ " -x file Use XML file for storing/loading setting\n"
+ " -r Use the registry for storing/loading settings\n"
+ " -s Runs as a service (NT Only)\n"
+ " -t secs Timeout used for killing unresponsive servers\n")
+ );
+}
+
+int
+Options::initialize_persistence(void)
+{
+ switch (this->repo_mode_)
+ {
+ case REPO_NONE:
+ return this->initialize_non_persistence();
+ case REPO_XML_FILE:
+ return this->initialize_xml_persistence();
+ case REPO_HEAP_FILE:
+ return this->initialize_heap_persistence();
+ case REPO_REGISTRY:
+ return this->initialize_registry_persistence();
+ }
+ ACE_ERROR((LM_ERROR, "Error: Unknown persistence type.\n"));
+ return -1;
+}
+/**
+ * The most portable form of persistence is file persistence. Here
+ * we assign an ACE_Configuration_Heap object using @param filename
+ * as the file.
+ *
+ * @retval 0 Success
+ * @retval -1 Failure
+ */
+int
+Options::initialize_heap_persistence (void)
+{
+ ACE_ASSERT(this->repo_config_.get() == 0);
+
+ auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("h"));
+
+ if (rc->open (this->file_name_.c_str()) == 0)
+ {
+ this->repo_config_ = rc;
+ return 0;
+ }
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: Opening persistent heap file '%s'\n"),
+ this->file_name_.c_str()));
+ return -1;
+}
+
+
+/**
+ * On Windows, we have the option of using the Registry to store the
+ * server data. Assigns a ACE_Configuration_Win32Registry to
+ * this->repo_config_. On non-Win32 systems, just returns an error.
+ *
+ * @todo Where in the registry should this be stored?
+ *
+ * @retval 0 Success
+ * @retval -1 Failure
+ */
+int
+Options::initialize_registry_persistence (void)
+{
+ ACE_ASSERT(this->repo_config_.get() == 0);
+#if defined (ACE_WIN32)
+ auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("w"));
+ this->repo_config_ = rc;
+ return 0;
+#else /* ACE_WIN32 */
+ ACE_ERROR_RETURN ((LM_ERROR, "Registry not supported on this platform"), -1);
+#endif /* ACE_WIN32 */
+}
+
+
+/**
+ * In cases where persistence isn't needed, create an object of
+ * the ACE_Configuration_Heap class to be used. Initializes
+ * this->repo_config_ to an opened ACE_Configuration_Heap.
+ *
+ * @retval 0 Success
+ * @retval -1 Failure
+ */
+int
+Options::initialize_non_persistence (void)
+{
+ ACE_ASSERT(this->repo_config_.get() == 0);
+
+ auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("h"));
+
+ if (rc->open () == 0)
+ {
+ this->repo_config_ = rc;
+ return 0;
+ }
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: Opening Configuration heap\n")));
+ return -1;
+}
+
+/// Initialize for the XML repository case.
+int
+Options::initialize_xml_persistence (void)
+{
+ ACE_ASSERT(this->repo_config_.get() == 0);
+
+ auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("x"));
+
+ if (rc->open (this->file_name_.c_str()) == 0)
+ {
+ this->repo_config_ = rc;
+ return 0;
+ }
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: Opening Configuration XML file %s\n"),
+ this->file_name_.c_str()
+ ));
+ return -1;
+}
+
+/**
+ * Executes the various commands that are useful for a NT service. Right
+ * now these include 'install' and 'remove'. Others, such as 'start' and
+ * 'stop' can be added, but the 'net' program in Windows already handles
+ * these commands.
+ *
+ * @todo Finish implementing Options::run_service_command
+ * @todo Update to unicode
+ */
+int
+Options::run_service_command (const ACE_CString& cmdline)
+{
+ if (this->service_command_ == SC_NONE)
+ return 0;
+#if defined (ACE_WIN32)
+ SERVICE::instance ()->name (IMR_ACTIVATOR_SERVICE_NAME, IMR_ACTIVATOR_DISPLAY_NAME);
+
+ if (this->service_command_ == SC_INSTALL)
+ {
+ char pathname[_MAX_PATH * 2 + 3]; // +3 for the ' -s' at the end
+
+ if (ACE_TEXT_GetModuleFileName(NULL, pathname, _MAX_PATH * 2) == 0)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Could not get module file name.\n"));
+ return -1;
+ }
+
+ // Append the command used for running the implrepo as
+ ACE_OS::strcat (pathname, ACE_TEXT (" -s"));
+
+ const char* DEPENDS_ON = "TAOIMRLocator"; // Must match Locator_NT_Service.h
+
+ int ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
+ SERVICE_ERROR_NORMAL,
+ pathname,
+ 0, // group
+ 0, // tag
+ DEPENDS_ON
+ );
+ if (ret != -1) {
+ if (debug() >= 1) {
+ ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service installed.\n"));
+ }
+ this->save_registry_options(cmdline);
+ } else {
+ ACE_ERROR((LM_ERROR, "Error: Failed to install service.\n"));
+ }
+ if (ret == 0)
+ return 1;
+ }
+ else if (this->service_command_ == SC_REMOVE)
+ {
+ int ret = SERVICE::instance ()->remove ();
+ if (debug() >= 1) {
+ ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service removed.\n"));
+ }
+ if (ret == 0)
+ return 1; // If successfull, then we don't want to continue.
+ }
+
+ return -1;
+
+#else /* ACE_WIN32 */
+ ACE_UNUSED_ARG (cmdline);
+ ACE_ERROR ((LM_ERROR, "Service not supported on this platform"));
+
+ return -1;
+#endif /* ACE_WIN32 */
+}
+
+int
+Options::save_registry_options(const ACE_CString& cmdline)
+{
+#if defined (ACE_WIN32)
+ HKEY key = 0;
+ // Create or open the parameters key
+ LONG err = ACE_TEXT_RegCreateKeyEx (SERVICE_REG_ROOT,
+ SERVICE_REG_PATH,
+ 0,
+ "", // class
+ REG_OPTION_NON_VOLATILE,
+ KEY_ALL_ACCESS,
+ NULL,
+ &key,
+ NULL
+ );
+ if (err != ERROR_SUCCESS) {
+ return -1;
+ }
+ err = ACE_TEXT_RegSetValueEx(key, "ORBInitOptions", 0, REG_SZ,
+ (LPBYTE) cmdline.c_str(), cmdline.length() + 1);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ACE_TEXT_RegSetValueEx(key, "PersistFile", 0, REG_SZ,
+ (LPBYTE) file_name_.c_str(), file_name_.length() + 1);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ACE_TEXT_RegSetValueEx(key, "IORFile", 0, REG_SZ,
+ (LPBYTE) ior_output_file_.c_str(), ior_output_file_.length() + 1);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ACE_TEXT_RegSetValueEx(key, "DebugLevel", 0, REG_DWORD,
+ (LPBYTE) &debug_ , sizeof(debug_));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ DWORD tmp = ping_interval_.msec();
+ err = ACE_TEXT_RegSetValueEx(key, "PingInterval", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = readonly_ ? 1 : 0;
+ err = ACE_TEXT_RegSetValueEx(key, "Lock", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = repo_mode_;
+ err = ACE_TEXT_RegSetValueEx(key, "PersistType", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = startup_timeout_.sec();
+ err = ACE_TEXT_RegSetValueEx(key, "Timeout", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ::RegCloseKey(key);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+#else
+ ACE_UNUSED_ARG (cmdline);
+#endif
+ return 0;
+}
+
+namespace {
+ // This both parses the cmdline by replacing spaces with \0's, and
+ // adds each command to the ACE_ARGV.
+ void parse_command_line(char* cmdline, ACE_ARGV& argv) {
+ // This tokenizer will replace all spaces with end-of-string
+ // characters and will preserve text between "" and '' pairs.
+ ACE_Tokenizer parser (cmdline);
+ parser.delimiter_replace (' ', '\0');
+ parser.preserve_designators ('\"', '\"');
+ parser.preserve_designators ('\'', '\'');
+
+ for (char *p = parser.next (); p; p = parser.next ()) {
+ argv.add(p);
+ }
+ }
+}
+/**
+ * We will only load from the registry if we are a service.
+ * We load each parameter from individual string keys, and then
+ * we have to parse the cmdline property into the orb_options
+ * so that they can be passed to ORB_init()
+ */
+int
+Options::load_registry_options (char*& cmdline, ACE_ARGV& argv)
+{
+#if defined (ACE_WIN32)
+ if (! this->service())
+ {
+ if (this->debug () >= 2)
+ ACE_DEBUG ((LM_DEBUG,
+ "ActivatorOptions::load_registry_options: Not running as "
+ "a service, will not load data from registry\n"));
+ return 0;
+ }
+
+ HKEY key = 0;
+ // Create or open the parameters key
+ LONG err = ACE_TEXT_RegOpenKeyEx (SERVICE_REG_ROOT,
+ SERVICE_REG_PATH,
+ 0,
+ KEY_READ,
+ &key
+ );
+ if (err != ERROR_SUCCESS) {
+ // If there aren't any saved parameters, then that's ok.
+ return 0;
+ }
+ ACE_TCHAR tmpstr[4096];
+ DWORD sz = sizeof(tmpstr);
+ DWORD type = 0;
+ err = ACE_TEXT_RegQueryValueEx(key, "ORBInitOptions", 0, &type,
+ (LPBYTE) tmpstr, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_SZ);
+ tmpstr[sz] = ACE_LIB_TEXT('\0');
+ cmdline = new char[sz+1];
+ ACE_OS::strcpy(cmdline, tmpstr);
+ parse_command_line(cmdline, argv);
+ }
+
+ sz = sizeof(tmpstr);
+ err = ACE_TEXT_RegQueryValueEx(key, "PersistFile", 0, &type,
+ (LPBYTE) tmpstr, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_SZ);
+ tmpstr[sz] = ACE_LIB_TEXT('\0');
+ this->file_name_ = ACE_CString(tmpstr);
+ }
+
+ sz = sizeof(tmpstr);
+ err = ACE_TEXT_RegQueryValueEx(key, "IORFile", 0, &type,
+ (LPBYTE) tmpstr, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_SZ);
+ tmpstr[sz] = ACE_LIB_TEXT('\0');
+ this->ior_output_file_ = ACE_CString(tmpstr);
+ }
+
+ sz = sizeof(debug_);
+ err = ACE_TEXT_RegQueryValueEx(key, "DebugLevel", 0, &type,
+ (LPBYTE) &debug_ , &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ }
+
+ DWORD tmp = 0;
+ err = ACE_TEXT_RegQueryValueEx(key, "PingInterval", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ ping_interval_.msec(tmp);
+ }
+
+ tmp = 0;
+ err = ACE_TEXT_RegQueryValueEx(key, "Lock", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ readonly_ = tmp != 0;
+ }
+
+ err = ACE_TEXT_RegQueryValueEx(key, "PersistType", 0, &type,
+ (LPBYTE) &repo_mode_, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ }
+
+ tmp = 0;
+ err = ACE_TEXT_RegQueryValueEx(key, "Timeout", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ startup_timeout_.sec(tmp);
+ }
+
+ err = ::RegCloseKey(key);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ return 0;
+#else /* ACE_WIN32 */
+ ACE_UNUSED_ARG (cmdline);
+ ACE_UNUSED_ARG (argv);
+ return 0;
+#endif /* ACE_WIN32 */
+}
+
+/**
+ * Standalone Mode
+ *
+ * @retval 0 Run as standalone service
+ * @retval 1 Run as a service (only on NT right now)
+ */
+bool
+Options::service (void) const
+{
+ return this->service_;
+}
+
+
+/**
+ * Debug level for the IR.
+ *
+ * @retval 0 Quiet
+ * @retval 1 Trace messages
+ * @retval 2 Detailed messages
+ */
+unsigned int
+Options::debug (void) const
+{
+ return this->debug_;
+}
+
+
+/**
+ * @return The file where the IOR will be stored.
+ */
+ACE_CString
+Options::output_filename (void) const
+{
+ return this->ior_output_file_;
+}
+
+
+/**
+ * @return The amount of time to wait for a server to start.
+ */
+ACE_Time_Value
+Options::startup_timeout (void) const
+{
+ return this->startup_timeout_;
+}
+
+
+/**
+ * @return The amount of time to wait between pings
+ */
+ACE_Time_Value
+Options::ping_interval (void) const
+{
+ return this->ping_interval_;
+}
+
+/**
+ * @return The ACE_Configuration object that is used to store data.
+ */
+Repository_Configuration *
+Options::config (void) const
+{
+ return this->repo_config_.get();
+}
+
+int
+Options::repository_mode (void)
+{
+ return this->repo_mode_;
+}
+
+ACE_CString
+Options::file_name (void) const
+{
+ return this->file_name_;
+}
+
+const char *
+Options::convert_str (ImplementationRepository::ActivationMode mode)
+{
+ switch (mode)
+ {
+ case ImplementationRepository::NORMAL:
+ return "NORMAL";
+ case ImplementationRepository::MANUAL:
+ return "MANUAL";
+ case ImplementationRepository::PER_CLIENT:
+ return "PER_CLIENT";
+ case ImplementationRepository::AUTO_START:
+ return "AUTO_START";
+ default:
+ return "UNKNOWN";
+ };
+}
+
+ImplementationRepository::ActivationMode
+Options::convert_mode (const char * mode)
+{
+ if (ACE_OS::strcmp (mode, "NORMAL") == 0)
+ return ImplementationRepository::NORMAL;
+ else if (ACE_OS::strcmp (mode, "MANUAL") == 0)
+ return ImplementationRepository::MANUAL;
+ else if (ACE_OS::strcmp (mode, "PER_CLIENT") == 0)
+ return ImplementationRepository::PER_CLIENT;
+ else //if (ACE_OS::strcmp (mode, "AUTO_START") == 0)
+ return ImplementationRepository::AUTO_START;
+}
+
+/**
+ * @return A pointer to the ORB.
+ */
+CORBA::ORB_ptr
+Options::orb (void) const
+{
+ return CORBA::ORB::_duplicate (this->orb_.in ());
+}
+
+/**
+ * @retval 0 Normal operation.
+ * @retval 1 Do not let server info be modified.
+ */
+bool
+Options::readonly (void) const
+{
+ return this->readonly_;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Options, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Options, ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h
new file mode 100644
index 00000000000..e9e7cc15466
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h
@@ -0,0 +1,166 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Activator_Options.h
+ *
+ * $Id$
+ *
+ * @brief Definition of the Options class for the Implementation Repository.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACTIVATOR_OPTIONS_H
+#define ACTIVATOR_OPTIONS_H
+
+#include "Repository_Configuration.h"
+
+#include "tao/ORB.h"
+#include "tao/PortableServer/ImplRepoC.h"
+
+#include "ace/Singleton.h"
+#include "ace/SString.h"
+#include "ace/Auto_Ptr.h"
+
+// Forward declarations
+class ACE_ARGV;
+
+/**
+ * @class Options
+ *
+ * @brief Maintains the global options.
+ *
+ * This is where all the settings for TAO's Implementation Repository is
+ * stored.
+ */
+class Options
+{
+public:
+ enum REPO_MODE {
+ REPO_NONE,
+ REPO_XML_FILE,
+ REPO_HEAP_FILE,
+ REPO_REGISTRY
+ };
+
+ enum SERVICE_COMMAND {
+ SC_NONE,
+ SC_INSTALL,
+ SC_REMOVE
+ };
+
+ /// Default Constructor
+ Options ();
+
+ /// Parse the command-line arguments and initialize the options.
+ int init (int argc, char *argv[]);
+
+ /// Service Mode
+ bool service (void) const;
+
+ /// Debug level for the Implementation Repository.
+ unsigned int debug (void) const;
+
+ /// Returns the file where the IOR should be stored.
+ ACE_CString output_filename (void) const;
+
+ /// Returns the configuration object.
+ Repository_Configuration* config (void) const;
+
+ int repository_mode (void);
+
+ /// Returns the file name.
+ ACE_CString file_name (void) const;
+
+ /// Converts the activation mode to a const char *. Needed to put
+ /// the activation mode into the XML file or print it out.
+ const char *convert_str (ImplementationRepository::ActivationMode mode);
+
+ ImplementationRepository::ActivationMode convert_mode (const char *mode);
+
+ /// Returns the timeout value for program starting.
+ ACE_Time_Value startup_timeout (void) const;
+
+ /// Returns the timeout value for program starting.
+ ACE_Time_Value ping_interval (void) const;
+
+ /// Returns a pointer to the ORB.
+ CORBA::ORB_ptr orb (void) const;
+
+ /// Will we listen for multicast location requests?
+ bool multicast (void) const;
+
+ /// Do we allow modifications to the servers?
+ bool readonly (void) const;
+
+private:
+ /// Parses and pulls out arguments for the ImR
+ int parse_args (int &argc, char *argv[]);
+
+ /// Print the usage information.
+ void print_usage (void) const;
+
+ /// Wrapper for the other initialize_persistence() methods
+ int initialize_persistence(void);
+
+ /// Initialize heap file persistence.
+ int initialize_heap_persistence (void);
+
+ /// Initialize Registry persistence.
+ int initialize_registry_persistence (void);
+
+ /// Initialize default heap for no persistence.
+ int initialize_non_persistence (void);
+
+ /// Initialize XML file persistence
+ int initialize_xml_persistence (void);
+
+ /// Run a service command.
+ int run_service_command (const ACE_CString& cmdline);
+
+ /// Loads ORB options from the registry
+ int load_registry_options (char*& cmdline, ACE_ARGV& argv);
+ int save_registry_options (const ACE_CString& cmdline);
+
+ /// The persistent configuration object.
+ auto_ptr<Repository_Configuration> repo_config_;
+
+ /// Mode of the Server Repository: if XML (x) or non-XML (n)
+ int repo_mode_;
+
+ /// The persistent file option.
+ ACE_CString file_name_;
+
+ /// Debug level.
+ unsigned int debug_;
+
+ /// File where the IOR of the server object is stored.
+ ACE_CString ior_output_file_;
+
+ /// Will we listen for multicast location requests?
+ bool multicast_;
+
+ /// The ORB for the Implementation Repository.
+ CORBA::ORB_var orb_;
+
+ /// The amount of time between successive "are you started yet?" pings.
+ ACE_Time_Value ping_interval_;
+
+ /// Are we running as a service?
+ bool service_;
+
+ /// The amount of time to wait for a server to response after starting it.
+ ACE_Time_Value startup_timeout_;
+
+ /// Can the server_repository be modified?
+ bool readonly_;
+
+ /// SC_NONE, SC_INSTALL, SC_REMOVE, ...
+ int service_command_;
+};
+
+typedef ACE_Singleton <Options, ACE_Null_Mutex> OPTIONS;
+
+#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp
new file mode 100644
index 00000000000..7dff48ece99
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp
@@ -0,0 +1,26 @@
+//=============================================================================
+/**
+ * @file INS_Locator.cpp
+ *
+ * $Id$
+ *
+ * @brief Implementation of the ImR's INS Locator class
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#include "INS_Locator.h"
+#include "ImR_Locator_i.h"
+
+INS_Locator::INS_Locator (ImR_Locator_i* loc)
+ : imr_locator_ (loc)
+{
+}
+
+char *
+INS_Locator::locate (const char* object_key ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, IORTable::NotFound))
+{
+ return this->imr_locator_->find_ior (object_key ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h
new file mode 100644
index 00000000000..26071a51348
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file INS_Locator.h
+ *
+ * $Id$
+ *
+ * @brief This class implements the ImR's INS Locator class
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef IMR_INS_LOCATOR_H
+#define IMR_INS_LOCATOR_H
+#include /**/ "ace/pre.h"
+
+#include "tao/IORTable/IORTable.h"
+#include "tao/LocalObject.h"
+
+class ImR_Locator_i;
+
+/**
+ * @class INS_Locator
+ *
+ * @brief Implementation Repository INS Locator class
+ *
+ * This class provides a callback for the IORTable to call when it needs
+ * to dynamically receive a IOR to forward in response to an INS request.
+ */
+class INS_Locator : public virtual IORTable::Locator,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+ /// Constructor
+ INS_Locator (ImR_Locator_i* loc);
+
+ /// Locate the appropriate IOR.
+ char * locate (const char *object_key ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, IORTable::NotFound));
+
+private:
+
+ ImR_Locator_i* imr_locator_;
+
+};
+
+#include /**/ "ace/post.h"
+#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp
new file mode 100644
index 00000000000..4fb3d110445
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp
@@ -0,0 +1,95 @@
+//=============================================================================
+/**
+ * @file Locator_NT_Service.cpp
+ *
+ * $Id$
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ * @author John Tucker <jtucker@infoglide.com>
+ * @author Mike Vitalo <mvitalo@infoglide.com>
+ */
+//=============================================================================
+
+#include "Locator_NT_Service.h"
+
+#if defined (ACE_WIN32)
+
+#include "ImR_Locator_i.h"
+
+#include "tao/ORB_Core.h"
+//#include "tao/corba.h"
+#include "ace/Reactor.h"
+
+/**
+ * Handles the SERVICE_CONTROL_SHUTDOWN and SERVICE_CONTROL_STOP commands
+ * by shutting down the ORB. Otherwise ACE_NT_Service::handle_control
+ * handles the command.
+ */
+void
+Locator_NT_Service::handle_control (DWORD control_code)
+{
+ if (control_code == SERVICE_CONTROL_SHUTDOWN
+ || control_code == SERVICE_CONTROL_STOP)
+ {
+ report_status (SERVICE_STOP_PENDING);
+ TAO_ORB_Core_instance ()->reactor ()->end_reactor_event_loop ();
+ TAO_ORB_Core_instance ()->orb ()->shutdown (1);
+ }
+ else
+ {
+ ACE_NT_Service::handle_control (control_code);
+ }
+}
+
+
+/**
+ */
+int
+Locator_NT_Service::handle_exception (ACE_HANDLE)
+{
+ return 0;
+}
+
+
+/**
+ * We do almost the same thing as we do in run_standalone ()
+ */
+int
+Locator_NT_Service::svc (void)
+{
+ ImR_Locator_i server;
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ report_status (SERVICE_RUNNING);
+ int status = server.init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ report_status (SERVICE_STOPPED);
+
+ if (status != -1)
+ {
+ return 0;
+ }
+ }
+ ACE_CATCH (CORBA::SystemException, sysex)
+ {
+ ACE_PRINT_EXCEPTION (sysex, IMR_LOCATOR_DISPLAY_NAME);
+ }
+ ACE_CATCH (CORBA::UserException, userex)
+ {
+ ACE_PRINT_EXCEPTION (userex, IMR_LOCATOR_DISPLAY_NAME);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, IMR_LOCATOR_DISPLAY_NAME);
+ }
+ ACE_ENDTRY;
+
+ report_status (SERVICE_STOPPED);
+
+ return -1;
+}
+
+#endif /* ACE_WIN32 */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h
new file mode 100644
index 00000000000..20ba4866584
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Locator_NT_Service.h
+ *
+ * $Id$
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ * @author Jeff Parsons <parsons@cs.wustl.edu>
+ * @author John Tucker <jtucker@infoglide.com>
+ * @author Mike Vitalo <mvitalo@infoglide.com>
+ */
+//=============================================================================
+
+#ifndef Locator_NT_Service_H
+#define Locator_NT_Service_H
+
+#include "ace/config.h"
+
+#if defined (ACE_WIN32)
+
+#include "tao/orbconf.h"
+
+#include "ace/NT_Service.h"
+#include "ace/Singleton.h"
+
+static const char * IMR_LOCATOR_SERVICE_NAME = "TAOIMRLocator";
+static const char * IMR_LOCATOR_DISPLAY_NAME = "TAO Implementation Repository Locator";
+static const char * IMR_LOCATOR_DESCRIPTION = "Implementation Repository Locator service for TAO";
+
+/**
+ * @class Locator_NT_Service
+ *
+ * @brief Allows the Implementation Repository to act as a Windows NT Service.
+ */
+class Locator_NT_Service : public ACE_NT_Service
+{
+public:
+ typedef TAO_SYNCH_RECURSIVE_MUTEX MUTEX;
+
+ /// We override <handle_control> because it handles stop requests
+ /// privately.
+ virtual void handle_control (DWORD control_code);
+
+ /// We override <handle_exception> so a 'stop' control code can wake
+ /// the reactor off of its wait.
+ virtual int handle_exception (ACE_HANDLE h);
+
+ /// This is a virtual method inherited from ACE_NT_Service.
+ virtual int svc (void);
+
+private:
+ friend class ACE_Singleton<Locator_NT_Service, MUTEX>;
+};
+
+typedef ACE_Singleton<Locator_NT_Service, Locator_NT_Service::MUTEX> SERVICE;
+
+#endif /* ACE_WIN32 */
+
+#endif /* Locator_NT_Service_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
new file mode 100644
index 00000000000..3edfb05de21
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
@@ -0,0 +1,488 @@
+//=============================================================================
+/**
+ * @file Locator_Options.cpp
+ *
+ * $Id$
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#include "Locator_Options.h"
+#include "Locator_NT_Service.h"
+#include "tao/Strategies/advanced_resource.h"
+#include "ace/Arg_Shifter.h"
+#include "ace/ARGV.h"
+#include "ace/OS_NS_strings.h"
+#include "ace/Mutex.h"
+
+ACE_RCSID (ImplRepo_Service,
+ Options,
+ "$Id$")
+
+
+#if defined (ACE_WIN32)
+static const HKEY SERVICE_REG_ROOT = HKEY_LOCAL_MACHINE;
+// This string must agree with the one used in Locator_NT_Service.h
+static const ACE_TCHAR *SERVICE_REG_PATH =
+ ACE_TEXT ("SYSTEM\\CurrentControlSet\\Services\\TAOIMRLocator\\Parameters");
+#endif /* ACE_WIN32 */
+
+/**
+ * Default Constructor. Assigns default values to all the member variables.
+ */
+Options::Options ()
+ : debug_ (1)
+ , multicast_ (false)
+ , service_ (false)
+ , service_command_(SC_NONE)
+{
+}
+
+/**
+ * parse_args uses an ACE_Arg_Shifter to grab all the options that are
+ * specific to the ImR.
+ *
+ * @retval 0 Success
+ * @retval -1 Error parsing args
+ * @retval 1 Success but we should exit.
+ */
+int
+Options::parse_args (int &argc, char *argv[])
+{
+ ACE_Arg_Shifter shifter (argc, argv);
+
+ while (shifter.is_anything_left ())
+ {
+ if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-c")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -c option needs a command\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("install")) == 0)
+ {
+ this->service_command_ = SC_INSTALL;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("remove")) == 0)
+ {
+ this->service_command_ = SC_REMOVE;
+ }
+ else
+ {
+ ACE_ERROR((LM_ERROR, "Error: Unknown service command : %s\n", shifter.get_current()));
+ this->print_usage ();
+ return -1;
+ }
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-d")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -d option needs a debuglevel\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ this->debug_ = ACE_OS::atoi (shifter.get_current ());
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-m")) == 0)
+ {
+ this->multicast_ = true;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-o")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -o option needs a filename\n"));
+ this->print_usage ();
+ return -1;
+ }
+ this->ior_output_file_ = shifter.get_current();
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-s")) == 0)
+ {
+ // Run as a service
+ this->service_ = true;
+ }
+ else if ((ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-?")) == 0)
+ || (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-h")) == 0))
+ {
+ this->print_usage ();
+ return 1;
+ }
+ else
+ {
+ shifter.ignore_arg ();
+ continue;
+ }
+
+ shifter.consume_arg ();
+ }
+
+ return 0;
+}
+
+/**
+ * @retval 0 Success
+ * @retval -1 Error parsing args
+ * @retval 1 Success but we should exit.
+ */
+int
+Options::init (int argc, char *argv[])
+{
+ int result = this->parse_args (argc, argv);
+ if (result != 0) {
+ return result;
+ }
+
+ ACE_ARGV orb_args; // Save the leftovers to a ACE_ARGV class
+ ACE_CString cmdline; // We'll save this in the registry when installing.
+ for (int i = 1; i < argc; ++i)
+ {
+ cmdline += ACE_CString(argv[i]) + ACE_CString(" ");
+ if (orb_args.add (argv[i]) == -1)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Could not save argument"));
+ return -1;
+ }
+ }
+
+ result = run_service_command(cmdline);
+
+ if (result != 0)
+ return result;
+
+ char* argv_tmp = 0;
+
+ // Load from the registry. This may replace the args.
+ if (this->load_registry_options(argv_tmp, orb_args) != 0)
+ return -1;
+
+ ACE_Auto_Array_Ptr<char> argv_deleter(argv_tmp);
+
+ int orb_argc = orb_args.argc ();
+ // Now initialize the orb and pass it the leftover arguments
+ ACE_TRY_NEW_ENV
+ {
+ this->orb_ = CORBA::ORB_init (orb_argc,
+ orb_args.argv (),
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception \n");
+ ACE_ERROR ((LM_ERROR, "Error: Cannot initialize ORB\n"));
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+
+/**
+ * Just print out the usage message to STDERR
+ */
+void
+Options::print_usage (void) const
+{
+ ACE_ERROR ((LM_ERROR,
+ "Usage:\n"
+ "\n"
+ "ImR_Locator [-c cmd] [-d 0|1|2] [-m] [-o file] [-s]\n"
+ "\n"
+ " -c command Runs nt service commands ('install' or 'remove')\n"
+ " -d level Sets the debug level (default 1)\n"
+ " -m Turn on multicast\n"
+ " -o file Outputs the ImR's IOR to a file\n"
+ " -s Runs as a service (NT Only)\n")
+ );
+}
+
+
+/**
+ * Executes the various commands that are useful for a NT service. Right
+ * now these include 'install' and 'remove'. Others, such as 'start' and
+ * 'stop' can be added, but the 'net' program in Windows already handles
+ * these commands.
+ *
+ * @todo Finish implementing Options::run_service_command
+ * @todo Update to unicode
+ */
+int
+Options::run_service_command (const ACE_CString& cmdline)
+{
+ if (this->service_command_ == SC_NONE)
+ return 0;
+#if defined (ACE_WIN32)
+ SERVICE::instance ()->name (IMR_LOCATOR_SERVICE_NAME, IMR_LOCATOR_DISPLAY_NAME);
+
+ if (this->service_command_ == SC_INSTALL)
+ {
+ char pathname[_MAX_PATH * 2 + 3]; // +3 for the ' -s' at the end
+
+ if (ACE_TEXT_GetModuleFileName(NULL, pathname, _MAX_PATH * 2) == 0)
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Could not get module file name.\n"));
+ return -1;
+ }
+
+ // Append the command used for running the implrepo as
+ ACE_OS::strcat (pathname, ACE_TEXT (" -s"));
+
+ int ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
+ SERVICE_ERROR_NORMAL,
+ pathname
+ );
+ if (ret != -1) {
+ if (debug() > 0) {
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Service installed.\n"));
+ }
+ this->save_registry_options(cmdline);
+ } else {
+ ACE_ERROR((LM_ERROR, "Error: Failed to install service.\n"));
+ }
+ if (ret == 0)
+ return 1;
+ }
+ else if (this->service_command_ == SC_REMOVE)
+ {
+ int ret = SERVICE::instance ()->remove ();
+ if (debug() > 0) {
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Service removed.\n"));
+ }
+ if (ret == 0)
+ return 1; // If successfull, then we don't want to continue.
+ }
+
+ return -1;
+
+#else /* ACE_WIN32 */
+ ACE_UNUSED_ARG (cmdline);
+ ACE_ERROR ((LM_ERROR, "Service not supported on this platform"));
+
+ return -1;
+#endif /* ACE_WIN32 */
+}
+
+int
+Options::save_registry_options(const ACE_CString& cmdline)
+{
+#if defined (ACE_WIN32)
+ HKEY key = 0;
+ // Create or open the parameters key
+ LONG err = ACE_TEXT_RegCreateKeyEx (SERVICE_REG_ROOT,
+ SERVICE_REG_PATH,
+ 0,
+ "", // class
+ REG_OPTION_NON_VOLATILE,
+ KEY_ALL_ACCESS,
+ NULL,
+ &key,
+ NULL
+ );
+ if (err != ERROR_SUCCESS) {
+ return -1;
+ }
+ err = ACE_TEXT_RegSetValueEx(key, "ORBInitOptions", 0, REG_SZ,
+ (LPBYTE) cmdline.c_str(), cmdline.length() + 1);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ACE_TEXT_RegSetValueEx(key, "IORFile", 0, REG_SZ,
+ (LPBYTE) ior_output_file_.c_str(), ior_output_file_.length() + 1);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ACE_TEXT_RegSetValueEx(key, "DebugLevel", 0, REG_DWORD,
+ (LPBYTE) &debug_ , sizeof(debug_));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ DWORD tmp = multicast_ ? 1 : 0;
+ err = ACE_TEXT_RegSetValueEx(key, "Multicast", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ err = ::RegCloseKey(key);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+#else
+ ACE_UNUSED_ARG (cmdline);
+#endif
+ return 0;
+}
+
+namespace {
+ // This both parses the cmdline by replacing spaces with \0's, and
+ // adds each command to the ACE_ARGV.
+ void parse_command_line(char* cmdline, ACE_ARGV& argv) {
+ // This tokenizer will replace all spaces with end-of-string
+ // characters and will preserve text between "" and '' pairs.
+ ACE_Tokenizer parser (cmdline);
+ parser.delimiter_replace (' ', '\0');
+ parser.preserve_designators ('\"', '\"');
+ parser.preserve_designators ('\'', '\'');
+
+ for (char *p = parser.next (); p; p = parser.next ()) {
+ argv.add(p);
+ }
+ }
+}
+/**
+ * We will only load from the registry if we are a service.
+ * We load each parameter from individual string keys, and then
+ * we have to parse the cmdline property into the orb_options
+ * so that they can be passed to ORB_init()
+ */
+int
+Options::load_registry_options (char*& cmdline, ACE_ARGV& argv)
+{
+#if defined (ACE_WIN32)
+ if (! this->service())
+ {
+ if (this->debug () > 1)
+ ACE_DEBUG ((LM_DEBUG,
+ "Locator_Options::load_registry_options: Not running "
+ "as a service, will not load data from registry\n"));
+ return 0;
+ }
+
+ HKEY key = 0;
+ // Create or open the parameters key
+ LONG err = ACE_TEXT_RegOpenKeyEx (SERVICE_REG_ROOT,
+ SERVICE_REG_PATH,
+ 0,
+ KEY_READ,
+ &key
+ );
+ if (err != ERROR_SUCCESS) {
+ // If there aren't any saved parameters, then that's ok.
+ return 0;
+ }
+ ACE_TCHAR tmpstr[4096];
+ DWORD sz = sizeof(tmpstr);
+ DWORD type = 0;
+ err = ACE_TEXT_RegQueryValueEx(key, "ORBInitOptions", 0, &type,
+ (LPBYTE) tmpstr, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_SZ);
+ cmdline = new char[sz+1];
+ ACE_OS::strncpy(cmdline, tmpstr, sz);
+ parse_command_line(cmdline, argv);
+ }
+
+ sz = sizeof(tmpstr);
+ err = ACE_TEXT_RegQueryValueEx(key, "IORFile", 0, &type,
+ (LPBYTE) tmpstr, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_SZ);
+ tmpstr[sz] = ACE_TCHAR('\0');
+ this->ior_output_file_ = ACE_CString(tmpstr);
+ }
+
+ sz = sizeof(debug_);
+ err = ACE_TEXT_RegQueryValueEx(key, "DebugLevel", 0, &type,
+ (LPBYTE) &debug_ , &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ }
+
+ DWORD tmp = 0;
+ err = ACE_TEXT_RegQueryValueEx(key, "Multicast", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ this->multicast_ = tmp != 0;
+ }
+
+ err = ::RegCloseKey(key);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ return 0;
+#else /* ACE_WIN32 */
+ ACE_UNUSED_ARG (cmdline);
+ ACE_UNUSED_ARG (argv);
+ return 0;
+#endif /* ACE_WIN32 */
+}
+
+/**
+ * Standalone Mode
+ *
+ * @retval false Run as standalone service
+ * @retval true Run as a service (only on NT right now)
+ */
+bool
+Options::service (void) const
+{
+ return this->service_;
+}
+
+
+/**
+ * Debug level for the IR.
+ *
+ * @retval 0 Quiet
+ * @retval 1 Trace messages
+ * @retval 2 Detailed messages
+ */
+unsigned int
+Options::debug (void) const
+{
+ return this->debug_;
+}
+
+
+/**
+ * @return The file where the IOR will be stored.
+ */
+ACE_CString
+Options::output_filename (void) const
+{
+ return this->ior_output_file_;
+}
+
+/**
+ * @return A pointer to the ORB.
+ */
+CORBA::ORB_ptr
+Options::orb (void) const
+{
+ return CORBA::ORB::_duplicate (this->orb_.in ());
+}
+
+/**
+ * @retval false Do not listen for multicast location requests.
+ * @retval true Do Listen.
+ */
+bool
+Options::multicast (void) const
+{
+ return this->multicast_;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Options, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Options, ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
new file mode 100644
index 00000000000..3585e3bb2cd
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
@@ -0,0 +1,102 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Locator_Options.h
+ *
+ * $Id$
+ *
+ * @brief Definition of the Options class for the Implementation Repository.
+ *
+ * @author Darrell Brunsch <brunsch@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef LOCATOR_OPTIONS_H
+#define LOCATOR_OPTIONS_H
+
+#include "Repository_Configuration.h"
+
+#include "tao/ORB.h"
+
+#include "ace/Singleton.h"
+#include "ace/SString.h"
+#include "ace/Auto_Ptr.h"
+
+
+// Forward declarations
+class ACE_ARGV;
+
+/**
+ * @class Options
+ *
+ * @brief Maintains the global options.
+ *
+ * This is where the settings for TAO's Implementation Repository are stored.
+ */
+class Options
+{
+public:
+ enum SERVICE_COMMAND {
+ SC_NONE,
+ SC_INSTALL,
+ SC_REMOVE
+ };
+
+ /// Default Constructor
+ Options ();
+
+ /// Parse the command-line arguments and initialize the options.
+ int init (int argc, char *argv[]);
+
+ /// Service Mode
+ bool service (void) const;
+
+ /// Debug level for the Implementation Repository.
+ unsigned int debug (void) const;
+
+ /// Returns the file where the IOR should be stored.
+ ACE_CString output_filename (void) const;
+
+ /// Returns a pointer to the ORB.
+ CORBA::ORB_ptr orb (void) const;
+
+ /// Will we listen for multicast location requests?
+ bool multicast (void) const;
+
+private:
+ /// Parses and pulls out arguments for the ImR
+ int parse_args (int &argc, char *argv[]);
+
+ /// Print the usage information.
+ void print_usage (void) const;
+
+ /// Run a service command.
+ int run_service_command (const ACE_CString& cmdline);
+
+ /// Loads ORB options from the registry
+ int load_registry_options (char*& cmdline, ACE_ARGV& argv);
+ int save_registry_options (const ACE_CString& cmdline);
+
+ /// Debug level.
+ unsigned int debug_;
+
+ /// File where the IOR of the server object is stored.
+ ACE_CString ior_output_file_;
+
+ /// Will we listen for multicast location requests?
+ bool multicast_;
+
+ /// The ORB for the Implementation Repository.
+ CORBA::ORB_var orb_;
+
+ /// Are we running as a service?
+ bool service_;
+
+ /// SC_NONE, SC_INSTALL, SC_REMOVE, ...
+ int service_command_;
+};
+
+typedef ACE_Singleton <Options, ACE_Null_Mutex> OPTIONS;
+
+#endif
diff --git a/TAO/orbsvcs/PSS/PSDL.mpc b/TAO/orbsvcs/PSS/PSDL.mpc
new file mode 100644
index 00000000000..79f64c2aef4
--- /dev/null
+++ b/TAO/orbsvcs/PSS/PSDL.mpc
@@ -0,0 +1,54 @@
+// -*- MPC -*-
+// $Id$
+
+project : taolib {
+ sharedname = TAO_PSDL
+ dynamicflags += TAO_PSDL_BUILD_DLL
+ source_files {
+ PSDL_Node.cpp
+ PSDL_Interpreter.cpp
+ PSDL_Visitor_Factory.cpp
+ PSDL_Node_Visitor.cpp
+ PSDL_Module_Visitor.cpp
+ PSDL_Type_Dcl_Visitor.cpp
+ PSDL_Struct_Visitor.cpp
+ PSDL_Enum_Type_Visitor.cpp
+ PSDL_Interface_Visitor.cpp
+ PSDL_Exception_Visitor.cpp
+ PSDL_Typecode_Defn.cpp
+ PSDL_Scope.cpp
+ PSDL_Root_Scope.cpp
+ PSDL_Simple_Scope.cpp
+ PSDL_Module_Scope.cpp
+ PSDL_Interface_Scope.cpp
+ PSDL_Struct_Scope.cpp
+ PSDL_Exception_Scope.cpp
+ PSDL_Op_Dcl_Scope.cpp
+ PSDL_Scope_Visitor.cpp
+ PSDL_Stream.cpp
+ PSDL_Extern.cpp
+ PSDL_l.cpp
+ PSDL_y.cpp
+ }
+}
+
+project(*Datastore) : taolib {
+ sharedname = TAO_PSDL_Datastore
+ dynamicflags += TAO_PSDL_BUILD_DLL
+ source_files {
+ PSDL_Code_Gen.cpp
+ PSDL_OctetSeq.cpp
+ PSDL_String.cpp
+ PSDL_Datastore.cpp
+ }
+}
+
+project(*Parser) : taoexe {
+ after += PSDL
+ libs += TAO_PSDL
+ install = .
+ source_files {
+ Dump_Visitor.cpp
+ psdl_tao.cpp
+ }
+} \ No newline at end of file
diff --git a/TAO/orbsvcs/examples/CosEC/Factory/CosEC_Factory.mpc b/TAO/orbsvcs/examples/CosEC/Factory/CosEC_Factory.mpc
new file mode 100644
index 00000000000..9f36dda8a84
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/Factory/CosEC_Factory.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : orbsvcsexe, event {
+ idlflags += -I ../../..
+ source_files {
+ FactoryClient.cpp
+ }
+}
+
+project(*Server) : orbsvcsexe, event {
+ idlflags += -I ../../..
+ source_files {
+ FactoryDriver.cpp
+ CosEventChannelFactory_i.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/bin/CosEC_RtEC_Based_bin.mpc b/TAO/orbsvcs/examples/CosEC/RtEC_Based/bin/CosEC_RtEC_Based_bin.mpc
new file mode 100644
index 00000000000..aa651b338c2
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/bin/CosEC_RtEC_Based_bin.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcsexe, rtevent, event {
+ after += CosEC_RtEC_Based_lib
+ includes += ../lib
+ libs += CosEC_RtEC_Based
+ libpaths += ../lib
+} \ No newline at end of file
diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEC_RtEC_Based_lib.mpc b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEC_RtEC_Based_lib.mpc
new file mode 100644
index 00000000000..28ddfc71428
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEC_RtEC_Based_lib.mpc
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcslib, event, rtevent, rtsched {
+ sharedname = CosEC_RtEC_Based
+ dynamicflags += TAO_RTEC_COSEC_BUILD_DLL
+}
+
diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/CosEC_RtEC_Based_tests_Basic.mpc b/TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/CosEC_RtEC_Based_tests_Basic.mpc
new file mode 100644
index 00000000000..89c0143b7cd
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/CosEC_RtEC_Based_tests_Basic.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : orbsvcsexe, event, rtevent, rtsched {
+ after += CosEC_RtEC_Based_lib
+ includes += ../../lib
+ libs += CosEC_RtEC_Based
+ libpaths += ../../lib
+}
diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/CosEC_RtEC_Based_tests_Multiple.mpc b/TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/CosEC_RtEC_Based_tests_Multiple.mpc
new file mode 100644
index 00000000000..2ff95922b34
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/CosEC_RtEC_Based_tests_Multiple.mpc
@@ -0,0 +1,24 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Consumer) : orbsvcsexe, event, rtevent, rtsched {
+ after += CosEC_RtEC_Based_lib
+ includes += ../../lib
+ libs += CosEC_RtEC_Based
+ libpaths += ../../lib
+ source_files {
+ Consumer.cpp
+ Multiple.cpp
+ }
+}
+
+project(*Supplier) : orbsvcsexe, event, rtevent, rtsched {
+ after += CosEC_RtEC_Based_lib
+ includes += ../../lib
+ libs += CosEC_RtEC_Based
+ libpaths += ../../lib
+ source_files {
+ Supplier.cpp
+ Multiple.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/CosEC/Simple/CosEC_Simple.mpc b/TAO/orbsvcs/examples/CosEC/Simple/CosEC_Simple.mpc
new file mode 100644
index 00000000000..a423f5f1075
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/Simple/CosEC_Simple.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Service) : orbsvcsexe, event {
+ Source_Files {
+ Service.cpp
+ }
+}
+
+project(*Consumer) : orbsvcsexe, event {
+ Source_Files {
+ Consumer.cpp
+ }
+}
+
+project(*Supplier) : orbsvcsexe, event {
+ Source_Files {
+ Supplier.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/FaultTolerance/Makefile b/TAO/orbsvcs/examples/FaultTolerance/Makefile
new file mode 100644
index 00000000000..9d53bfd86fa
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/Makefile
@@ -0,0 +1,26 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+DIRS = RolyPoly
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.cpp
new file mode 100644
index 00000000000..19fed3a32ea
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.cpp
@@ -0,0 +1,7 @@
+// file : RolyPoly/CrashPoint.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CrashPoint.h"
+
+short crash_point = 0;
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.h
new file mode 100644
index 00000000000..69f2e1a0044
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/CrashPoint.h
@@ -0,0 +1,19 @@
+// file : RolyPoly/CrashPoint.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CRASH_POINT_H
+#define CRASH_POINT_H
+
+// Valid crash-point values:
+//
+// 0 no crash (default)
+//
+// 1 crash before logging the reply
+//
+// 2 crash after logging the reply but before replying to the client
+//
+
+extern short crash_point;
+
+#endif // CRASH_POINT_H
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Log.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Log.h
new file mode 100644
index 00000000000..a83d966dd69
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Log.h
@@ -0,0 +1,10 @@
+// file : RolyPoly/Log.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef LOG_HPP
+#define LOG_HPP
+
+#include "LogACE_RB_Tree.h"
+
+#endif // LOG_HPP
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogACE_RB_Tree.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogACE_RB_Tree.h
new file mode 100644
index 00000000000..9b54d353315
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogACE_RB_Tree.h
@@ -0,0 +1,66 @@
+// file : RolyPoly/LogACE_RB_Tree.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef LOG_ACE_RB_TREE_H
+#define LOG_ACE_RB_TREE_H
+
+#include <ace/RB_Tree.h>
+#include <ace/Synch.h>
+
+template <typename RI, typename RV>
+class Log
+{
+public:
+ typedef RI RecordIdType;
+ typedef RV RecordValueType;
+
+private:
+ typedef
+ ACE_RB_Tree <RecordIdType,
+ RecordValueType,
+ ACE_Less_Than<RecordIdType>,
+ ACE_Null_Mutex>
+ Map_;
+
+public:
+ class Duplicate {};
+ class NotFound {};
+
+ void
+ insert (RecordIdType const& ri, RecordValueType const& rv)
+ throw (Duplicate)
+ {
+ if (map_.bind (ri, rv) != 0) throw Duplicate ();
+ }
+
+ bool
+ contains (RecordIdType const& ri) const
+ {
+ // Guess what: ACE_RB_Tree::find() is not const.
+ //
+ Map_& m = const_cast<Map_&> (map_);
+
+ RecordValueType tmp;
+
+ return m.find (ri, tmp) == 0;
+ }
+
+
+ RecordValueType const&
+ lookup (RecordIdType const& ri) const throw (NotFound)
+ {
+ Map_& m = const_cast<Map_&> (map_);
+
+ typename Map_::ENTRY* entry;
+
+ if (m.find (ri, entry) != 0) throw NotFound ();
+
+ return entry->item ();
+ }
+
+private:
+ Map_ map_;
+};
+
+#endif // LOG_ACE_RB_TREE_H
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogStdMap.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogStdMap.h
new file mode 100644
index 00000000000..29a5ff2be65
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/LogStdMap.h
@@ -0,0 +1,56 @@
+// file : RolyPoly/LogStdMap.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef LOG_STD_MAP_H
+#define LOG_STD_MAP_H
+
+#include <map>
+
+template <typename RI, typename RV>
+class Log
+{
+public:
+ typedef RI RecordIdType;
+ typedef RV RecordValueType;
+
+private:
+ typedef
+ std::map <RecordIdType, RecordValueType>
+ Map_;
+
+public:
+ class Duplicate {};
+ class NotFound {};
+
+ void
+ insert (RecordIdType const& ri, RecordValueType const& rv)
+ throw (Duplicate)
+ {
+ if (!map_.insert (std::make_pair (ri, rv)).second)
+ {
+ throw Duplicate ();
+ }
+ }
+
+ bool
+ contains (RecordIdType const& ri) const
+ {
+ return map_.count (ri) != 0;
+ }
+
+
+ RecordValueType const&
+ lookup (RecordIdType const& ri) const throw (NotFound)
+ {
+ typename Map_::const_iterator i = map_.find (ri);
+
+ if (i != map_.end ()) return i->second;
+ else throw NotFound ();
+ }
+
+private:
+ Map_ map_;
+};
+
+#endif // LOG_STD_MAP_H
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Makefile b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Makefile
new file mode 100644
index 00000000000..61f5606398c
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/Makefile
@@ -0,0 +1,2387 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = RolyPoly
+IDL_SRC = RolyPolyC.cpp RolyPolyS.cpp
+BIN_UNCHECKED = client server
+
+SRC = $(addsuffix .cpp, $(BIN_UNCHECKED) CrashPoint RolyPoly_i ReplicaController ORB_Initializer) $(IDL_SRC)
+
+CLIENT_OBJS = client.o RolyPolyC.o
+SERVER_OBJS = server.o RolyPoly_i.o ORB_Initializer.o ReplicaController.o CrashPoint.o $(IDL_SRC:.cpp=.o)
+
+TAO_IDLFLAGS += -Ge 1 -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs/orbsvcs
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+ifeq ($(interceptors),1)
+ BIN=$(BIN_UNCHECKED)
+endif #interceptors
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs
+
+TAO_CLNT_LIBS += -lTAO_FTORB
+TAO_SRVR_LIBS += -lTMCast
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), Test$(ext))
+
+server: $(addprefix $(VDIR),$(SERVER_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+client: $(addprefix $(VDIR),$(CLIENT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_CLNT_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), test$(ext))
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/tao/IORManipulation/IORManip_Loader.h \
+ $(TAO_ROOT)/tao/IORManipulation/ior_manip_export.h \
+ $(TAO_ROOT)/tao/Object_Loader.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Object_Loader.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(TAO_ROOT)/tao/IORManipulation/IORC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/IORManipulation/IORC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h \
+ $(TAO_ROOT)/tao/Services_Activate.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FT_CORBA_ORBC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/fault_tol_export.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FT_CORBA_ORBC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.inl \
+ RolyPolyC.h RolyPolyC.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Get_Opt.i RolyPoly_i.h \
+ RolyPolyS.h RolyPolyC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i RolyPolyC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ RolyPolyS_T.h RolyPolyS_T.i RolyPolyS_T.cpp RolyPolyS.i StateUpdate.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/ObjectIdListC.h \
+ $(TAO_ROOT)/tao/ObjectIdListC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ CrashPoint.h ORB_Initializer.h
+
+.obj/CrashPoint.o .obj/CrashPoint.so .shobj/CrashPoint.o .shobj/CrashPoint.so: CrashPoint.cpp CrashPoint.h
+
+.obj/RolyPoly_i.o .obj/RolyPoly_i.so .shobj/RolyPoly_i.o .shobj/RolyPoly_i.so: RolyPoly_i.cpp RolyPoly_i.h RolyPolyS.h RolyPolyC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i RolyPolyC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ RolyPolyS_T.h RolyPolyS_T.i RolyPolyS_T.cpp RolyPolyS.i StateUpdate.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/ObjectIdListC.h \
+ $(TAO_ROOT)/tao/ObjectIdListC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i
+
+.obj/ReplicaController.o .obj/ReplicaController.so .shobj/ReplicaController.o .shobj/ReplicaController.so: ReplicaController.cpp \
+ $(ACE_ROOT)/ace/UUID.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/UUID.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/TMCast/Group.hpp \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/TMCast/Export.hpp \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FT_CORBA_ORBC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FaultTolerance/fault_tol_export.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/FT_CORBA_ORBC.i \
+ CrashPoint.h StateUpdate.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/ObjectIdListC.h \
+ $(TAO_ROOT)/tao/ObjectIdListC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ ReplicaController.h \
+ $(ACE_ROOT)/ace/TMCast/GroupFwd.hpp \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ Log.h LogACE_RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/ORB_Initializer.o .obj/ORB_Initializer.so .shobj/ORB_Initializer.o .shobj/ORB_Initializer.so: ORB_Initializer.cpp \
+ $(TAO_ROOT)/tao/corba.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/ObjectIdListC.h \
+ $(TAO_ROOT)/tao/ObjectIdListC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/ORBInitInfo.h \
+ $(TAO_ROOT)/tao/ORBInitInfo.inl \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ ORB_Initializer.h ReplicaController.h \
+ $(ACE_ROOT)/ace/TMCast/GroupFwd.hpp \
+ $(ACE_ROOT)/ace/TMCast/Export.hpp \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ Log.h LogACE_RB_Tree.h $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/RolyPolyC.o .obj/RolyPolyC.so .shobj/RolyPolyC.o .shobj/RolyPolyC.so: RolyPolyC.cpp RolyPolyC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i RolyPolyC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/RolyPolyS.o .obj/RolyPolyS.so .shobj/RolyPolyS.o .shobj/RolyPolyS.so: RolyPolyS.cpp RolyPolyS.h RolyPolyC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i RolyPolyC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ RolyPolyS_T.h RolyPolyS_T.i RolyPolyS_T.cpp RolyPolyS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp
new file mode 100644
index 00000000000..0ed88e90501
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp
@@ -0,0 +1,49 @@
+// file : RolyPoly/ORB_Initializer.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "tao/corba.h"
+#include "tao/ORBInitInfo.h"
+#include "tao/ORB_Core.h"
+
+#include "ORB_Initializer.h"
+#include "ReplicaController.h"
+
+void
+ORB_Initializer::pre_init (PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+ORB_Initializer::post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Allocate slot id.
+ //
+ state_slot_id (info->allocate_slot_id ());
+
+ // Register replica controller as server request interceptor.
+ //
+ TAO_ORBInitInfo* tao_info (dynamic_cast<TAO_ORBInitInfo*> (info));
+
+ CORBA::ORB_var orb (tao_info->orb_core ()->orb ());
+
+ PortableInterceptor::ServerRequestInterceptor_var interceptor;
+
+ ACE_NEW_THROW_EX (interceptor,
+ ReplicaController (orb.in ()),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+
+ ACE_CHECK;
+
+ info->add_server_request_interceptor (interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.h
new file mode 100644
index 00000000000..0c1d6789351
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.h
@@ -0,0 +1,28 @@
+// file : RolyPoly/ORB_Initializer.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef ORB_INITIALIZER_H
+#define ORB_INITIALIZER_H
+
+#include "tao/LocalObject.h"
+#include "tao/PortableInterceptorC.h"
+
+class ORB_Initializer :
+ public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+
+ virtual void
+ pre_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#endif /* ORB_INITIALIZER_H */
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/README b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/README
new file mode 100644
index 00000000000..786b42a81d9
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/README
@@ -0,0 +1,105 @@
+
+
+Overview
+
+RolyPoly is a simple example that shows how to increase application
+reliability by using replication to tolerate faults. It allows you
+to start two replicas of the same object which are logically seen as
+one object by a client. Furthermore, you can terminate one of the
+replicas without interrupting the service provided by the object.
+
+RolyPoly is using request/reply logging to suppress repeated
+requests (thus guaranteeing exactly-once semantic) and state
+synchronization (to ensure all replicas are in a consistent
+state). Since replicas are generally distributed across multiple
+nodes in the network, logging and state synchronizations are
+done using multicast group communication protocol.
+
+In order to make it illustrative, each replica can be set to
+fail in one of the predefined places called crash points. The
+following crash point numbers are defined:
+
+0 - no crash point (default).
+
+1 - fail before reply logging/state synchronization.
+
+2 - fail after reply logging/state synchronization but before
+ returning reply to the client.
+
+Essential difference between crash point 1 and 2 is that in
+the second case there should be reply replay while in the
+first case request is simply re-executed (this can be observed
+in the trace messages of the replicas).
+
+
+Execution Scenario
+
+In this example scenario we will start three replicas. For one
+of them (let us call it primary) we will specify a crash point
+other than 0. Then we will start a client to execute requests
+on the resulting object. After a few requests, primary will
+fail and we will be able to observe transparent shifting of
+client to the other replica. Also we will be able to make sure
+that, after this shifting, object is still in expected state
+(i.e. the sequence of returned numbers is not interrupted and
+that, in case of the crash point 2, request is not re-executed).
+
+Note, due to the underlying group communication architecture,
+the group with only one member (replica in our case) can only
+exist for a very short period of time. This, in turn, means
+that we need to start first two replicas virtually at the same
+time. This is also a reason why we need three replicas instead
+of two - if one replica is going to fail then the other one
+won't live very long alone. For more information on the reasons
+why it works this way please see documentation for TMCast
+available at $(ACE_ROOT)/ace/TMCast/README.
+
+Suppose we have node0, node1 and node2 on which we are going
+to start our replicas (it could be the same node). Then, to
+start our replicas we can execute the following commands:
+
+node0$ ./server -o replica-0.ior -c 2
+node1$ ./server -o replica-1.ior
+node2$ ./server -o replica-2.ior
+
+When all replicas are up we can start the client:
+
+$ ./client -k file://replica-0.ior -k file://replica-1.ior
+
+In this scenario, after executing a few requests, replica-0
+will fail in crash point 2. After that, replica-1 will continue
+executing client requests. You can see what's going on with
+replicas by looking at various trace messages printed during
+execution.
+
+
+Architecture
+
+The biggest part of the replication logic is carried out by
+the ReplicaController. In particular it performs the
+following tasks:
+
+* management of distributed request/reply log
+
+* state synchronization
+
+* repeated request suppression
+
+
+Object implementation (interface RolyPoly in our case) can use
+two different strategies for delivering state update to the
+ReplicaController:
+
+* push model: client calls Checkpointable::associate_state
+ to associate the state update with current request.
+
+* pull model: ReplicaController will call Checkpointable::get_state
+ implemented by the servant.
+
+This two model can be used simultaneously. In RolyPoly interface
+implementation you can comment out corresponding piece of code to
+chose one of the strategies.
+
+--
+Boris Kolpackov <boris@dre.vanderbilt.edu>
+
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp
new file mode 100644
index 00000000000..05a96e97a4a
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp
@@ -0,0 +1,540 @@
+// file : RolyPoly/ReplicaController.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "ace/UUID.h"
+#include "ace/Thread_Manager.h"
+#include "ace/TMCast/Group.hpp"
+
+#include "tao/PortableServer/Servant_Base.h"
+#include "tao/Any_Impl.h"
+#include "tao/DynamicC.h"
+
+#include "orbsvcs/FT_CORBA_ORBC.h"
+
+#include "CrashPoint.h"
+#include "StateUpdate.h"
+#include "ReplicaController.h"
+
+
+// State slot.
+//
+//
+
+namespace
+{
+ PortableInterceptor::SlotId state_slot_id_;
+}
+
+PortableInterceptor::SlotId
+state_slot_id ()
+{
+ return state_slot_id_;
+}
+
+void
+state_slot_id (PortableInterceptor::SlotId slot_id)
+{
+ state_slot_id_ = slot_id;
+}
+
+Checkpointable::
+~Checkpointable ()
+{
+}
+
+CORBA::Any* Checkpointable::
+get_state ()
+{
+ return 0;
+}
+
+void Checkpointable::
+associate_state (CORBA::ORB_ptr orb, CORBA::Any const& state)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ CORBA::Object_var pic_obj =
+ orb->resolve_initial_references ("PICurrent" ACE_ENV_ARG_PARAMETER);
+
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::Current_var pic =
+ PortableInterceptor::Current::_narrow (
+ pic_obj.in () ACE_ENV_ARG_PARAMETER);
+
+ ACE_TRY_CHECK;
+
+ pic->set_slot (state_slot_id (), state ACE_ENV_ARG_PARAMETER);
+
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Caught exception:");
+ }
+ ACE_ENDTRY;
+}
+
+// ReplyLogger
+//
+//
+
+ReplicaController::
+~ReplicaController ()
+{
+}
+
+ReplicaController::
+ReplicaController (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ CORBA::Object_var poa_object =
+ orb_->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ root_poa_ = PortableServer::POA::_narrow (
+ poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Caught exception:");
+ ACE_OS::abort ();
+ }
+ ACE_ENDTRY;
+
+ // Generate member id
+ ACE_Utils::UUID uuid;
+ ACE_Utils::UUID_GENERATOR::instance ()->init ();
+ ACE_Utils::UUID_GENERATOR::instance ()->generateUUID (uuid);
+
+ ACE_INET_Addr address (10000, "239.255.0.1");
+
+ ACE_DEBUG ((LM_DEBUG, "Becoming a member with id %s\n",
+ uuid.to_string ()->c_str ()));
+
+ group_.reset (new TMCast::Group (address, uuid.to_string ()->c_str ()));
+
+ int r = ACE_Thread_Manager::instance ()->spawn (
+ &ReplicaController::listener_thunk, this);
+
+ if (r < 0)
+ {
+ orb_->shutdown (0);
+ }
+}
+
+void ReplicaController::
+listener ()
+{
+ try
+ {
+ for (char buffer[1024];;)
+ {
+ size_t n = group_->recv (buffer, sizeof (buffer));
+
+ ACE_HEX_DUMP ((LM_DEBUG, buffer, n));
+
+ TAO_InputCDR cdr (buffer, n);
+
+ CORBA::OctetSeq object_id;
+ PortableInterceptor::AdapterName adapter_name;
+ CORBA::String_var client_id;
+ CORBA::Long retention_id;
+ CORBA::OctetSeq reply;
+ CORBA::Any state;
+
+ cdr >> object_id;
+ cdr >> adapter_name;
+ cdr >> client_id.out ();
+ cdr >> retention_id;
+ cdr >> reply;
+ cdr >> state;
+
+ if (!cdr.good_bit ())
+ {
+ ACE_DEBUG ((LM_DEBUG, "CDR failed\n"));
+ //@@ what to do?
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Received log for %s with rid %i\n",
+ client_id.in (),
+ retention_id));
+
+
+ RecordId rid (client_id.in (), retention_id);
+
+ CORBA::OctetSeq_var tmp (new CORBA::OctetSeq (reply));
+ log_.insert (rid, tmp);
+
+ // Update state.
+ CORBA::TypeCode_var tc = state.type ();
+
+ if (tc->kind () != CORBA::tk_null)
+ {
+ PortableServer::POA_var poa = resolve_poa (adapter_name);
+
+ PortableServer::ServantBase_var servant =
+ poa->id_to_servant (object_id);
+
+ Checkpointable* target =
+ dynamic_cast<Checkpointable*> (servant.in ());
+
+ if (target) target->set_state (state);
+ }
+ }
+ }
+ catch (TMCast::Group::Failed const&)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Group failure. Perhaps, I am alone in the group.\n"));
+ }
+ catch (TMCast::Group::InsufficienSpace const&)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Group::InsufficienSpace\n"));
+ }
+
+ orb_->shutdown (0);
+}
+
+PortableServer::POA_ptr ReplicaController::
+resolve_poa (PortableInterceptor::AdapterName const&)
+{
+ //@@ Assume for now it's a root poa.
+ return PortableServer::POA::_duplicate (root_poa_.in ());
+}
+
+
+void* ReplicaController::
+listener_thunk (void* p)
+{
+ ReplicaController* obj = reinterpret_cast<ReplicaController*> (p);
+ obj->listener();
+ return 0;
+}
+
+namespace
+{
+ FT::FTRequestServiceContext*
+ extract_context (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException));
+}
+
+#if TAO_HAS_EXTENDED_FT_INTERCEPTORS == 1
+void
+ReplicaController::tao_ft_interception_point (
+ PortableInterceptor::ServerRequestInfo_ptr ri,
+ CORBA::OctetSeq_out ocs
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+ FT::FTRequestServiceContext_var ftr (
+ extract_context (ri ACE_ENV_ARG_PARAMETER));
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) Received request from %s with rid %i\n",
+ ftr->client_id.in (),
+ ftr->retention_id));
+
+ // Check if this request is eligible for replay.
+
+ RecordId rid (ftr->client_id.in (), ftr->retention_id);
+
+ if (log_.contains (rid))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) Replaying reply for %s with rid %i\n",
+ ftr->client_id.in (),
+ ftr->retention_id));
+
+ CORBA::OctetSeq_var copy (log_.lookup (rid)); // make a copy
+
+ ocs = copy._retn ();
+ }
+
+ return;
+}
+
+#endif /*TAO_HAS_EXTENDED_FT_INTERCEPTORS*/
+
+void
+ReplicaController::send_reply (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ FT::FTRequestServiceContext_var ftr (
+ extract_context (ri ACE_ENV_ARG_PARAMETER));
+
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) Sending reply for %s with rid %i\n",
+ ftr->client_id.in (),
+ ftr->retention_id));
+
+
+ // Prepare reply for logging.
+
+ CORBA::Any_var result =
+ ri->result (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ TAO_OutputCDR cdr;
+ result->impl ()->marshal_value (cdr);
+
+ Dynamic::ParameterList_var pl =
+ ri->arguments (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::ULong len = pl->length ();
+
+ for (CORBA::ULong index = 0; index != len ; ++index)
+ {
+ //@@ No chance for PARAM_OUT
+ if ((*pl)[index].mode == CORBA::PARAM_INOUT)
+ {
+ (*pl)[index].argument.impl ()->marshal_value (cdr);
+ }
+ }
+
+ CORBA::OctetSeq_var reply;
+
+ ACE_NEW (reply, CORBA::OctetSeq (cdr.total_length ()));
+
+ reply->length (cdr.total_length ());
+
+ CORBA::Octet* buf = reply->get_buffer ();
+
+ // @@ What if this throws an exception?? We don't have any way to
+ // check whether this succeeded
+ for (ACE_Message_Block const* mb = cdr.begin ();
+ mb != 0;
+ mb = mb->cont ())
+ {
+ ACE_OS::memcpy (buf, mb->rd_ptr (), mb->length ());
+ buf += mb->length ();
+ }
+
+ // Logging the reply and state update.
+ //
+
+ // First send message to members.
+ //
+ {
+ // Extract state update.
+
+ CORBA::OctetSeq_var oid = ri->object_id ();
+ PortableInterceptor::AdapterName_var an = ri->adapter_name ();
+
+ CORBA::Any_var state = ri->get_slot (state_slot_id ());
+
+ CORBA::TypeCode_var tc = state->type ();
+
+ if (tc->kind () == CORBA::tk_null)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Slot update is void\n"));
+
+ PortableServer::POA_var poa = resolve_poa (an);
+
+ PortableServer::ServantBase_var servant =
+ poa->id_to_servant (oid);
+
+ Checkpointable* target =
+ dynamic_cast<Checkpointable*> (servant.in ());
+
+ if (target)
+ {
+ CORBA::Any_var tmp = target->get_state ();
+
+ if (tmp != 0) state = tmp._retn ();
+ }
+ }
+
+ TAO_OutputCDR cdr;
+
+ cdr << oid;
+ cdr << an;
+ cdr << ftr->client_id.in ();
+ cdr << ftr->retention_id;
+ cdr << reply.in ();
+ cdr << *state;
+
+ size_t size = cdr.total_length ();
+
+ CORBA::OctetSeq_var msg;
+
+ ACE_NEW (msg, CORBA::OctetSeq (size));
+
+ msg->length (size);
+
+ {
+ CORBA::Octet* buf (msg->get_buffer ());
+
+ for (ACE_Message_Block const* mb = cdr.begin ();
+ mb != 0;
+ mb = mb->cont ())
+ {
+ ACE_OS::memcpy (buf, mb->rd_ptr (), mb->length ());
+ buf += mb->length ();
+ }
+ }
+
+ CORBA::Octet* buf (msg->get_buffer ());
+
+ // Crash point 1.
+ //
+ if (crash_point == 1 && ftr->retention_id > 2) exit (1);
+
+ try
+ {
+ while (true)
+ {
+ try
+ {
+ group_->send (buf, size);
+ ACE_DEBUG ((LM_DEBUG, "Sent log record of length %i\n", size));
+ break;
+ }
+ catch (TMCast::Group::Aborted const&)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Retrying to send log record.\n"));
+ }
+ }
+ }
+ catch (TMCast::Group::Failed const&)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Group failure. Perhaps, I am alone in the group.\n"));
+ }
+ }
+
+
+ // Now perform local logging.
+ //
+ RecordId rid (ftr->client_id.in (), ftr->retention_id);
+
+ // This is slow but eh-safe ;-).
+ //
+ log_.insert (rid, reply);
+
+
+ // Crash point 2.
+ //
+ if (crash_point == 2 && ftr->retention_id > 2) exit (1);
+}
+
+
+namespace
+{
+ FT::FTRequestServiceContext*
+ extract_context (PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ IOP::ServiceContext_var svc =
+ ri->get_request_service_context (IOP::FT_REQUEST
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ TAO_InputCDR cdr (ACE_reinterpret_cast (const char*,
+ svc->context_data.get_buffer ()),
+ svc->context_data.length ());
+
+ CORBA::Boolean byte_order;
+
+ if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0)
+ {
+ //@@ what to throw?
+ ACE_THROW (CORBA::BAD_CONTEXT ());
+ }
+
+ cdr.reset_byte_order (ACE_static_cast (int,byte_order));
+
+ // Funny, the following two lines should normally translate
+ // just to one ctor call. But because we have to use this
+ // ACE_NEW macro hackery we have a default ctor call plus
+ // assignment operator call. Yet another example how the
+ // majority is being penalized by some broken platforms.
+ //
+ FT::FTRequestServiceContext_var req;
+
+ //@@ completed status maybe wrong
+ //
+ ACE_NEW_THROW_EX (req,
+ FT::FTRequestServiceContext,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+
+ cdr >> *req;
+
+ if (!cdr.good_bit ())
+ {
+ //@@ what to throw?
+ ACE_THROW (CORBA::UNKNOWN ());
+ }
+
+ return req._retn ();
+ }
+}
+
+
+char*
+ReplicaController::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("ReplicaController");
+}
+
+void
+ReplicaController::send_exception (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+}
+
+void
+ReplicaController::send_other (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+}
+
+void
+ReplicaController::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+ReplicaController::receive_request_service_contexts (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+
+}
+
+void
+ReplicaController::receive_request (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+}
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.h
new file mode 100644
index 00000000000..051a9e7f0f1
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.h
@@ -0,0 +1,138 @@
+// file : RolyPoly/ReplicaController.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef REPLICA_CONTROLLER_H
+#define REPLICA_CONTROLLER_H
+
+#include "ace/TMCast/GroupFwd.hpp"
+
+#include "tao/corba.h"
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableInterceptorC.h"
+#include "tao/LocalObject.h"
+
+#include "Log.h"
+
+// State management
+//
+//
+
+PortableInterceptor::SlotId
+state_slot_id ();
+
+void
+state_slot_id (PortableInterceptor::SlotId slot_id);
+
+// ReplicaController
+//
+//
+
+class ReplicaController
+ : public virtual PortableInterceptor::ServerRequestInterceptor,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+ virtual
+ ~ReplicaController ();
+
+ ReplicaController (CORBA::ORB_ptr orb);
+
+public:
+ virtual char *
+ name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+#if TAO_HAS_EXTENDED_FT_INTERCEPTORS == 1
+ virtual void
+ tao_ft_interception_point (
+ PortableInterceptor::ServerRequestInfo_ptr ri,
+ CORBA::OctetSeq_out ocs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+#endif /*TAO_HAS_EXTENDED_FT_INTERCEPTORS*/
+
+ virtual void
+ receive_request_service_contexts (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void
+ receive_request (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void
+ send_reply (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ send_exception (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void
+ send_other (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+private:
+ static void*
+ listener_thunk (void* p);
+
+ void
+ listener ();
+
+ PortableServer::POA_ptr
+ resolve_poa (PortableInterceptor::AdapterName const& name);
+
+private:
+
+ class RecordId
+ {
+ public:
+ RecordId (char const* client_id, CORBA::Long retention_id)
+ : client_id_ (CORBA::string_dup (client_id)),
+ retention_id_ (retention_id)
+ {
+ }
+
+ friend bool
+ operator< (RecordId const& a, RecordId const& b)
+ {
+ int r (ACE_OS::strcmp (a.client_id_.in (), b.client_id_.in ()));
+
+ return (r < 0) || (r == 0 && a.retention_id_ < b.retention_id_);
+ }
+
+ private:
+ CORBA::String_var client_id_;
+ CORBA::Long retention_id_;
+ };
+
+ typedef
+ Log<RecordId, CORBA::OctetSeq_var>
+ Log_;
+
+ Log_ log_;
+ CORBA::ORB_var orb_;
+ PortableServer::POA_var root_poa_;
+ auto_ptr<TMCast::Group> group_;
+};
+
+#endif /* REPLICA_CONTROLLER_H */
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.idl b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.idl
new file mode 100644
index 00000000000..7ab87e6d98d
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.idl
@@ -0,0 +1,15 @@
+// file : RolyPoly/RolyPoly.idl
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+interface RolyPoly
+{
+ exception E
+ {
+ string s;
+ };
+
+ short number (inout string m) raises (E);
+
+ oneway void shutdown ();
+};
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp
new file mode 100644
index 00000000000..cf1c40d004f
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp
@@ -0,0 +1,71 @@
+// file : RolyPoly/RolyPoly_i.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "RolyPoly_i.h"
+#include "StateUpdate.h"
+
+RolyPoly_i::RolyPoly_i (CORBA::ORB_ptr orb)
+ : number_ (0)
+ , orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+RolyPoly_i::~RolyPoly_i (void)
+{
+}
+
+CORBA::Any* RolyPoly_i::
+get_state ()
+{
+ /*
+ CORBA::Any_var state (new CORBA::Any);
+
+ *state <<= this->number_;
+
+ return state._retn ();
+ */
+
+ return 0;
+}
+
+
+void RolyPoly_i::
+set_state (CORBA::Any const& state)
+{
+ state >>= this->number_;
+}
+
+
+CORBA::Short
+RolyPoly_i::number (char *&str
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::string_free (str);
+
+ str = CORBA::string_dup ("Greetings from RolyPoly.");
+
+ ++this->number_;
+
+
+ // Preppare state update.
+ //
+
+ CORBA::Any a;
+
+ a <<= this->number_;
+
+ associate_state (orb_.in (), a);
+
+ return this->number_;
+}
+
+void
+RolyPoly_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Server is shutting down.\n"));
+
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.h
new file mode 100644
index 00000000000..a9fd7a706a0
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.h
@@ -0,0 +1,44 @@
+// file : RolyPoly/RolyPoly_i.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef ROLY_POLY_I_H
+#define ROLY_POLY_I_H
+
+#include "RolyPolyS.h"
+#include "StateUpdate.h"
+
+class RolyPoly_i : public virtual POA_RolyPoly,
+ public virtual Checkpointable
+{
+public:
+ RolyPoly_i (CORBA::ORB_ptr orb);
+
+ ~RolyPoly_i (void);
+
+ // Checkpointable
+ //
+ virtual CORBA::Any*
+ get_state ();
+
+ virtual void
+ set_state (CORBA::Any const& state);
+
+
+ // RolyPoly
+ //
+ virtual CORBA::Short
+ number (char *&s ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::Short number_;
+
+ CORBA::ORB_var orb_;
+};
+
+#endif /* ROLY_POLY_I_H */
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/StateUpdate.h b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/StateUpdate.h
new file mode 100644
index 00000000000..2d9aec49fe8
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/StateUpdate.h
@@ -0,0 +1,27 @@
+// file : RolyPoly/StateUpdate.h
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef STATE_UPDATE_H
+#define STATE_UPDATE_H
+
+#include "tao/corba.h"
+
+class Checkpointable
+{
+public:
+ virtual
+ ~Checkpointable ();
+
+ virtual CORBA::Any*
+ get_state ();
+
+ static void
+ associate_state (CORBA::ORB_ptr orb, CORBA::Any const& state);
+
+ virtual void
+ set_state (CORBA::Any const& state) = 0;
+};
+
+
+#endif // STATE_UPDATE_H
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/client.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/client.cpp
new file mode 100644
index 00000000000..84f906ae40b
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/client.cpp
@@ -0,0 +1,197 @@
+// file : RolyPoly/client.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "ace/Get_Opt.h"
+
+// IOR manipulation.
+#include "tao/IORManipulation/IORManip_Loader.h"
+#include "orbsvcs/FaultTolerance/FT_Service_Activate.h"
+#include "orbsvcs/FaultTolerance/FT_IOGR_Property.h"
+
+#include "RolyPolyC.h"
+
+const char *ior1 = 0;
+const char *ior2 = 0;
+
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ if (ior1 == 0) ior1 = get_opts.opt_arg ();
+ else ior2 = get_opts.opt_arg ();
+ break;
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Usage: %s "
+ "-k IOR_1 -k IOR_2\n",
+ argv[0]),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ int status = 0;
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc,
+ argv,
+ "Client ORB"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (::parse_args (argc, argv) != 0) return -1;
+
+ // Start out with the first IOR. Interaction with the second
+ // IOR occurs during the various interceptions executed during
+ // this test.
+
+ CORBA::Object_var object;
+
+ if (ior2 != 0)
+ {
+ // merge case
+
+ CORBA::Object_var object_primary;
+ CORBA::Object_var object_secondary;
+
+ object_primary = orb->string_to_object (
+ ior1 ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ object_secondary = orb->string_to_object (
+ ior2 ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ // Get an object reference for the ORBs IORManipultion object!
+ CORBA::Object_ptr IORM =
+ orb->resolve_initial_references (TAO_OBJID_IORMANIPULATION,
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ TAO_IOP::TAO_IOR_Manipulation_ptr iorm =
+ TAO_IOP::TAO_IOR_Manipulation::_narrow (IORM ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+
+ // Create the list
+ TAO_IOP::TAO_IOR_Manipulation::IORList iors (2);
+ iors.length(2);
+ iors [0] = CORBA::Object::_duplicate (object_primary.in ());
+ iors [1] = CORBA::Object::_duplicate (object_secondary.in ());
+
+ // Create a merged set 1;
+ object = iorm->merge_iors (iors ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+
+ FT::TagFTGroupTaggedComponent ft_tag_component;
+
+ // Property values
+
+ // Major and Minor revision numbers
+ ft_tag_component.object_group_ref_version = 0;
+
+ // Domain id
+ const char *id = "iogr_testing";
+ ft_tag_component.group_domain_id = id;
+
+ // Object group id
+ ft_tag_component.object_group_id =
+ (CORBA::ULongLong) 10;
+
+ // Version
+ ft_tag_component.object_group_ref_version =
+ (CORBA::ULong) 5;
+
+ // Construct the IOGR Property class
+ TAO_FT_IOGR_Property iogr_prop (ft_tag_component);
+
+ // Set the property
+ CORBA::Boolean retval = iorm->set_property (&iogr_prop,
+ object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ retval = iorm->set_primary (&iogr_prop,
+ object_primary.in (),
+ object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ }
+ else
+ {
+ object = orb->string_to_object (ior1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ RolyPoly_var server =
+ RolyPoly::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (server.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Object reference is nil\n"),
+ 1);
+ }
+
+ CORBA::Short number = 0;
+
+
+ for (int i = 1; i < 500; ++i)
+ {
+ CORBA::String_var str;
+
+ try
+ {
+ number = server->number (str.inout ()
+ ACE_ENV_ARG_PARAMETER);
+ }
+ catch (RolyPoly::E const& e)
+ {
+ ACE_DEBUG ((LM_INFO,
+ "client: received exception %s .\n",
+ e.s.in ()));
+ continue;
+ }
+
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_INFO,
+ "client: received %d\n",
+ number));
+ sleep (1);
+ }
+
+ server->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception:");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return status;
+}
diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/server.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/server.cpp
new file mode 100644
index 00000000000..f02d888dd30
--- /dev/null
+++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/server.cpp
@@ -0,0 +1,139 @@
+// file : RolyPoly/server.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "ace/Get_Opt.h"
+
+#include "RolyPoly_i.h"
+#include "CrashPoint.h"
+#include "ORB_Initializer.h"
+#include "tao/ORBInitializer_Registry.h"
+
+const char *ior_file = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:c:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_file = get_opts.opt_arg ();
+ break;
+ case 'c':
+ crash_point = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Usage: %s "
+ "-o <IOR> "
+ "-c <CrashPoint>\n",
+ argv[0]),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ if (::parse_args (argc, argv) != 0) return -1;
+
+ ORB_Initializer *temp_initializer = 0;
+ ACE_NEW_RETURN (temp_initializer,
+ ORB_Initializer,
+ -1); // No exceptions yet!
+
+ PortableInterceptor::ORBInitializer_var orb_initializer =
+ temp_initializer;
+
+ PortableInterceptor::register_orb_initializer (orb_initializer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "Server ORB" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to initialize the POA.\n"),
+ 1);
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ RolyPoly_i* roly_poly_impl;
+
+ ACE_NEW_RETURN (roly_poly_impl,
+ RolyPoly_i (orb.in ()),
+ 1);
+
+ PortableServer::ServantBase_var owner_transfer (roly_poly_impl);
+
+ RolyPoly_var t =
+ roly_poly_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::PolicyList policies; // Empty policy list.
+
+ CORBA::String_var ior =
+ orb->object_to_string (t.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ FILE *output_file= ACE_OS::fopen (ior_file, "w");
+ if (output_file == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file <%s> for writing "
+ "IOR: %s",
+ ior.in ()),
+ 1);
+ }
+
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ ACE_DEBUG ((LM_DEBUG, "Server is ready\n"));
+
+ // Run the ORB event loop.
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "Event loop finished.\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception:");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/orbsvcs/examples/Log/Basic/Log_Basic.mpc b/TAO/orbsvcs/examples/Log/Basic/Log_Basic.mpc
new file mode 100644
index 00000000000..73476b098d4
--- /dev/null
+++ b/TAO/orbsvcs/examples/Log/Basic/Log_Basic.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : orbsvcsexe, dslogadmin, naming {
+ exename = client
+}
diff --git a/TAO/orbsvcs/examples/Log/Event/Log_Event.mpc b/TAO/orbsvcs/examples/Log/Event/Log_Event.mpc
new file mode 100644
index 00000000000..fb4ebd95b7e
--- /dev/null
+++ b/TAO/orbsvcs/examples/Log/Event/Log_Event.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Consumer) : orbsvcsexe, event, dseventlogadmin {
+ exename = consumer
+ source_files {
+ Event_Consumer.cpp
+ }
+}
+
+project(*Supplier) : orbsvcsexe, event, dseventlogadmin {
+ exename = supplier
+ source_files {
+ Event_Supplier.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/Log/Notify/Log_Notify.mpc b/TAO/orbsvcs/examples/Log/Notify/Log_Notify.mpc
new file mode 100644
index 00000000000..a0c45cbb43e
--- /dev/null
+++ b/TAO/orbsvcs/examples/Log/Notify/Log_Notify.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Consumer) : orbsvcsexe, notify, dsnotifylogadmin, naming {
+ exename = consumer
+ source_files {
+ Notify_Consumer.cpp
+ }
+}
+
+project(*Supplier) : orbsvcsexe, notify, dsnotifylogadmin, naming {
+ exename = supplier
+ source_files {
+ Notify_Consumer.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/Log/RTEvent/Log_RTEvent.mpc b/TAO/orbsvcs/examples/Log/RTEvent/Log_RTEvent.mpc
new file mode 100644
index 00000000000..4ca31b39b0f
--- /dev/null
+++ b/TAO/orbsvcs/examples/Log/RTEvent/Log_RTEvent.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Consumer) : orbsvcsexe, rtevent, naming, rteventlogadmin {
+ requires += minimum_corba
+ exename = consumer
+ source_files {
+ RTEvent_Consumer.cpp
+ }
+}
+
+project(*Supplier) : orbsvcsexe, rtevent, naming, rteventlogadmin {
+ requires += minimum_corba
+ exename = supplier
+ source_files {
+ RTEvent_Supplier.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/Notify/Filter/Notify_Filter.mpc b/TAO/orbsvcs/examples/Notify/Filter/Notify_Filter.mpc
new file mode 100644
index 00000000000..afb746369b0
--- /dev/null
+++ b/TAO/orbsvcs/examples/Notify/Filter/Notify_Filter.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcsexe, notify, naming {
+}
diff --git a/TAO/orbsvcs/examples/Notify/Subscribe/Notify_Subscribe.mpc b/TAO/orbsvcs/examples/Notify/Subscribe/Notify_Subscribe.mpc
new file mode 100644
index 00000000000..ef4e5dfacc9
--- /dev/null
+++ b/TAO/orbsvcs/examples/Notify/Subscribe/Notify_Subscribe.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcsexe, notify, naming {
+ avoids += minimum_corba
+}
diff --git a/TAO/orbsvcs/examples/ORT/ORT.mpc b/TAO/orbsvcs/examples/ORT/ORT.mpc
new file mode 100644
index 00000000000..66eebfd8897
--- /dev/null
+++ b/TAO/orbsvcs/examples/ORT/ORT.mpc
@@ -0,0 +1,48 @@
+// $Id$
+project(*Gateway) : orbsvcsexe, dynamicinterface, ifr_client {
+ avoids += minimum_corba
+ source_files {
+ GatewayC.cpp
+ GatewayS.cpp
+ gateway_server.cpp
+ Gateway_i.cpp
+ Object_Factory_i.cpp
+ }
+ idl_files {
+ Gateway.idl
+ }
+}
+
+project(*Server) : orbsvcsexe, dynamicinterface, ifr_client {
+ exename = server
+ after += *Gateway
+ avoids += minimum_corba
+ source_files {
+ server.cpp
+ GatewayC.cpp
+ Gateway_ObjRef_Factory.cpp
+ sum_serverC.cpp
+ sum_serverS.cpp
+ sum_server_i.cpp
+ Server_IORInterceptor_ORBInitializer.cpp
+ Server_IORInterceptor.cpp
+ ObjectReferenceFactoryC.cpp
+ }
+ idl_files {
+ ObjectReferenceFactory.idl
+ sum_server.idl
+ }
+}
+
+project(*Client) : orbsvcsexe, event {
+ avoids += minimum_corba
+ after += *Server
+ source_files {
+ client.cpp
+ sum_serverC.cpp
+ }
+ idl_files {
+ }
+}
+
+
diff --git a/TAO/orbsvcs/examples/PSS/oldmpc_pss b/TAO/orbsvcs/examples/PSS/oldmpc_pss
new file mode 100644
index 00000000000..c47c4b1992d
--- /dev/null
+++ b/TAO/orbsvcs/examples/PSS/oldmpc_pss
@@ -0,0 +1,44 @@
+project(*Simple_Naming) : orbsvcslib, portableserver, psdl {
+ source_files {
+ Simple_NamingC.cpp
+ Simple_NamingS.cpp
+ Simple_Naming_i.cpp
+ Simple_Naming.cpp
+ }
+ idl_files {
+ Simple_Naming.idl
+ }
+}
+
+project(*Server) : orbsvcsexe, portableserver, psdl {
+ after += *Simple_Naming
+ source_files {
+ ServerC.cpp
+ ServerS.cpp
+ Server_i.cpp
+ Simple_NamingS.cpp
+ Simple_NamingC.cpp
+ Simple_Naming_i.cpp
+ server.cpp
+ }
+ idl_files {
+ Server.idl
+ Simple_Naming.idl
+ }
+}
+
+project(*Client) : orbsvcsexe, psdl, portableserver {
+ after += *Server
+ source_files {
+ Simple_NamingS.cpp
+ Simple_NamingC.cpp
+ Simple_Naming_i.cpp
+ ServerC.cpp
+ client.cpp
+ }
+ idl_files {
+ Server.idl
+ Simple_Naming.idl
+ }
+}
+
diff --git a/TAO/orbsvcs/examples/RtEC/MCast/RtEC_MCast.mpc b/TAO/orbsvcs/examples/RtEC/MCast/RtEC_MCast.mpc
new file mode 100644
index 00000000000..4394b471fcf
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/MCast/RtEC_MCast.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcsexe, rtevent, rtsched {
+}
diff --git a/TAO/orbsvcs/examples/RtEC/Schedule/RtEC_Schedule.mpc b/TAO/orbsvcs/examples/RtEC/Schedule/RtEC_Schedule.mpc
new file mode 100644
index 00000000000..4394b471fcf
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Schedule/RtEC_Schedule.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcsexe, rtevent, rtsched {
+}
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/RtEC_Simple.mpc b/TAO/orbsvcs/examples/RtEC/Simple/RtEC_Simple.mpc
new file mode 100644
index 00000000000..2735b33ac5d
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Simple/RtEC_Simple.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Service) : orbsvcsexe, rtevent, naming {
+ source_files {
+ Service.cpp
+ }
+}
+
+project(*Supplier) : orbsvcsexe, rtevent, naming {
+ source_files {
+ Supplier.cpp
+ }
+}
+
+project(*Consumer) : orbsvcsexe, rtevent, naming {
+ source_files {
+ Consumer.cpp
+ }
+}
diff --git a/TAO/orbsvcs/examples/Security/Send_File/Security_Send_File.mpc b/TAO/orbsvcs/examples/Security/Send_File/Security_Send_File.mpc
new file mode 100644
index 00000000000..c73e3ecf5c5
--- /dev/null
+++ b/TAO/orbsvcs/examples/Security/Send_File/Security_Send_File.mpc
@@ -0,0 +1,15 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : orbsvcsexe, portableserver {
+ source_files {
+ client.cpp
+ }
+}
+
+project(*Server) : orbsvcsexe, portableserver {
+ source_files {
+ server.cpp
+ test_i.cpp
+ }
+}
diff --git a/TAO/orbsvcs/orbsvcs/AV/md5c.cpp b/TAO/orbsvcs/orbsvcs/AV/md5c.cpp
new file mode 100644
index 00000000000..ad1865f947e
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/AV/md5c.cpp
@@ -0,0 +1,326 @@
+/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
+ */
+
+/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
+rights reserved.
+
+License to copy and use this software is granted provided that it
+is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+Algorithm" in all material mentioning or referencing this software
+or this function.
+
+License is also granted to make and use derivative works provided
+that such works are identified as "derived from the RSA Data
+Security, Inc. MD5 Message-Digest Algorithm" in all material
+mentioning or referencing the derived work.
+
+RSA Data Security, Inc. makes no representations concerning either
+the merchantability of this software or the suitability of this
+software for any particular purpose. It is provided "as is"
+without express or implied warranty of any kind.
+
+These notices must be retained in any copies of any part of this
+documentation and/or software.
+ */
+
+/* $Id$ */
+
+#include "global.h"
+#include "md5.h"
+
+/* Constants for MD5Transform routine.
+ */
+
+#define S11 7
+#define S12 12
+#define S13 17
+#define S14 22
+#define S21 5
+#define S22 9
+#define S23 14
+#define S24 20
+#define S31 4
+#define S32 11
+#define S33 16
+#define S34 23
+#define S41 6
+#define S42 10
+#define S43 15
+#define S44 21
+
+/*static void MD5Transform PROTO_LIST ((UINT4 [4], unsigned char [64]));
+static void Encode PROTO_LIST
+ ((unsigned char *, UINT4 *, unsigned int));
+static void Decode PROTO_LIST
+ ((UINT4 *, unsigned char *, unsigned int));
+static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned int));
+static void MD5_memset PROTO_LIST ((POINTER, int, unsigned int));*/
+static void MD5Transform (UINT4 [4], unsigned char [64]);
+static void Encode (unsigned char *, UINT4 *, unsigned int);
+static void Decode (UINT4 *, unsigned char *, unsigned int);
+static void MD5_memcpy (POINTER, POINTER, unsigned int);
+static void MD5_memset (POINTER, int, unsigned int);
+
+static unsigned char PADDING[64] = {
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/* F, G, H and I are basic MD5 functions.
+ */
+#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
+#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
+#define H(x, y, z) ((x) ^ (y) ^ (z))
+#define I(x, y, z) ((y) ^ ((x) | (~z)))
+
+/* ROTATE_LEFT rotates x left n bits.
+ */
+#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
+
+/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
+Rotation is separate from addition to prevent recomputation.
+ */
+#define FF(a, b, c, d, x, s, ac) { \
+ (a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+#define GG(a, b, c, d, x, s, ac) { \
+ (a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+#define HH(a, b, c, d, x, s, ac) { \
+ (a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+#define II(a, b, c, d, x, s, ac) { \
+ (a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+
+/* MD5 initialization. Begins an MD5 operation, writing a new context.
+ */
+void MD5Init (MD5_CTX *context)
+{
+ context->count[0] = context->count[1] = 0;
+ /* Load magic initialization constants.
+*/
+ context->state[0] = 0x67452301;
+ context->state[1] = 0xefcdab89;
+ context->state[2] = 0x98badcfe;
+ context->state[3] = 0x10325476;
+}
+
+/* MD5 block update operation. Continues an MD5 message-digest
+ operation, processing another message block, and updating the
+ context.
+ */
+void MD5Update (MD5_CTX *context, unsigned char *input, unsigned int inputLen)
+{
+ unsigned int i, index, partLen;
+
+ /* Compute number of bytes mod 64 */
+ index = (unsigned int)((context->count[0] >> 3) & 0x3F);
+
+ /* Update number of bits */
+ if ((context->count[0] += ((UINT4)inputLen << 3))
+
+ < ((UINT4)inputLen << 3))
+ context->count[1]++;
+ context->count[1] += ((UINT4)inputLen >> 29);
+
+ partLen = 64 - index;
+
+ /* Transform as many times as possible.
+*/
+ if (inputLen >= partLen) {
+ MD5_memcpy
+ ((POINTER)&context->buffer[index], (POINTER)input, partLen);
+ MD5Transform (context->state, context->buffer);
+
+ for (i = partLen; i + 63 < inputLen; i += 64)
+ MD5Transform (context->state, &input[i]);
+
+ index = 0;
+ }
+ else
+ i = 0;
+
+ /* Buffer remaining input */
+ MD5_memcpy
+ ((POINTER)&context->buffer[index], (POINTER)&input[i],
+ inputLen-i);
+}
+
+/* MD5 finalization. Ends an MD5 message-digest operation, writing the
+ the message digest and zeroizing the context.
+ */
+void MD5Final (unsigned char digest[16], MD5_CTX *context)
+{
+ unsigned char bits[8];
+ unsigned int index, padLen;
+
+ /* Save number of bits */
+ Encode (bits, context->count, 8);
+
+ /* Pad out to 56 mod 64.
+*/
+ index = (unsigned int)((context->count[0] >> 3) & 0x3f);
+ padLen = (index < 56) ? (56 - index) : (120 - index);
+ MD5Update (context, PADDING, padLen);
+
+ /* Append length (before padding) */
+ MD5Update (context, bits, 8);
+
+ /* Store state in digest */
+ Encode (digest, context->state, 16);
+
+ /* Zeroize sensitive information.
+*/
+ MD5_memset ((POINTER)context, 0, sizeof (*context));
+}
+
+/* MD5 basic transformation. Transforms state based on block.
+ */
+static void MD5Transform (UINT4 state[4], unsigned char block[64])
+{
+ UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
+
+ Decode (x, block, 64);
+
+ /* Round 1 */
+ FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
+ FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
+ FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
+ FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
+ FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
+ FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
+ FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
+ FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
+ FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
+ FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
+ FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
+ FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
+ FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
+ FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
+ FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
+ FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
+
+ /* Round 2 */
+ GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
+ GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
+ GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
+ GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
+ GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
+ GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
+ GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
+ GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
+ GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
+ GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
+ GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
+
+ GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
+ GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
+ GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
+ GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
+ GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
+
+ /* Round 3 */
+ HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
+ HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
+ HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
+ HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
+ HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
+ HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
+ HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
+ HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
+ HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
+ HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
+ HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
+ HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
+ HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
+ HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
+ HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
+ HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
+
+ /* Round 4 */
+ II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
+ II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
+ II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
+ II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
+ II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
+ II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
+ II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
+ II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
+ II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
+ II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
+ II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
+ II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
+ II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
+ II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
+ II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
+ II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
+
+ state[0] += a;
+ state[1] += b;
+ state[2] += c;
+ state[3] += d;
+
+ /* Zeroize sensitive information.
+
+*/
+ MD5_memset ((POINTER)x, 0, sizeof (x));
+}
+
+/* Encodes input (UINT4) into output (unsigned char). Assumes len is
+ a multiple of 4.
+ */
+static void Encode (unsigned char *output, UINT4 *input, unsigned int len)
+{
+ unsigned int i, j;
+
+ for (i = 0, j = 0; j < len; i++, j += 4) {
+ output[j] = (unsigned char)(input[i] & 0xff);
+ output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
+ output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
+ output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
+ }
+}
+
+/* Decodes input (unsigned char) into output (UINT4). Assumes len is
+ a multiple of 4.
+ */
+static void Decode (UINT4 *output, unsigned char *input, unsigned int len)
+{
+ unsigned int i, j;
+
+ for (i = 0, j = 0; j < len; i++, j += 4)
+ output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
+ (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
+}
+
+/* Note: Replace "for loop" with standard memcpy if possible.
+ */
+
+static void MD5_memcpy (POINTER output, POINTER input, unsigned int len)
+{
+ unsigned int i;
+
+ for (i = 0; i < len; i++)
+
+ output[i] = input[i];
+}
+
+/* Note: Replace "for loop" with standard memset if possible.
+ */
+static void MD5_memset (POINTER output, int value, unsigned int len)
+{
+ unsigned int i;
+
+ for (i = 0; i < len; i++)
+ ((char *)output)[i] = (char)value;
+}
diff --git a/TAO/orbsvcs/orbsvcs/FTORB_Utils.bor b/TAO/orbsvcs/orbsvcs/FTORB_Utils.bor
new file mode 100644
index 00000000000..9267bc870cc
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FTORB_Utils.bor
@@ -0,0 +1,75 @@
+#
+# $Id$
+#
+# Makefile for building the TAO_FTORB_Utils library with Borland C++ Builder
+
+NAME = TAO_FTORB_Utils
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe
+
+OBJFILES = \
+ $(OBJDIR)\FT_CORBA_ORBC.obj \
+ $(OBJDIR)\FT_CORBA_ORBS.obj \
+ $(OBJDIR)\PortableGroup_Simple_DSC.obj \
+ $(OBJDIR)\FT_IOGR_Property.obj
+
+LFLAGS = \
+ -j..\..\..\lib\$(CONFIG_SUBDIR) -j..\..\..\lib \
+ -L..\..\..\lib\$(CONFIG_SUBDIR) -L..\..\..\lib \
+ -j$(CORE_BINDIR) \
+ -L$(CORE_BINDIR)
+
+LIBFILES = \
+ TAO_Messaging$(LIB_DECORATOR).lib \
+ TAO_PortableServer$(LIB_DECORATOR).lib \
+ TAO_IORInterceptor$(LIB_DECORATOR).lib \
+ TAO_ObjRefTemplate$(LIB_DECORATOR).lib \
+ TAO_Valuetype$(LIB_DECORATOR).lib \
+ TAO_IORManip$(LIB_DECORATOR).lib \
+ TAO$(LIB_DECORATOR).lib \
+ ACE$(LIB_DECORATOR).lib \
+
+
+IDLFILES = \
+ $(IDLDIR)\FT_CORBA_ORB.idl \
+ $(IDLDIR)\PortableGroup_Simple_DS.idl
+
+!ifdef STATIC
+LIB_FLAGS = -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+DLL_FLAGS =
+!else
+LIB_FLAGS =
+DLL_FLAGS = -DTAO_FT_ORB_UTILS_BUILD_DLL
+!endif
+
+CFLAGS = \
+ -I..\..\orbsvcs\orbsvcs \
+ -I..\..\orbsvcs \
+ -I..\.. \
+ -I..\..\tao \
+ -I..\..\.. \
+ $(LIB_FLAGS) \
+ $(DLL_FLAGS)
+
+CPPDIR = .;FaultTolerance
+
+IDLDIR = .
+
+INCDIR_NAME = orbsvcs
+
+all: idl_src_files
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
+
+#
+# IDL Build rules
+#
+
+idl_src_files: $(IDLFILES:.idl=C.cpp) $(IDLFILES:.idl=S.cpp)
+
+# IDL File Directory: .
+$(IDLDIR)\FT_CORBA_ORBS.cpp $(IDLDIR)\FT_CORBA_ORBC.cpp: $(IDLDIR)\FT_CORBA_ORB.idl
+ $(TAO_IDL) -Wb,export_macro=TAO_FT_ORB_Utils_Export -Wb,export_include=FaultTolerance\FT_ORB_Utils_export.h -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $**
+
+$(IDLDIR)\PortableGroup_Simple_DSC.cpp $(IDLDIR)\PortableGroup_Simple_DSS.cpp: $(IDLDIR)\PortableGroup_Simple_DS.idl
+ $(TAO_IDL) -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $**
diff --git a/TAO/orbsvcs/orbsvcs/FTORB_Utils.dsp b/TAO/orbsvcs/orbsvcs/FTORB_Utils.dsp
new file mode 100644
index 00000000000..19321f6d3a2
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FTORB_Utils.dsp
@@ -0,0 +1,293 @@
+# Microsoft Developer Studio Project File - Name="FTORB_Utils" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=FTORB_Utils - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FTORB_Utils.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FTORB_Utils.mak" CFG="FTORB_Utils - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FTORB_Utils - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "FTORB_Utils - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "FTORB_Utils - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\FTORB_Utils"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\orbsvcs\orbsvcs" /I "..\..\orbsvcs" /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_FT_ORB_UTILS_BUILD_DLL" /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\orbsvcs\orbsvcs" /i "..\..\orbsvcs" /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o"..\..\..\lib\TAO_FTORB_Utils.bsc"
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Valuetype.lib TAO_IORManip.lib TAO.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\lib\TAO_FTORB_Utils.pdb" /machine:I386 /out:"..\..\..\bin\Release\TAO_FTORB_Utils.dll" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\IORManipulation" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "FTORB_Utils - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\FTORB_Utils"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\..\orbsvcs\orbsvcs" /I "..\..\orbsvcs" /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_FT_ORB_UTILS_BUILD_DLL" /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\orbsvcs\orbsvcs" /i "..\..\orbsvcs" /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o"..\..\..\lib\TAO_FTORB_Utils.bsc"
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Valuetyped.lib TAO_IORManipd.lib TAOd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\lib\TAO_FTORB_Utilsd.pdb" /debug /machine:I386 /out:"..\..\..\bin\TAO_FTORB_Utilsd.dll" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\IORManipulation" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "FTORB_Utils - Win32 Release"
+# Name "FTORB_Utils - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORBC.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORBS.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_IOGR_Property.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORBC.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORBS.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_IOGR_Property.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaultTolerance\FT_ORB_Utils_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORBC.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORBS.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_IOGR_Property.inl"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.i
+# End Source File
+# End Group
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.cpp"
+# PROP Exclude_From_Build 1
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=".\FT_CORBA_ORB.idl"
+
+!IF "$(CFG)" == "FTORB_Utils - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__FT_CO="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\FT_CORBA_ORB.idl"
+InputName=FT_CORBA_ORB
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -o . -Wb,export_macro=TAO_FT_ORB_Utils_Export -Wb,export_include=FaultTolerance\FT_ORB_Utils_export.h -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "FTORB_Utils - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__FT_CO="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\FT_CORBA_ORB.idl"
+InputName=FT_CORBA_ORB
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl.exe -o . -Wb,export_macro=TAO_FT_ORB_Utils_Export -Wb,export_include=FaultTolerance\FT_ORB_Utils_export.h -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DS.idl
+
+!IF "$(CFG)" == "FTORB_Utils - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+InputPath=.\PortableGroup_Simple_DS.idl
+InputName=PortableGroup_Simple_DS
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -o . -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath)
+
+"\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "FTORB_Utils - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+InputPath=.\PortableGroup_Simple_DS.idl
+InputName=PortableGroup_Simple_DS
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl.exe -o . -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath)
+
+"\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/orbsvcs/FT_ClientORB.bor b/TAO/orbsvcs/orbsvcs/FT_ClientORB.bor
new file mode 100644
index 00000000000..4ac3bc5a438
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_ClientORB.bor
@@ -0,0 +1,81 @@
+#
+# $Id$
+#
+# Makefile for building the TAO_FT_ClientORB library with Borland C++ Builder
+
+NAME = TAO_FT_ClientORB
+
+
+OBJFILES = \
+ $(OBJDIR)\PortableGroup_Simple_DSC.obj \
+ $(OBJDIR)\FT_ClientORBInitializer.obj \
+ $(OBJDIR)\FT_ClientPolicyFactory.obj \
+ $(OBJDIR)\FT_ClientPolicy_i.obj \
+ $(OBJDIR)\FT_ClientRequest_Interceptor.obj \
+ $(OBJDIR)\FT_ClientService_Activate.obj \
+ $(OBJDIR)\FT_Endpoint_Selector_Factory.obj \
+ $(OBJDIR)\FT_Invocation_Endpoint_Selectors.obj \
+ $(OBJDIR)\FT_Service_Callbacks.obj
+
+LFLAGS = \
+ -j..\..\..\lib\$(CONFIG_SUBDIR) -j..\..\..\lib \
+ -L..\..\..\lib\$(CONFIG_SUBDIR) -L..\..\..\lib \
+ -j$(CORE_BINDIR) \
+ -L$(CORE_BINDIR)
+
+LIBFILES = \
+ TAO_Messaging$(LIB_DECORATOR).lib \
+ TAO_PortableGroup$(LIB_DECORATOR).lib \
+ TAO_FTORB_Utils$(LIB_DECORATOR).lib \
+ TAO_PortableServer$(LIB_DECORATOR).lib \
+ TAO_IORInterceptor$(LIB_DECORATOR).lib \
+ TAO_ObjRefTemplate$(LIB_DECORATOR).lib \
+ TAO_Valuetype$(LIB_DECORATOR).lib \
+ TAO_IORManip$(LIB_DECORATOR).lib \
+ TAO$(LIB_DECORATOR).lib \
+ ACE$(LIB_DECORATOR).lib \
+
+
+!ifdef STATIC
+LIB_FLAGS = -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+DLL_FLAGS =
+!else
+LIB_FLAGS =
+DLL_FLAGS = -DTAO_FT_CLIENTORB_BUILD_DLL
+!endif
+
+CFLAGS = \
+ -I..\..\orbsvcs\orbsvcs \
+ -I..\..\orbsvcs \
+ -I..\.. \
+ -I..\..\tao \
+ -I..\..\.. \
+ $(LIB_FLAGS) \
+ $(DLL_FLAGS)
+
+CPPDIR = .;FaultTolerance
+
+IDLDIR = .
+
+IDLFILES = \
+ $(IDLDIR)\PortableGroup_Simple_DS.idl
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe \
+ -I..\.. -I.. -Ge 1 -GC -Wb,export_macro=TAO_FT_ServerORB_Export \
+ -Wb,export_include=FaultTolerance/FT_ServerORB_export.h \
+ -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+
+INCDIR_NAME = orbsvcs
+
+all: idl_src_files
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
+
+#
+# IDL Build rules
+#
+
+idl_src_files: $(IDLFILES:.idl=C.cpp) $(IDLFILES:.idl=S.cpp)
+
+$(IDLDIR)\PortableGroup_Simple_DSC.cpp $(IDLDIR)\PortableGroup_Simple_DSS.cpp: $(IDLDIR)\PortableGroup_Simple_DS.idl
+ $(TAO_IDL) -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $**
diff --git a/TAO/orbsvcs/orbsvcs/FT_ClientORB.dsp b/TAO/orbsvcs/orbsvcs/FT_ClientORB.dsp
new file mode 100644
index 00000000000..b0052797b5d
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_ClientORB.dsp
@@ -0,0 +1,194 @@
+# Microsoft Developer Studio Project File - Name="FT_ClientORB" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=FT_ClientORB - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FT_ClientORB.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FT_ClientORB.mak" CFG="FT_ClientORB - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FT_ClientORB - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "FT_ClientORB - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "FT_ClientORB - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\FT_ClientORB"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\orbsvcs\orbsvcs" /I "..\..\orbsvcs" /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_FT_CLIENTORB_BUILD_DLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\orbsvcs\orbsvcs" /i "..\..\orbsvcs" /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o"..\..\..\lib\TAO_FT_ClientORB.bsc"
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_Messaging.lib TAO_FTORB_Utils.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Valuetype.lib TAO_IORManip.lib TAO.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\lib\TAO_FT_ClientORB.pdb" /machine:I386 /out:"..\..\..\bin\Release\TAO_FT_ClientORB.dll" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\orbsvcs\orbsvcs" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\IORManipulation" /libpath:"..\..\tao\Messaging" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "FT_ClientORB - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\FT_ClientORB"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\..\orbsvcs\orbsvcs" /I "..\..\orbsvcs" /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_FT_CLIENTORB_BUILD_DLL" /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\orbsvcs\orbsvcs" /i "..\..\orbsvcs" /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o"..\..\..\lib\TAO_FT_ClientORB.bsc"
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_FTORB_Utilsd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Valuetyped.lib TAO_IORManipd.lib TAOd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\lib\TAO_FT_ClientORBd.pdb" /debug /machine:I386 /out:"..\..\..\bin\TAO_FT_ClientORBd.dll" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\orbsvcs\orbsvcs" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\IORManipulation" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "FT_ClientORB - Win32 Release"
+# Name "FT_ClientORB - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientORBInitializer.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientPolicy_i.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientPolicyFactory.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientRequest_Interceptor.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientService_Activate.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Endpoint_Selector_Factory.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Invocation_Endpoint_Selectors.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Service_Callbacks.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientORBInitializer.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientPolicy_i.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientPolicyFactory.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientRequest_Interceptor.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientService_Activate.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Endpoint_Selector_Factory.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Invocation_Endpoint_Selectors.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Service_Callbacks.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ClientPolicy_i.inl"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Invocation_Endpoint_Selectors.inl"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_Service_Callbacks.inl"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.i
+# End Source File
+# End Group
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.cpp"
+# PROP Exclude_From_Build 1
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl b/TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl
new file mode 100644
index 00000000000..b783eb46ace
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl
@@ -0,0 +1,119 @@
+// -*- IDL -*-
+
+//=============================================================================
+/**
+ * @file FT_FaultDetectorFactory.idl
+ *
+ * $Id$
+ *
+ * @author: Dale Wilson, OCI <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef _FT_DETECTOR_FACTORY_IDL_
+#define _FT_DETECTOR_FACTORY_IDL_
+
+// A TAO specific addition to FT_CORBA.
+// No interface was specified for the FaultDetector
+// in the FT CORBA specification, so we decided to
+// define a GenericFactory to create FaultDetectors and
+// control the FaultDetectors through the GenericFactory
+// interface (with extenstions.)
+
+#pragma prefix "omg.org"
+
+#include "orbsvcs/FT_CORBA.idl"
+#include "orbsvcs/FT_Replica.idl"
+#include "orbsvcs/PortableGroup.idl"
+
+module FT
+{
+ ///////////////////////////////////////////////////
+ // names for properties used in Fault Tolerant CORBA
+ /// TimeBase::TimeT how often to call is_alive();
+ const string FT_FAULT_MONITORING_INTERVAL = "MonitoringInterval";
+
+ /// FT::FaultNotifier where to send fault reports
+ const string FT_NOTIFIER = "Notifier";
+
+ /// FT::PullMonitorable the object to monitor
+ const string FT_MONITORABLE = "Monitorable";
+
+ ///////////////////////////////////////////
+ // Names specified in the FT CORBA specification
+
+ const string FT_EVENT_TYPE_DOMAIN = "FT_CORBA";
+ const string FT_EVENT_TYPE_NAME = "ObjectCrashFault";
+
+ /// FT::FTDomainId domain to report to notifier
+ const string FT_DOMAIN_ID = "FTDomainId";
+
+ /// FT::Location location to report to notifier
+ const string FT_LOCATION = "Location";
+
+ /// FT::TypeId type to report to notifier
+ const string FT_TYPE_ID = "TypeId";
+
+ /// FT::ObjectGroupId group to report to notifier
+ const string FT_GROUP_ID = "GroupId";
+
+ // end of names from FT CORBA specification
+ ///////////////////////////////////////////
+
+ /////////////////////////////
+ // RoleName FaultDetectorFactory uses to register
+ // with Factory Registery
+ const string FAULT_DETECTOR_ROLE_NAME = "FT_FaultDetector";
+
+ /**
+ * A FaultDetectorFactory creates and manages a set of FaultDetectors.
+ *
+ * A FaultDetectorFactory acts as an agent for a ReplicationManager
+ * which needs to create one or more FaultDetectors at a particular
+ * location.
+ *
+ * At present, FaultDetectors monitor via the is_alive() method of
+ * the PullMonitorable interface which must be implemented by the
+ * object-to-be-monitored. Other monitoring techniques may be
+ * supported in the future. In particular heartbeat/watchdog
+ * monitoring is anticipated.
+ *
+ * Notifications of failing objects are sent to a FaultNotifier
+ * which is responsible for distributing them to interested parties.
+ *
+ * The implementation of the GenericFactory::create_object method
+ * creates a FaultDetector object to monitor a single monitorable.
+ * The FaultDetector is *not* a first-class CORBA object. The
+ * Object reference returned by create_object will be nil. You
+ * cannot interact directly with a FaultDetector.
+ * The only interaction that a FaultDetector needs after it is
+ * started is to tell it to change it's monitoring parameters,
+ * or to shut down. The change_properties () and shutdown ()
+ * methods on the Factory provide the needed capabilities.
+ *
+ * The create_object requires the following criteria:
+ * FT::Notifier Notifier
+ * FT::PullMonitorable Monitorable
+ * PortableGroup::DomainId domain_id,
+ * PortableGroup::ObjectGroupId group_id,
+ * PortableGroup::Location object_location,
+ * PortableGroup::_TypeId object_type
+ */
+ interface FaultDetectorFactory : ::PortableGroup::GenericFactory, PullMonitorable
+ {
+ /**
+ * Adjust properties on-the-fly.
+ * Applies to all FaultDetectors created by this factory.
+ * @param property_set is a set of properties that (may) have new values.
+ */
+ void change_properties(in ::PortableGroup::Properties property_set)
+ raises (::PortableGroup::InvalidProperty);
+
+ /**
+ * Ask the Fault Detector Factory to come to an orderly end.
+ */
+ oneway void shutdown();
+ };
+};
+
+#endif // for #ifndef _FT_DETECTOR_FACTORY_IDL_
diff --git a/TAO/orbsvcs/orbsvcs/FT_Notifier.idl b/TAO/orbsvcs/orbsvcs/FT_Notifier.idl
new file mode 100644
index 00000000000..bb1d839f388
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_Notifier.idl
@@ -0,0 +1,62 @@
+/* -*- IDL -*- */
+//=============================================================================
+/**
+ * @file FT_Notifier.idl
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This was original part of the OMG FT.idl file
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef _FT_NOTIFIER_IDL_
+#define _FT_NOTIFIER_IDL_
+
+///////////////////////////////
+// TAO specific includes
+#include "orbsvcs/FT_CORBA_ORB.idl"
+#include "orbsvcs/FT_Replica.idl"
+// end of TAO specific includes
+///////////////////////////////
+
+#include "orbsvcs/CosNaming.idl" // 98-10-19.idl
+#include "orbsvcs/CosNotification.idl" // from telecom/98-11-03.idl
+
+// added to OMG version:
+#include "orbsvcs/CosNotifyFilter.idl"
+
+#pragma prefix "omg.org"
+
+module FT
+{
+ // Specifications for Fault Management
+ // Specification of FaultNotifier Interface
+ // TAO SPECIFIC: added inheritence from PullMonitorable
+ interface FaultNotifier : ::FT::PullMonitorable
+ {
+ typedef unsigned long long ConsumerId;
+ void push_structured_fault( in CosNotification::StructuredEvent
+ event);
+ void push_sequence_fault( in CosNotification::EventBatch events);
+ CosNotifyFilter::Filter create_subscription_filter (in string
+ constraint_grammar)
+ raises (CosNotifyFilter::InvalidGrammar);
+ ConsumerId connect_structured_fault_consumer(in CosNotifyComm::StructuredPushConsumer push_consumer,
+ in CosNotifyFilter::Filter filter) ;
+
+ ConsumerId connect_sequence_fault_consumer(in
+ CosNotifyComm::SequencePushConsumer push_consumer,
+ in
+ CosNotifyFilter::Filter
+ filter);
+
+ void disconnect_consumer( in ConsumerId connection)
+ raises(CosEventComm::Disconnected);
+ };
+};
+
+
+#endif // for #ifndef _FT_NOTIFIER_IDL_
diff --git a/TAO/orbsvcs/orbsvcs/FT_Replica.idl b/TAO/orbsvcs/orbsvcs/FT_Replica.idl
new file mode 100644
index 00000000000..eb351729e6e
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_Replica.idl
@@ -0,0 +1,51 @@
+//$Id$
+// FT_replica.idl
+#ifndef _FT_REPLICA_IDL_
+#define _FT_REPLICA_IDL_
+
+// The OMG FT file has been split into sevaral pieces. This is one of them.
+// It contains the interfaces that a typical FT Replica (replicated servant)
+// will need to implement.
+
+#include "FT_CORBA.idl" // common FT definitions
+
+#pragma prefix "omg.org"
+
+module FT
+{
+ // Specification of PullMonitorable Interface
+ // which Application Objects Inherit
+ interface PullMonitorable {
+ boolean is_alive();
+ };
+
+ // Specifications for Logging and Recovery
+ typedef sequence<octet> State;
+
+ exception NoStateAvailable {};
+ exception InvalidState {};
+
+ exception NoUpdateAvailable {};
+ exception InvalidUpdate {};
+
+ // Specification of Checkpointable Interface
+ // which Updateable and Application Objects Inherit
+ interface Checkpointable {
+ State get_state()
+ raises(NoStateAvailable);
+ void set_state(in State s)
+ raises(InvalidState);
+ };
+
+ // Specification of Updateable Interface
+ // which Application Objects Inherit
+ interface Updateable : Checkpointable
+ {
+ State get_update()
+ raises(NoUpdateAvailable);
+ void set_update(in State s)
+ raises(InvalidUpdate);
+ };
+};
+
+#endif // for #ifndef _FT_REPLICA_IDL_
diff --git a/TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl b/TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl
new file mode 100644
index 00000000000..8f36d6b135a
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl
@@ -0,0 +1,75 @@
+/* -*- IDL -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicationManager.idl
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This was original part of the OMG FT.idl file
+ *
+ * @author Curt Hibbs <hibbs_c@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef _FT_REPLICATION_MANAGER_IDL_
+#define _FT_REPLICATION_MANAGER_IDL_
+
+#include "orbsvcs/PortableGroup.idl"
+#include "orbsvcs/FT_CORBA.idl"
+#include "orbsvcs/FT_Replica.idl"
+#include "orbsvcs/FT_Notifier.idl"
+
+#pragma prefix "omg.org"
+
+module FT
+{
+ exception InterfaceNotFound {};
+
+ // Specification of ReplicationManager Interface
+ interface ReplicationManager : ::PortableGroup::PropertyManager,
+ FTObjectGroupManager,
+ ::PortableGroup::GenericFactory
+ {
+
+ /**
+ * Registers the Fault Notifier with the Replication Manager.
+ * @param fault_notifier where to send the fault information.
+ */
+ void register_fault_notifier(in FaultNotifier fault_notifier);
+
+ /**
+ * Returns the reference of the Fault Notifier.
+ * @returns the reference of the Fault Notifier.
+ */
+ FaultNotifier get_fault_notifier()
+ raises (InterfaceNotFound);
+
+ /**
+ * Find a registry for factories that create fault tolerant replicas.
+ *
+ * TAO-specific operation
+ *
+ * Factories in this registry will be used by the
+ * ReplicationManager's implementation of
+ * GenericFactory::create_object when infrastructure controlled
+ * membership is specified.
+ *
+ * The factory registry may also be used by applications that
+ * control their own membership but don't wish to address the
+ * issue of finding factories for replicas.
+ *
+ * @param selection_criteria to be used to choose among alternate registries (future enhancement.)
+ * @returns an implementation of FactoryRegistry
+ */
+ ::PortableGroup::FactoryRegistry get_factory_registry (in ::PortableGroup::Criteria selection_criteria);
+
+ /**
+ * TAO-specific shutdown operation.
+ */
+ oneway void shutdown ();
+ };
+};
+
+
+#endif // _FT_REPLICATION_MANAGER_IDL_
diff --git a/TAO/orbsvcs/orbsvcs/FT_ServerORB.bor b/TAO/orbsvcs/orbsvcs/FT_ServerORB.bor
new file mode 100644
index 00000000000..2fabacb514d
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_ServerORB.bor
@@ -0,0 +1,81 @@
+#
+# $Id$
+#
+# Makefile for building the TAO_FT_ServerORB library with Borland C++ Builder
+
+!ifndef MINIMUM_CORBA
+NAME = TAO_FT_ServerORB
+!else
+!undef NAME
+!endif
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe \
+ -I..\.. -I.. -Ge 1 -GC -Wb,export_macro=TAO_FT_ServerORB_Export \
+ -Wb,export_include=FaultTolerance/FT_ServerORB_export.h \
+ -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+
+IDLFILES = \
+ $(IDLDIR)\PortableGroup_Simple_DS.idl
+
+OBJFILES = \
+ $(OBJDIR)\PortableGroup_Simple_DSC.obj \
+ $(OBJDIR)\FT_ServerORBInitializer.obj \
+ $(OBJDIR)\FT_ServerPolicyFactory.obj \
+ $(OBJDIR)\FT_ServerPolicy_i.obj \
+ $(OBJDIR)\FT_ServerRequest_Interceptor.obj \
+ $(OBJDIR)\FT_ServerService_Activate.obj
+
+LFLAGS = \
+ -j..\..\..\lib\$(CONFIG_SUBDIR) -j..\..\..\lib \
+ -L..\..\..\lib\$(CONFIG_SUBDIR) -L..\..\..\lib \
+ -j$(CORE_BINDIR) \
+ -L$(CORE_BINDIR)
+
+LIBFILES = \
+ TAO_FTORB_Utils$(LIB_DECORATOR).lib \
+ TAO_PortableServer$(LIB_DECORATOR).lib \
+ TAO_Messaging$(LIB_DECORATOR).lib \
+ TAO_PortableGroup$(LIB_DECORATOR).lib \
+ TAO_IORInterceptor$(LIB_DECORATOR).lib \
+ TAO_ObjRefTemplate$(LIB_DECORATOR).lib \
+ TAO_Valuetype$(LIB_DECORATOR).lib \
+ TAO_IORManip$(LIB_DECORATOR).lib \
+ TAO$(LIB_DECORATOR).lib \
+ ACE$(LIB_DECORATOR).lib \
+
+
+!ifdef STATIC
+LIB_FLAGS = -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+DLL_FLAGS =
+!else
+LIB_FLAGS =
+DLL_FLAGS = -DTAO_FT_SERVERORB_BUILD_DLL
+!endif
+
+CFLAGS = \
+ -I..\..\orbsvcs\orbsvcs \
+ -I..\..\orbsvcs \
+ -I..\.. \
+ -I..\..\tao \
+ -I..\..\.. \
+ $(LIB_FLAGS) \
+ $(DLL_FLAGS)
+
+CPPDIR = .;FaultTolerance
+
+IDLDIR = .
+
+INCDIR_NAME = orbsvcs
+
+all: idl_src_files
+
+!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
+
+#
+# IDL Build rules
+#
+
+idl_src_files: $(IDLFILES:.idl=C.cpp) $(IDLFILES:.idl=S.cpp)
+
+$(IDLDIR)\PortableGroup_Simple_DSC.cpp $(IDLDIR)\PortableGroup_Simple_DSS.cpp: $(IDLDIR)\PortableGroup_Simple_DS.idl
+ $(TAO_IDL) -Wb,skel_export_include=tao\PortableServer\PolicyS.h -Gv -I..\.. -I..\..\orbsvcs -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $**
diff --git a/TAO/orbsvcs/orbsvcs/FT_ServerORB.dsp b/TAO/orbsvcs/orbsvcs/FT_ServerORB.dsp
new file mode 100644
index 00000000000..71f56286aab
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_ServerORB.dsp
@@ -0,0 +1,162 @@
+# Microsoft Developer Studio Project File - Name="FT_ServerORB" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=FT_ServerORB - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FT_ServerORB.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FT_ServerORB.mak" CFG="FT_ServerORB - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FT_ServerORB - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "FT_ServerORB - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "FT_ServerORB - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\FT_ServerORB"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\orbsvcs\orbsvcs" /I "..\..\orbsvcs" /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_FT_SERVERORB_BUILD_DLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\orbsvcs\orbsvcs" /i "..\..\orbsvcs" /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o"..\..\..\lib\TAO_FT_ServerORB.bsc"
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 TAO_FTORB_Utils.lib TAO_Messaging.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Valuetype.lib TAO_IORManip.lib TAO.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\lib\TAO_FT_ServerORB.pdb" /machine:I386 /out:"..\..\..\bin\Release\TAO_FT_ServerORB.dll" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\orbsvcs\orbsvcs" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\IORManipulation" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "FT_ServerORB - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\FT_ServerORB"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\..\orbsvcs\orbsvcs" /I "..\..\orbsvcs" /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_FT_SERVERORB_BUILD_DLL" /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\orbsvcs\orbsvcs" /i "..\..\orbsvcs" /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo /o"..\..\..\lib\TAO_FT_ServerORB.bsc"
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 TAO_FTORB_Utilsd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Valuetyped.lib TAO_IORManipd.lib TAOd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\lib\TAO_FT_ServerORBd.pdb" /debug /machine:I386 /out:"..\..\..\bin\TAO_FT_ServerORBd.dll" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\orbsvcs\orbsvcs" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\IORManipulation" /libpath:"..\..\tao\Messaging" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "FT_ServerORB - Win32 Release"
+# Name "FT_ServerORB - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerORBInitializer.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerPolicy_i.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerPolicyFactory.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerRequest_Interceptor.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerService_Activate.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerORBInitializer.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerPolicy_i.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerPolicyFactory.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerRequest_Interceptor.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerService_Activate.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\FaultTolerance\FT_ServerPolicy_i.inl"
+# End Source File
+# Begin Source File
+
+SOURCE=.\PortableGroup_Simple_DSC.i
+# End Source File
+# End Group
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\Channel_Clients_T.cpp"
+# PROP Exclude_From_Build 1
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h
new file mode 100644
index 00000000000..37769e226ad
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h
@@ -0,0 +1,60 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl TAO_FT_ClientORB
+// ------------------------------
+#ifndef TAO_FT_CLIENTORB_EXPORT_H
+#define TAO_FT_CLIENTORB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_FT_CLIENTORB_HAS_DLL)
+# define TAO_FT_CLIENTORB_HAS_DLL 0
+# endif /* ! TAO_FT_CLIENTORB_HAS_DLL */
+#else
+# if !defined (TAO_FT_CLIENTORB_HAS_DLL)
+# define TAO_FT_CLIENTORB_HAS_DLL 1
+# endif /* ! TAO_FT_CLIENTORB_HAS_DLL */
+#endif
+
+#if defined (TAO_FT_CLIENTORB_HAS_DLL) && (TAO_FT_CLIENTORB_HAS_DLL == 1)
+# if defined (TAO_FT_CLIENTORB_BUILD_DLL)
+# define TAO_FT_ClientORB_Export ACE_Proper_Export_Flag
+# define TAO_FT_CLIENTORB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_FT_CLIENTORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_FT_CLIENTORB_BUILD_DLL */
+# define TAO_FT_ClientORB_Export ACE_Proper_Import_Flag
+# define TAO_FT_CLIENTORB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_FT_CLIENTORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_FT_CLIENTORB_BUILD_DLL */
+#else /* TAO_FT_CLIENTORB_HAS_DLL == 1 */
+# define TAO_FT_ClientORB_Export
+# define TAO_FT_CLIENTORB_SINGLETON_DECLARATION(T)
+# define TAO_FT_CLIENTORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_FT_CLIENTORB_HAS_DLL == 1 */
+
+// Set TAO_FT_CLIENTORB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_FT_CLIENTORB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_FT_CLIENTORB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_FT_CLIENTORB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_FT_CLIENTORB_NTRACE */
+
+#if (TAO_FT_CLIENTORB_NTRACE == 1)
+# define TAO_FT_CLIENTORB_TRACE(X)
+#else /* (TAO_FT_CLIENTORB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_FT_CLIENTORB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_FT_CLIENTORB_NTRACE == 1) */
+
+#endif /* TAO_FT_CLIENTORB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.i b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.i
new file mode 100644
index 00000000000..43e3c57df8d
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.i
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+//
+//$Id$
+
+ACE_INLINE
+TAO_FT_IOGR_Property::TAO_FT_IOGR_Property (
+ FT::TagFTGroupTaggedComponent &ft_group)
+ :ft_group_tagged_component_ (&ft_group)
+{
+}
+
+ACE_INLINE
+TAO_FT_IOGR_Property::TAO_FT_IOGR_Property (void)
+ :ft_group_tagged_component_ (0)
+{
+}
+
+ACE_INLINE
+TAO_FT_IOGR_Property::~TAO_FT_IOGR_Property (void)
+{
+}
+
+ACE_INLINE CORBA::Boolean
+TAO_FT_IOGR_Property::reset_tagged_components (
+ FT::TagFTGroupTaggedComponent &ft_group)
+{
+ this->ft_group_tagged_component_ =
+ &ft_group;
+
+ return 1;
+}
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp
new file mode 100644
index 00000000000..fb692cfe234
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp
@@ -0,0 +1,139 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "FT_ORBInitializer.h"
+#include "FT_PolicyFactory.h"
+#include "FT_ClientRequest_Interceptor.h"
+#include "FT_ServerRequest_Interceptor.h"
+#include "orbsvcs/FT_CORBA_ORBC.h"
+#include "tao/Exception.h"
+
+
+ACE_RCSID (FaultTolerance,
+ FT_ORBInitializer,
+ "$Id$")
+void
+TAO_FT_ORBInitializer::pre_init (
+ PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+
+}
+
+void
+TAO_FT_ORBInitializer::post_init (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->register_policy_factories (info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->register_server_request_interceptors (info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->register_client_request_interceptors (info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+
+
+}
+
+void
+TAO_FT_ORBInitializer::register_policy_factories (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Register the FTCORBA policy factories.
+
+ PortableInterceptor::PolicyFactory_ptr temp_factory =
+ PortableInterceptor::PolicyFactory::_nil ();
+ PortableInterceptor::PolicyFactory_var policy_factory;
+
+ // This policy factory is used for all FTCORBA related policies.
+
+ ACE_NEW_THROW_EX (temp_factory,
+ TAO_FT_PolicyFactory,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK;
+
+ policy_factory = temp_factory;
+
+ // Bind the same policy factory to all RTCORBA related policy
+ // types since a single policy factory is used to create each of
+ // the different types of RTCORBA policies.
+
+ CORBA::PolicyType type = FT::REQUEST_DURATION_POLICY;
+ info->register_policy_factory (type,
+ policy_factory.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ type = FT::HEARTBEAT_POLICY;
+ info->register_policy_factory (type,
+ policy_factory.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ type = FT::HEARTBEAT_ENABLED_POLICY;
+ info->register_policy_factory (type,
+ policy_factory.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Transfer ownership of the policy factory to the registry.
+ (void) policy_factory._retn ();
+}
+
+void
+TAO_FT_ORBInitializer::register_server_request_interceptors (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableInterceptor::ServerRequestInterceptor_ptr sri =
+ PortableInterceptor::ServerRequestInterceptor::_nil ();
+
+ ACE_NEW_THROW_EX (sri,
+ TAO::FT_ServerRequest_Interceptor,
+ CORBA::NO_MEMORY ());
+
+ PortableInterceptor::ServerRequestInterceptor_var
+ server_interceptor = sri;
+
+ info->add_server_request_interceptor (server_interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+
+void
+TAO_FT_ORBInitializer::register_client_request_interceptors (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableInterceptor::ClientRequestInterceptor_ptr cri =
+ PortableInterceptor::ClientRequestInterceptor::_nil ();
+
+ ACE_NEW_THROW_EX (cri,
+ TAO::FT_ClientRequest_Interceptor,
+ CORBA::NO_MEMORY ());
+
+ PortableInterceptor::ClientRequestInterceptor_var
+ client_interceptor = cri;
+
+ info->add_client_request_interceptor (client_interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h
new file mode 100644
index 00000000000..7381aa86228
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FT_ORBInitializer.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+#ifndef TAO_FT_ORB_INITIALIZER_H
+#define TAO_FT_ORB_INITIALIZER_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/corbafwd.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableInterceptorC.h"
+#include "tao/LocalObject.h"
+#include "fault_tol_export.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+/// RTCORBA ORB initializer.
+class TAO_FT_Export TAO_FT_ORBInitializer :
+ public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+
+ virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+
+ /// Register FTCORBA policy factories.
+ void register_policy_factories (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Register the necessary interceptors.
+ void register_server_request_interceptors (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void register_client_request_interceptors (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_FT_ORB_INITIALIZER_H */
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h
new file mode 100644
index 00000000000..f492009ae85
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h
@@ -0,0 +1,60 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl TAO_FT_ORB_Utils
+// ------------------------------
+#ifndef TAO_FT_ORB_UTILS_EXPORT_H
+#define TAO_FT_ORB_UTILS_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_FT_ORB_UTILS_HAS_DLL)
+# define TAO_FT_ORB_UTILS_HAS_DLL 0
+# endif /* ! TAO_FT_ORB_UTILS_HAS_DLL */
+#else
+# if !defined (TAO_FT_ORB_UTILS_HAS_DLL)
+# define TAO_FT_ORB_UTILS_HAS_DLL 1
+# endif /* ! TAO_FT_ORB_UTILS_HAS_DLL */
+#endif
+
+#if defined (TAO_FT_ORB_UTILS_HAS_DLL) && (TAO_FT_ORB_UTILS_HAS_DLL == 1)
+# if defined (TAO_FT_ORB_UTILS_BUILD_DLL)
+# define TAO_FT_ORB_Utils_Export ACE_Proper_Export_Flag
+# define TAO_FT_ORB_UTILS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_FT_ORB_UTILS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_FT_ORB_UTILS_BUILD_DLL */
+# define TAO_FT_ORB_Utils_Export ACE_Proper_Import_Flag
+# define TAO_FT_ORB_UTILS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_FT_ORB_UTILS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_FT_ORB_UTILS_BUILD_DLL */
+#else /* TAO_FT_ORB_UTILS_HAS_DLL == 1 */
+# define TAO_FT_ORB_Utils_Export
+# define TAO_FT_ORB_UTILS_SINGLETON_DECLARATION(T)
+# define TAO_FT_ORB_UTILS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_FT_ORB_UTILS_HAS_DLL == 1 */
+
+// Set TAO_FT_ORB_UTILS_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_FT_ORB_UTILS_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_FT_ORB_UTILS_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_FT_ORB_UTILS_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_FT_ORB_UTILS_NTRACE */
+
+#if (TAO_FT_ORB_UTILS_NTRACE == 1)
+# define TAO_FT_ORB_UTILS_TRACE(X)
+#else /* (TAO_FT_ORB_UTILS_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_FT_ORB_UTILS_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_FT_ORB_UTILS_NTRACE == 1) */
+
+#endif /* TAO_FT_ORB_UTILS_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp
new file mode 100644
index 00000000000..2072fe7bbd1
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "FT_PolicyFactory.h"
+#include "FT_Policy_i.h"
+#include "orbsvcs/FT_CORBA_ORBC.h"
+#include "tao/PolicyC.h"
+
+
+ACE_RCSID (FaultTolerance, FT_PolicyFactory, "$Id$")
+
+
+
+
+CORBA::Policy_ptr
+TAO_FT_PolicyFactory::create_policy (
+ CORBA::PolicyType type,
+ const CORBA::Any &val
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::PolicyError))
+{
+
+ if (type == FT::REQUEST_DURATION_POLICY)
+ return TAO_FT_Request_Duration_Policy::create (val
+ ACE_ENV_ARG_PARAMETER);
+ else if (type == FT::HEARTBEAT_POLICY)
+ return TAO_FT_Heart_Beat_Policy::create (val
+ ACE_ENV_ARG_PARAMETER);
+ else if (type == FT::HEARTBEAT_ENABLED_POLICY)
+ return TAO_FT_Heart_Beat_Enabled_Policy::create (val
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE),
+ CORBA::Policy::_nil ());
+}
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h
new file mode 100644
index 00000000000..584960de430
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FT_PolicyFactory.h
+ *
+ * $Id$
+ *
+ * @author Bala Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_FT_POLICY_FACTORY_H
+#define TAO_FT_POLICY_FACTORY_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/corbafwd.h"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableInterceptorC.h"
+#include "tao/LocalObject.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#include "fault_tol_export.h"
+
+/// Policy factory for all FTCORBA related policies.
+class TAO_FT_Export TAO_FT_PolicyFactory :
+ public PortableInterceptor::PolicyFactory,
+ public TAO_Local_RefCounted_Object
+{
+public:
+
+ virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::PolicyError));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_FT_POLICY_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp
new file mode 100644
index 00000000000..59b35423f5a
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp
@@ -0,0 +1,255 @@
+//$Id$
+#include "FT_Policy_i.h"
+
+#include "tao/debug.h"
+
+#if !defined (__ACE_INLINE__)
+#include "FT_Policy_i.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(FaultTolerance, FT_Policy_i, "$Id$")
+
+TimeBase::TimeT
+TAO_FT_Request_Duration_Policy::request_duration_policy_value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->request_duration_;
+}
+
+CORBA::PolicyType
+TAO_FT_Request_Duration_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return FT::REQUEST_DURATION_POLICY;
+}
+
+CORBA::Policy_ptr
+TAO_FT_Request_Duration_Policy::create (const CORBA::Any& val
+ ACE_ENV_ARG_DECL)
+{
+ TimeBase::TimeT value;
+ if ((val >>= value) == 0)
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE),
+ CORBA::Policy::_nil ());
+
+ TAO_FT_Request_Duration_Policy *tmp;
+ ACE_NEW_THROW_EX (tmp,
+ TAO_FT_Request_Duration_Policy (value),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+}
+
+TAO_FT_Request_Duration_Policy *
+TAO_FT_Request_Duration_Policy::clone (void) const
+{
+ TAO_FT_Request_Duration_Policy *copy = 0;
+ ACE_NEW_RETURN (copy,
+ TAO_FT_Request_Duration_Policy (*this),
+ 0);
+ return copy;
+}
+
+CORBA::Policy_ptr
+TAO_FT_Request_Duration_Policy::copy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_FT_Request_Duration_Policy* tmp;
+ ACE_NEW_THROW_EX (tmp, TAO_FT_Request_Duration_Policy (*this),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+}
+
+void
+TAO_FT_Request_Duration_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+TAO_FT_Request_Duration_Policy::set_time_value (ACE_Time_Value &time_value)
+{
+ TimeBase::TimeT t = this->request_duration_;
+ TimeBase::TimeT seconds = t / 10000000u;
+ TimeBase::TimeT microseconds = (t % 10000000u) / 10;
+ time_value.set (ACE_U64_TO_U32 (seconds),
+ ACE_U64_TO_U32 (microseconds));
+
+ if (TAO_debug_level > 0)
+ {
+ CORBA::ULong msecs =
+ ACE_static_cast(CORBA::ULong, microseconds / 1000);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) Timeout is <%u>\n"),
+ msecs));
+ }
+}
+
+
+/*****************************************************************/
+
+FT::HeartbeatPolicyValue
+TAO_FT_Heart_Beat_Policy::heartbeat_policy_value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ FT::HeartbeatPolicyValue val;
+ val.heartbeat = this->heartbeat_;
+ val.heartbeat_interval = this->heartbeat_interval_;
+ val.heartbeat_timeout = this->heartbeat_timeout_;
+
+ return val;
+}
+
+
+CORBA::Policy_ptr
+TAO_FT_Heart_Beat_Policy::create (const CORBA::Any& val
+ ACE_ENV_ARG_DECL)
+{
+ FT::HeartbeatPolicyValue *value;
+ if ((val >>= value) == 0)
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE),
+ CORBA::Policy::_nil ());
+
+ TAO_FT_Heart_Beat_Policy *tmp;
+ ACE_NEW_THROW_EX (tmp,
+ TAO_FT_Heart_Beat_Policy (value->heartbeat,
+ value->heartbeat_interval,
+ value->heartbeat_timeout),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+}
+
+
+CORBA::PolicyType
+TAO_FT_Heart_Beat_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return FT::HEARTBEAT_POLICY;
+}
+
+
+CORBA::Policy_ptr
+TAO_FT_Heart_Beat_Policy::copy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_FT_Heart_Beat_Policy * tmp;
+ ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Policy (*this),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+}
+
+TAO_FT_Heart_Beat_Policy *
+TAO_FT_Heart_Beat_Policy::clone (void) const
+{
+ TAO_FT_Heart_Beat_Policy *copy = 0;
+ ACE_NEW_RETURN (copy,
+ TAO_FT_Heart_Beat_Policy (*this),
+ 0);
+ return copy;
+}
+
+void
+TAO_FT_Heart_Beat_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+TAO_FT_Heart_Beat_Policy::set_time_value (ACE_Time_Value &time_value,
+ const TimeBase::TimeT &timebase)
+{
+ TimeBase::TimeT t = timebase;
+ TimeBase::TimeT seconds = t / 10000000u;
+ TimeBase::TimeT microseconds = (t % 10000000u) / 10;
+ time_value.set (ACE_U64_TO_U32 (seconds),
+ ACE_U64_TO_U32 (microseconds));
+
+ if (TAO_debug_level > 0)
+ {
+ CORBA::ULong msecs =
+ ACE_static_cast(CORBA::ULong, microseconds / 1000);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) Timeout is <%u>\n"),
+ msecs));
+ }
+}
+
+/******************************************************************/
+
+CORBA::Boolean
+TAO_FT_Heart_Beat_Enabled_Policy::heartbeat_enabled_policy_value (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->heartbeat_enabled_value_;
+}
+
+
+CORBA::Policy_ptr
+TAO_FT_Heart_Beat_Enabled_Policy::create (const CORBA::Any& val
+ ACE_ENV_ARG_DECL)
+{
+ CORBA::Boolean value;
+
+ if ((val >>= CORBA::Any::to_boolean (value)) == 0)
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE),
+ CORBA::Policy::_nil ());
+
+ TAO_FT_Heart_Beat_Enabled_Policy *tmp;
+ ACE_NEW_THROW_EX (tmp,
+ TAO_FT_Heart_Beat_Enabled_Policy (value),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+}
+
+CORBA::PolicyType
+TAO_FT_Heart_Beat_Enabled_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return FT::HEARTBEAT_ENABLED_POLICY;
+}
+
+
+CORBA::Policy_ptr
+TAO_FT_Heart_Beat_Enabled_Policy::copy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_FT_Heart_Beat_Enabled_Policy * tmp;
+ ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Enabled_Policy (*this),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+}
+
+TAO_FT_Heart_Beat_Enabled_Policy *
+TAO_FT_Heart_Beat_Enabled_Policy::clone (void) const
+{
+ TAO_FT_Heart_Beat_Enabled_Policy *copy = 0;
+ ACE_NEW_RETURN (copy,
+ TAO_FT_Heart_Beat_Enabled_Policy (*this),
+ 0);
+ return copy;
+}
+
+
+void
+TAO_FT_Heart_Beat_Enabled_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h
new file mode 100644
index 00000000000..74417f96e50
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h
@@ -0,0 +1,213 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_Policy_i.h
+ *
+ * $Id$
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_FT_POLICY_I_H
+#define TAO_FT_POLICY_I_H
+#include /**/ "ace/pre.h"
+
+#include "orbsvcs/FT_CORBA_ORBC.h"
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+/**
+ * @class TAO_FT_Request_Duration_Policy
+ *
+ * @brief FT::RequestDurationPolicy implementation
+ *
+ * This policy controls the request duration in the ORB. The
+ * semantics are like this. On the server side, the server should
+ * retain the details of the request from the client (and the
+ * reply sent to it too) atleast for the time period specified by
+ * this policy value. On the client side, the client uses this
+ * value to calculate the expiration_id in the RequestService
+ * context. The expiration_id is a sort of timeout for the client
+ * to keep trying to connect to server object groups under certain
+ * conditions.
+ */
+class TAO_FT_Export TAO_FT_Request_Duration_Policy
+ : public FT::RequestDurationPolicy,
+ public TAO_Local_RefCounted_Object
+{
+public:
+
+ /// Constructor.
+ TAO_FT_Request_Duration_Policy (const TimeBase::TimeT& relative_expiry);
+
+ /// Copy constructor.
+ TAO_FT_Request_Duration_Policy (const TAO_FT_Request_Duration_Policy &rhs);
+
+ /// Helper method for the implementation of
+ /// CORBA::ORB::create_policy.
+ static CORBA::Policy_ptr create (const CORBA::Any& val
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ /// Returns a copy of <this>.
+ virtual TAO_FT_Request_Duration_Policy *clone (void) const;
+
+ // = The FT::RequestDurationPolicy methods
+ virtual TimeBase::TimeT request_duration_policy_value (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::PolicyType policy_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Policy_ptr copy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Change the CORBA representation to the ACE representation.
+ void set_time_value (ACE_Time_Value &time_value);
+
+private:
+ /// The attribute
+ TimeBase::TimeT request_duration_;
+};
+
+
+/**
+ * @class TAO_FT_Heart_Beat_Policy
+ *
+ * @brief FT::HeartBeatPolicy
+ *
+ * If this policy is set, it enables the client ORB to send
+ * heartbeats to the server ORB over the open connections.
+ */
+class TAO_FT_Export TAO_FT_Heart_Beat_Policy
+ : public FT::HeartbeatPolicy,
+ public TAO_Local_RefCounted_Object
+{
+public:
+
+ /// Constructor.
+ TAO_FT_Heart_Beat_Policy (const CORBA::Boolean boolean,
+ const TimeBase::TimeT &interval,
+ const TimeBase::TimeT &timeout);
+
+ /// Copy constructor.
+ TAO_FT_Heart_Beat_Policy (const TAO_FT_Heart_Beat_Policy &rhs);
+
+ /// Helper method for the implementation of
+ /// CORBA::ORB::create_policy.
+ static CORBA::Policy_ptr create (const CORBA::Any& val
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ /// Returns a copy of <this>.
+ virtual TAO_FT_Heart_Beat_Policy *clone (void) const;
+
+ // = The FT::HeartBeatPolicy methods
+ virtual FT::HeartbeatPolicyValue heartbeat_policy_value (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::PolicyType policy_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Policy_ptr copy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Change the CORBA representation to the ACE representation.
+ void set_time_value (ACE_Time_Value &time_value,
+ const TimeBase::TimeT &timebase);
+
+private:
+
+ // The attributes
+ /// <heartbeat_> indicates whether heartbeating is enabled or not.
+ CORBA::Boolean heartbeat_;
+
+ /// Intervals in which heartbeat messages need to be sent
+ TimeBase::TimeT heartbeat_interval_;
+
+ /// The timeouts for the heartbeats
+ TimeBase::TimeT heartbeat_timeout_;
+};
+
+/**
+ * @class TAO_FT_Heart_Beat_Enabled_Policy
+ *
+ * @brief FT::HeartBeatEnabledPolicy
+ *
+ * If this policy is set, it enables the server ORB to set
+ * the TAG_FT_HEARTBEAT_ENABLED component in the IOP profile of
+ * the IOR that it exposes
+ */
+class TAO_FT_Export TAO_FT_Heart_Beat_Enabled_Policy
+ : public FT::HeartbeatEnabledPolicy,
+ public TAO_Local_RefCounted_Object
+{
+public:
+
+ /// Constructor.
+ TAO_FT_Heart_Beat_Enabled_Policy (const CORBA::Boolean boolean);
+
+ /// Copy constructor.
+ TAO_FT_Heart_Beat_Enabled_Policy (
+ const TAO_FT_Heart_Beat_Enabled_Policy &rhs);
+
+ static CORBA::Policy_ptr create (const CORBA::Any& val
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ // Helper method for the implementation of
+ // CORBA::ORB::create_policy.
+
+ /// Returns a copy of <this>.
+ virtual TAO_FT_Heart_Beat_Enabled_Policy *clone (void) const;
+
+ // = The FT::HeartBeatPolicy methods
+ virtual CORBA::Boolean heartbeat_enabled_policy_value (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::PolicyType policy_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Policy_ptr copy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+
+ /// indicates whether heartbeating is enabled or not.
+ CORBA::Boolean heartbeat_enabled_value_;
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__ACE_INLINE__)
+#include "FT_Policy_i.inl"
+#endif /* __ACE_INLINE__ */
+
+
+#include /**/ "ace/post.h"
+#endif /* TAO_FT_POLICY_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.i b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.i
new file mode 100644
index 00000000000..4caf44a0faf
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.i
@@ -0,0 +1,70 @@
+//$Id$
+ACE_INLINE
+TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy (
+ const TimeBase::TimeT &duration
+ )
+ : request_duration_ (duration)
+{
+}
+
+ACE_INLINE
+TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy (
+ const TAO_FT_Request_Duration_Policy &rhs
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (),
+ ACE_NESTED_CLASS (CORBA, Policy) (),
+ ACE_NESTED_CLASS (CORBA, LocalObject) (),
+ FT::RequestDurationPolicy (),
+ TAO_Local_RefCounted_Object (),
+ request_duration_ (rhs.request_duration_)
+{
+}
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy (
+ const CORBA::Boolean heartbeat,
+ const TimeBase::TimeT &interval,
+ const TimeBase::TimeT &timeout
+ )
+ : heartbeat_ (heartbeat),
+ heartbeat_interval_ (interval),
+ heartbeat_timeout_ (timeout)
+{
+}
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy (
+ const TAO_FT_Heart_Beat_Policy &rhs
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (),
+ ACE_NESTED_CLASS (CORBA, Policy) (),
+ ACE_NESTED_CLASS (CORBA, LocalObject) (),
+ FT::HeartbeatPolicy (),
+ TAO_Local_RefCounted_Object (),
+ heartbeat_ (rhs.heartbeat_),
+ heartbeat_interval_ (rhs.heartbeat_interval_),
+ heartbeat_timeout_ (rhs.heartbeat_timeout_)
+{
+}
+
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy (
+ const CORBA::Boolean heartbeat
+ )
+ : heartbeat_enabled_value_ (heartbeat)
+{
+}
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy (
+ const TAO_FT_Heart_Beat_Enabled_Policy &rhs
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (),
+ ACE_NESTED_CLASS (CORBA, Policy) (),
+ ACE_NESTED_CLASS (CORBA, LocalObject) (),
+ FT::HeartbeatEnabledPolicy (),
+ TAO_Local_RefCounted_Object (),
+ heartbeat_enabled_value_ (rhs.heartbeat_enabled_value_)
+{
+}
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl
new file mode 100644
index 00000000000..579d6c3467b
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl
@@ -0,0 +1,73 @@
+//$Id$
+ACE_INLINE
+TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy (const TimeBase::TimeT &duration)
+ :ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , TAO_Local_RefCounted_Object ()
+ , request_duration_ (duration)
+{
+}
+
+ACE_INLINE
+TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy (const TAO_FT_Request_Duration_Policy &rhs)
+ :ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , FT::RequestDurationPolicy ()
+ , TAO_Local_RefCounted_Object ()
+ , request_duration_ (rhs.request_duration_)
+{
+}
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy (
+ const CORBA::Boolean heartbeat,
+ const TimeBase::TimeT &interval,
+ const TimeBase::TimeT &timeout)
+ : ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , TAO_Local_RefCounted_Object ()
+ , heartbeat_ (heartbeat)
+ , heartbeat_interval_ (interval)
+ , heartbeat_timeout_ (timeout)
+{
+}
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy (const TAO_FT_Heart_Beat_Policy &rhs)
+ : ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , FT::HeartbeatPolicy ()
+ , TAO_Local_RefCounted_Object ()
+ , heartbeat_ (rhs.heartbeat_)
+ , heartbeat_interval_ (rhs.heartbeat_interval_)
+ , heartbeat_timeout_ (rhs.heartbeat_timeout_)
+{
+}
+
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy (
+ const CORBA::Boolean heartbeat)
+ : ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , TAO_Local_RefCounted_Object ()
+ , heartbeat_enabled_value_ (heartbeat)
+{
+}
+
+ACE_INLINE
+TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy (
+ const TAO_FT_Heart_Beat_Enabled_Policy &rhs)
+ : ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , FT::HeartbeatEnabledPolicy ()
+ , TAO_Local_RefCounted_Object ()
+ , heartbeat_enabled_value_ (rhs.heartbeat_enabled_value_)
+{
+}
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h
new file mode 100644
index 00000000000..565f0b73165
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h
@@ -0,0 +1,60 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl TAO_FT_ServerORB
+// ------------------------------
+#ifndef TAO_FT_SERVERORB_EXPORT_H
+#define TAO_FT_SERVERORB_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_FT_SERVERORB_HAS_DLL)
+# define TAO_FT_SERVERORB_HAS_DLL 0
+# endif /* ! TAO_FT_SERVERORB_HAS_DLL */
+#else
+# if !defined (TAO_FT_SERVERORB_HAS_DLL)
+# define TAO_FT_SERVERORB_HAS_DLL 1
+# endif /* ! TAO_FT_SERVERORB_HAS_DLL */
+#endif
+
+#if defined (TAO_FT_SERVERORB_HAS_DLL) && (TAO_FT_SERVERORB_HAS_DLL == 1)
+# if defined (TAO_FT_SERVERORB_BUILD_DLL)
+# define TAO_FT_ServerORB_Export ACE_Proper_Export_Flag
+# define TAO_FT_SERVERORB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_FT_SERVERORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_FT_SERVERORB_BUILD_DLL */
+# define TAO_FT_ServerORB_Export ACE_Proper_Import_Flag
+# define TAO_FT_SERVERORB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_FT_SERVERORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_FT_SERVERORB_BUILD_DLL */
+#else /* TAO_FT_SERVERORB_HAS_DLL == 1 */
+# define TAO_FT_ServerORB_Export
+# define TAO_FT_SERVERORB_SINGLETON_DECLARATION(T)
+# define TAO_FT_SERVERORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_FT_SERVERORB_HAS_DLL == 1 */
+
+// Set TAO_FT_SERVERORB_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_FT_SERVERORB_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_FT_SERVERORB_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_FT_SERVERORB_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_FT_SERVERORB_NTRACE */
+
+#if (TAO_FT_SERVERORB_NTRACE == 1)
+# define TAO_FT_SERVERORB_TRACE(X)
+#else /* (TAO_FT_SERVERORB_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_FT_SERVERORB_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_FT_SERVERORB_NTRACE == 1) */
+
+#endif /* TAO_FT_SERVERORB_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp
new file mode 100644
index 00000000000..f64ad373bb9
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp
@@ -0,0 +1,82 @@
+#include "FT_Service_Activate.h"
+#include "FT_Service_Callbacks.h"
+#include "FT_ORBInitializer.h"
+#include "FT_Endpoint_Selector_Factory.h"
+#include "tao/ORB_Core.h"
+#include "tao/Service_Callbacks.h"
+#include "ace/Dynamic_Service.h"
+
+ACE_RCSID(FaultTolerance, FT_Service_Activate, "$Id$")
+
+static bool initialized = false;
+
+TAO_FT_Service_Activate::TAO_FT_Service_Activate (void)
+{
+}
+
+TAO_FT_Service_Activate::~TAO_FT_Service_Activate (void)
+{
+}
+
+
+TAO_Service_Callbacks *
+TAO_FT_Service_Activate::activate_services (TAO_ORB_Core *orb_core)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_FT_Service_Callbacks *ft_service_callback = 0;
+
+ // Construct service callback object
+ ACE_NEW_RETURN (ft_service_callback,
+ TAO_FT_Service_Callbacks (orb_core),
+ 0);
+
+
+ return ft_service_callback;
+}
+
+
+int
+TAO_FT_Service_Activate::Initializer (void)
+{
+ if (initialized == false)
+ {
+ ACE_Service_Config::static_svcs ()->
+ insert (&ace_svc_desc_TAO_FT_Service_Activate);
+
+ PortableInterceptor::ORBInitializer_ptr temp_orb_initializer =
+ PortableInterceptor::ORBInitializer::_nil ();
+ PortableInterceptor::ORBInitializer_var orb_initializer;
+
+ // Register the RTCORBA ORBInitializer.
+ ACE_NEW_RETURN (temp_orb_initializer,
+ TAO_FT_ORBInitializer,
+ -1);
+
+ orb_initializer = temp_orb_initializer;
+
+ PortableInterceptor::register_orb_initializer (orb_initializer.in ());
+
+ // Set the name of the endpoint selector factory
+ TAO_ORB_Core::set_endpoint_selector_factory ("FT_Endpoint_Selector_Factory");
+ ACE_Service_Config::process_directive (ace_svc_desc_TAO_FT_Endpoint_Selector_Factory);
+
+ initialized = true;
+ }
+
+ return 0;
+}
+
+ACE_FACTORY_DEFINE (TAO_FT,TAO_FT_Service_Activate)
+
+ACE_STATIC_SVC_DEFINE (TAO_FT_Service_Activate,
+ ACE_TEXT ("FT_Service_Activate"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TAO_FT_Service_Activate),
+ ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
+ 0)
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Dynamic_Service<TAO_FT_Service_Activate>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Dynamic_Service<TAO_FT_Service_Activate>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i
new file mode 100644
index 00000000000..ca0908bbcf6
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i
@@ -0,0 +1 @@
+//$Id$
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl
new file mode 100644
index 00000000000..d9e0ffbb001
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl
@@ -0,0 +1,66 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Dynamic_Bitset.inl
+ *
+ * $Id$
+ *
+ * @author Huang-Ming Huang <hh1@cse.wustl.edu>
+ */
+//=============================================================================
+
+ACE_INLINE
+Dynamic_Bitset::~Dynamic_Bitset()
+{
+ delete[] buffer_;
+}
+
+ACE_INLINE
+Dynamic_Bitset::Dynamic_Bitset(const Dynamic_Bitset& other)
+ : buffer_(new block[other.buffer_size_])
+ , buffer_size_(other.buffer_size_)
+ , bit_size_(other.bit_size_)
+{
+ memcpy(buffer_, other.buffer_, buffer_size_*BYTES_PER_BLOCK);
+}
+
+ACE_INLINE
+Dynamic_Bitset operator & (const Dynamic_Bitset& lhs, const Dynamic_Bitset& rhs)
+{
+ Dynamic_Bitset tmp(lhs);
+ tmp &= rhs;
+ return tmp;
+}
+
+ACE_INLINE
+Dynamic_Bitset::reference::reference(Dynamic_Bitset* bitset, Dynamic_Bitset::reference::size_type bit)
+: bitset_(bitset), bit_(bit)
+{
+}
+
+ACE_INLINE
+Dynamic_Bitset::reference Dynamic_Bitset::reference::operator = (bool val)
+{
+ bitset_->set(bit_, val);
+ return *this;
+}
+
+ACE_INLINE
+Dynamic_Bitset::reference::operator bool () const
+{
+ return bitset_->test(bit_);
+}
+
+ACE_INLINE
+Dynamic_Bitset::size_type Dynamic_Bitset::size() const
+{
+ return bit_size_;
+}
+
+ACE_INLINE
+Dynamic_Bitset::reference Dynamic_Bitset::operator[](Dynamic_Bitset::size_type bit)
+{
+ return Dynamic_Bitset::reference(this, bit);
+}
+
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp
new file mode 100644
index 00000000000..cdc19b3d935
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp
@@ -0,0 +1,760 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "PG_FactoryRegistry.h"
+
+#include <ace/Get_Opt.h>
+#include <ace/Vector_T.h>
+#include <ace/OS_NS_stdio.h>
+#include <tao/debug.h>
+#include <tao/ORB_Constants.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include "PG_Operators.h" // operator == on CosNaming::Name
+
+// Use this macro at the beginning of CORBA methods
+// to aid in debugging.
+#define METHOD_ENTRY(name) \
+ if (TAO_debug_level <= 6){} else \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Enter %s\n", #name \
+ ))
+
+// Use this macro to return from CORBA methods
+// to aid in debugging. Note that you can specify
+// the return value after the macro, for example:
+// METHOD_RETURN(Plugh::plover) xyzzy; is equivalent
+// to return xyzzy;
+// METHOD_RETURN(Plugh::troll); is equivalent to
+// return;
+// WARNING: THIS GENERATES TWO STATEMENTS!!! THE FOLLOWING
+// will not do what you want it to:
+// if (cave_is_closing) METHOD_RETURN(Plugh::pirate) aarrggh;
+// Moral: Always use braces.
+#define METHOD_RETURN(name) \
+ if (TAO_debug_level <= 6){} else \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Leave %s\n", #name \
+ )); \
+ return /* value goes here */
+
+TAO::PG_FactoryRegistry::PG_FactoryRegistry (const char * name)
+ : identity_(name)
+ , orb_ (0)
+ , poa_ (0)
+ , object_id_ (0)
+ , this_obj_ (0)
+ , ior_output_file_(0)
+ , ns_name_(0)
+ , naming_context_(0)
+ , this_name_(1)
+ , quit_on_idle_(0)
+ , quit_state_(LIVE)
+ , linger_(0)
+{
+}
+
+TAO::PG_FactoryRegistry::~PG_FactoryRegistry (void)
+{
+}
+
+//////////////////////////////////////////////////////
+// PG_FactoryRegistry public, non-CORBA methods
+
+int TAO::PG_FactoryRegistry::parse_args (int argc, char * argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:n:q");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'o':
+ {
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'n':
+ {
+ this->ns_name_ = get_opts.opt_arg();
+ break;
+ }
+ case 'q':
+ {
+ this->quit_on_idle_ = 1;
+ break;
+ }
+
+ case '?':
+ // fall thru
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s"
+ " -o <registry ior file>"
+ " -n <name to use to register with name service>"
+ " -q{uit on idle}"
+ "\n",
+ argv [0]),
+ -1);
+ break;
+ }
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+const char * TAO::PG_FactoryRegistry::identity () const
+{
+ return this->identity_.c_str();
+}
+
+void TAO::PG_FactoryRegistry::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ this->quit_state_ = GONE;
+}
+
+int TAO::PG_FactoryRegistry::idle (int & result ACE_ENV_ARG_DECL_NOT_USED)
+{
+ result = 0;
+ int quit = 0;
+ if (this->quit_state_ == GONE)
+ {
+ if (linger_ < 2)
+ {
+ ++linger_;
+ }
+ else
+ {
+ quit = 1;
+ }
+ }
+ return quit;
+}
+
+
+int TAO::PG_FactoryRegistry::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (this->ior_output_file_ != 0)
+ {
+ ACE_OS::unlink (this->ior_output_file_);
+ this->ior_output_file_ = 0;
+ }
+ if (this->ns_name_ != 0)
+ {
+ this->naming_context_->unbind (this_name_
+ ACE_ENV_ARG_PARAMETER);
+ this->ns_name_ = 0;
+ }
+ return 0;
+}
+
+
+void TAO::PG_FactoryRegistry::init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL)
+{
+ ACE_ASSERT (CORBA::is_nil (this->orb_.in ()));
+ ACE_ASSERT (CORBA::is_nil (this->poa_.in ()));
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+ this->poa_ = PortableServer::POA::_duplicate (poa);
+ ACE_ASSERT ( ! CORBA::is_nil (this->orb_.in ()));
+ ACE_ASSERT ( ! CORBA::is_nil (this->poa_.in ()));
+
+ // Register with the POA.
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // find my identity as a corba object
+ this->this_obj_ =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // and create a ior string
+ this->ior_ = this->orb_->object_to_string (this->this_obj_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+}
+
+int TAO::PG_FactoryRegistry::init (CORBA::ORB_ptr orb
+ ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (this->poa_.in()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ // Register with the POA.
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ // find my identity as a corba object
+ this->this_obj_ =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+
+ // and create a ior string
+ this->ior_ = this->orb_->object_to_string (this->this_obj_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+
+ if (this->ior_output_file_ != 0)
+ {
+ this->identity_ = "file:";
+ this->identity_ += this->ior_output_file_;
+ result = write_ior_file (this->ior_output_file_,
+ this->ior_.in ());
+ }
+
+ if (this->ns_name_ != 0)
+ {
+ this->identity_ = "name:";
+ this->identity_ += this->ns_name_;
+
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ if (CORBA::is_nil(naming_obj.in ())){
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+
+ this->naming_context_ =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ this->this_name_.length (1);
+ this->this_name_[0].id = CORBA::string_dup (this->ns_name_);
+
+ this->naming_context_->rebind (this->this_name_, this->this_obj_.in() //CORBA::Object::_duplicate(this_obj)
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ }
+
+ return result;
+}
+
+
+::PortableGroup::FactoryRegistry_ptr TAO::PG_FactoryRegistry::reference()
+{
+ // narrow and duplicate
+ return ::PortableGroup::FactoryRegistry::_narrow(this->this_obj_.in ());
+}
+
+
+//////////////////////////////////////////
+// PG_FactoryRegistry CORBA methods
+
+/* Reference:info
+ typedef CosNaming::Name Name;
+ typedef Name Location;
+ struct FactoryInfo {
+ GenericFactory the_factory;
+ Location the_location;
+ Criteria the_criteria;
+ };
+ typedef sequence<FactoryInfo> FactoryInfos;
+*/
+
+TAO::PG_FactoryRegistry::RoleInfo::RoleInfo(size_t estimated_number_entries)
+ : infos_(estimated_number_entries)
+{
+}
+
+
+void TAO::PG_FactoryRegistry::register_factory (
+ const char * role,
+ const char * type_id,
+ const PortableGroup::FactoryInfo & factory_info
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::MemberAlreadyPresent
+ , PortableGroup::TypeConflict))
+{
+ METHOD_ENTRY(TAO::PG_FactoryRegistry::register_factory);
+
+ RoleInfo * role_info;
+ auto_ptr<RoleInfo> safe_entry;
+ if (this->registry_.find(role, role_info) != 0)
+ {
+ ACE_DEBUG(( LM_DEBUG,
+ "%s: adding new role: %s:%s\n",
+ this->identity_.c_str(), role, type_id));
+
+ // Note the 5. It's a guess about the number of factories
+ // that might exist for any particular role object.
+ // todo: make it a parameter.
+ ACE_NEW_THROW_EX (role_info,
+ RoleInfo(5),
+ CORBA::NO_MEMORY());
+ ACE_CHECK;
+
+ ACE_AUTO_PTR_RESET (safe_entry, role_info, RoleInfo);
+ role_info->type_id_ = type_id;
+ }
+ else
+ {
+ if (role_info->type_id_ != type_id)
+ {
+ ACE_THROW ( PortableGroup::TypeConflict() );
+ }
+ }
+
+ PortableGroup::FactoryInfos & infos = role_info->infos_;;
+ size_t length = infos.length();
+ for (size_t nInfo = 0; nInfo < length; ++nInfo)
+ {
+ PortableGroup::FactoryInfo & info = infos[nInfo];
+ if (info.the_location == factory_info.the_location)
+ {
+ ACE_ERROR(( LM_ERROR,
+ "%s: Attempt to register duplicate location %s for role: %s\n" ,
+ this->identity_.c_str(),
+ ACE_static_cast(const char *, info.the_location[0].id),
+ role));
+ ACE_THROW (PortableGroup::MemberAlreadyPresent() );
+ }
+ }
+
+ infos.length(length + 1);
+ infos[length] = factory_info;
+
+ if (safe_entry.get() != 0)
+ {
+ this->registry_.bind(role, safe_entry.release());
+ }
+
+ ACE_DEBUG(( LM_DEBUG,
+ "%s: Added factory: [%d] %s@%s \n",
+ this->identity_.c_str(),
+ ACE_static_cast(int,length + 1),
+ role,
+ ACE_static_cast(const char *, factory_info.the_location[0].id)
+ ));
+
+ METHOD_RETURN(TAO::PG_FactoryRegistry::register_factory);
+}
+
+void TAO::PG_FactoryRegistry::unregister_factory (
+ const char * role,
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, PortableGroup::MemberNotFound))
+{
+ METHOD_ENTRY(TAO::PG_FactoryRegistry::unregister_factory);
+
+ RoleInfo * role_info;
+ if (this->registry_.find(role, role_info) == 0)
+ {
+ PortableGroup::FactoryInfos & infos = role_info->infos_;
+ int found = 0;
+ size_t length = infos.length();
+ for (size_t nInfo = 0; !found && nInfo < length; ++nInfo)
+ {
+ PortableGroup::FactoryInfo & info = infos[nInfo];
+ if (info.the_location == location)
+ {
+ found = 1;
+
+ ACE_ERROR(( LM_INFO,
+ "%s: Unregistering factory %s@%s\n",
+ this->identity_.c_str(),
+ role,
+ ACE_static_cast(const char *, location[0].id)
+ ));
+ if (length > 1)
+ {
+ // if this is not the last entry
+ if (nInfo + 1 < length)
+ {
+ // move last entry into newly-emptied slot
+ infos[nInfo] = infos[length - 1];
+ nInfo = length -1;
+ }
+ infos.length(nInfo);
+ }
+ else
+ {
+ ACE_ASSERT ( length == 1 );
+ if (this->registry_.unbind (role) == 0)
+ {
+ ACE_DEBUG(( LM_INFO,
+ "%s: No more factories registered for %s\n",
+ this->identity_.c_str(),
+ role
+ ));
+ delete role_info;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%s: LOGIC ERROR AT " __FILE__ " (%d): Entry to be deleted disappeared\n",
+ this->identity_.c_str(),
+ __LINE__));
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ ACE_ERROR(( LM_ERROR,
+ "%s, Attempt to unregister factory for unknown role %s\n",
+ this->identity_.c_str(),
+ role
+ ));
+ ACE_THROW ( PortableGroup::MemberNotFound() );
+ }
+
+ //////////////////////
+ // request complete
+ // check quit-on-idle
+ if (registry_.current_size() == 0 && quit_state_ == LIVE)
+ {
+ ACE_ERROR(( LM_INFO,
+ "%s is idle\n",
+ identity()
+ ));
+ if (quit_on_idle_)
+ {
+ this->poa_->deactivate_object (this->object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ quit_state_ = DEACTIVATED;
+ }
+ }
+
+ METHOD_RETURN(TAO::PG_FactoryRegistry::unregister_factory);
+}
+
+void TAO::PG_FactoryRegistry::unregister_factory_by_role (
+ const char * role
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::PG_FactoryRegistry::unregister_factory_by_role);
+
+ RoleInfo * role_info;
+ if (this->registry_.unbind(role, role_info) == 0)
+ {
+ ACE_DEBUG(( LM_DEBUG,
+ "%s: Unregistering all factories for role %s\n",
+ this->identity_.c_str(),
+ role
+ ));
+ // delete the entire set of factories for this location.
+ delete role_info;
+ }
+ else
+ {
+ ACE_ERROR(( LM_INFO,
+ "%s: Unregister_factory_by_role: unknown role: %s\n",
+ this->identity_.c_str(),
+ role
+ ));
+ }
+
+ /////////////////////
+ // Function complete
+ // check quit options
+ if (registry_.current_size() == 0 && quit_state_ == LIVE)
+ {
+ ACE_ERROR(( LM_INFO,
+ "%s is idle\n",
+ identity()
+ ));
+ if (quit_on_idle_)
+ {
+ this->poa_->deactivate_object (this->object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ quit_state_ = DEACTIVATED;
+ }
+ }
+
+ METHOD_RETURN(TAO::PG_FactoryRegistry::unregister_factory_by_role);
+}
+
+void TAO::PG_FactoryRegistry::unregister_factory_by_location (
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::PG_FactoryRegistry::unregister_factory_by_location);
+
+ ////////////////////////////////////////////
+ // a vector of roles that need to be deleted.
+ ACE_Vector<ACE_CString> emptyRoles;
+
+ // iterate through the registery
+ for (RegistryType_Iterator it = this->registry_.begin();
+ it != this->registry_.end();
+ ++it)
+ {
+ RegistryType_Entry & entry = *it;
+ ACE_CString & role = entry.ext_id_;
+ RoleInfo * role_info = entry.int_id_;
+
+ PortableGroup::FactoryInfos & infos = role_info->infos_;
+ // ACE_ERROR((LM_INFO, "unregister_factory_by_location: Checking role %s\n", role.c_str() ));
+
+ int found = 0;
+ size_t length = infos.length();
+ for (size_t nInfo = 0; !found && nInfo < length; ++nInfo)
+ {
+ PortableGroup::FactoryInfo & info = infos[nInfo];
+ if (info.the_location == location)
+ {
+
+ ACE_ERROR((LM_INFO,
+ "%s: Unregister_factory_by_location: Removing: [%d] %s@%s\n",
+ this->identity_.c_str(),
+ ACE_static_cast (int, nInfo),
+ role.c_str(),
+ ACE_static_cast (const char *, location[0].id)
+ ));
+ found = 1;
+ if (length > 1)
+ {
+ while (nInfo + 1 < length)
+ {
+ ACE_ERROR((LM_INFO,
+ "%s: Unregister_factory_by_location: Move: [%d] %s to [%d]\n",
+ this->identity_.c_str(),
+ (int)nInfo + 1, role.c_str(), (int)nInfo
+ ));
+ infos[nInfo] = infos[nInfo + 1];
+ nInfo += 1;
+ }
+ ACE_ERROR((LM_INFO,
+ "%s: unregister_factory_by_location: New length [%d] %s\n",
+ this->identity_.c_str(),
+ (int)nInfo, role.c_str()
+ ));
+ infos.length(nInfo);
+ }
+ else
+ {
+ ACE_ERROR((LM_INFO,
+ "%s: Removed all entries for %s\n",
+ this->identity_.c_str(),
+ role.c_str()
+ ));
+ ACE_ASSERT ( length == 1 );
+ // remember entries to be deleted
+ emptyRoles.push_back(entry.ext_id_);
+ }
+ }
+ }
+ }
+
+ // now remove any roles that became empty
+
+ for (size_t nRole = 0; nRole < emptyRoles.size(); ++nRole)
+ {
+ ACE_ERROR((LM_INFO,
+ "%s: Remove role %s\n",
+ this->identity_.c_str(),
+ emptyRoles[nRole].c_str()
+ ));
+ RoleInfo * role_info;
+ if (this->registry_.unbind(emptyRoles[nRole], role_info) == 0)
+ {
+ delete role_info;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%s: LOGIC ERROR AT " __FILE__ " (%d): Role to be deleted disappeared\n",
+ this->identity_.c_str(),
+ __LINE__));
+ }
+ }
+ //////////////////////////
+ // If all types are gone...
+ if (registry_.current_size() == 0 && quit_state_ == LIVE)
+ {
+ ACE_ERROR(( LM_INFO,
+ "%s is idle\n",
+ identity()
+ ));
+ if (quit_on_idle_)
+ {
+ this->poa_->deactivate_object (this->object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ quit_state_ = DEACTIVATED;
+ }
+ }
+
+ METHOD_RETURN(TAO::PG_FactoryRegistry::unregister_factory_by_location);
+}
+
+::PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_role (
+ const char * role,
+ CORBA::String_out type_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::PG_FactoryRegistry::list_factories_by_role);
+
+ // allocate stucture to be returned.
+ PortableGroup::FactoryInfos_var result = 0;
+ ACE_NEW_THROW_EX (result, ::PortableGroup::FactoryInfos(),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO));
+
+ ACE_CHECK_RETURN (0);
+
+ RoleInfo * role_info = 0;
+ if (this->registry_.find(role, role_info) == 0)
+ {
+ type_id = CORBA::string_dup(role_info->type_id_.c_str());
+ (*result) = role_info->infos_;
+ }
+ else
+ {
+ type_id = CORBA::string_dup("");
+ ACE_ERROR(( LM_INFO,
+ "%s: list_factories_by_role: unknown role %s\n",
+ this->identity_.c_str(),
+ role
+ ));
+ }
+ METHOD_RETURN(TAO::PG_FactoryRegistry::list_factories_by_role) result._retn();
+}
+
+::PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_location (
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_ENTRY(TAO::PG_FactoryRegistry::list_factories_by_location);
+ ::PortableGroup::FactoryInfos_var result;
+ ACE_NEW_THROW_EX (result, ::PortableGroup::FactoryInfos(this->registry_.current_size()),
+ CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO));
+
+ ACE_CHECK_RETURN (0);
+
+ size_t result_length = 0;
+
+ // iterate through the registery
+ for (RegistryType_Iterator it = this->registry_.begin();
+ it != this->registry_.end();
+ ++it)
+ {
+ RegistryType_Entry & entry = *it;
+ RoleInfo * role_info = entry.int_id_;
+
+ PortableGroup::FactoryInfos & found_infos = role_info->infos_;
+ // iterate through the entry for this type
+ int found = 0;
+ size_t length = found_infos.length();
+ for (size_t nInfo = 0; !found && nInfo < length; ++nInfo)
+ {
+ PortableGroup::FactoryInfo & info = found_infos[nInfo];
+ if (info.the_location == location)
+ {
+ found = 1;
+ result_length += 1;
+ result->length(result_length);
+ (*result)[result_length-1] = info;
+ }
+ }
+ }
+
+ METHOD_RETURN(TAO::PG_FactoryRegistry::list_factories_by_location) result._retn();
+}
+
+//////////////////////////////
+// Implementation methods
+
+int TAO::PG_FactoryRegistry::write_ior_file(const char * outputFile, const char * ior)
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (outputFile, "w");
+ if (out)
+ {
+ ACE_OS::fprintf (out, "%s", ior);
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Open failed for %s\n", outputFile
+ ));
+ }
+ return result;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class ACE_Hash_Map_Manager <
+ ACE_CString,
+ TAO::PG_FactoryRegistry::RoleInfo *,
+ TAO::PG_FactoryRegistry::MapMutex>;
+ template class ACE_Hash_Map_Entry <
+ ACE_CString,
+ TAO::PG_FactoryRegistry::RoleInfo *>;
+ template class ACE_Hash_Map_Iterator <
+ ACE_CString,
+ TAO::PG_FactoryRegistry::RoleInfo *,
+ TAO::PG_FactoryRegistry::MapMutex>;
+ template class ACE_Vector<ACE_CString>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate ACE_Hash_Map_Manager <
+ ACE_CString,
+ TAO::PG_FactoryRegistry::RoleInfo *,
+ TAO::PG_FactoryRegistry::MapMutex>
+# pragma instantiate ACE_Hash_Map_Entry <
+ ACE_CString,
+ TAO::PG_FactoryRegistry::RoleInfo *>
+# pragma instantiate ACE_Hash_Map_Iterator <
+ ACE_CString,
+ TAO::PG_FactoryRegistry::RoleInfo *,
+ TAO::PG_FactoryRegistry::MapMutex>
+# pragma instantiate ACE_Vector<ACE_CString>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h
new file mode 100644
index 00000000000..281efdaa45a
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h
@@ -0,0 +1,254 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file PG_FactoryRegistry.h
+ *
+ * $Id$
+ *
+ * This file declares the implementation of PortableGroup::FactoryRegistry.
+ * Eventually this should be folded into the Fault Tolerance ReplicationManager
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_PG_FACTORYREGISTRY_H_
+#define TAO_PG_FACTORYREGISTRY_H_
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+//////////////////////////////////
+// Classes declared in this header
+namespace TAO
+{
+ class PG_FactoryRegistry;
+}
+
+/////////////////////////////////
+// Includes needed by this header
+#include "portablegroup_export.h"
+#include <orbsvcs/PortableGroupS.h>
+#include <ace/Hash_Map_Manager.h>
+
+
+/////////////////////
+// Forward references
+
+namespace TAO
+{
+ /**
+ * Implement the PortableGroup::FactoryRegistry interface
+ * Note FactoryRegistry is not part of the OMG standard. It was added
+ * as part of the TAO implementation of Fault Tolerant CORBA
+ */
+ class TAO_PortableGroup_Export PG_FactoryRegistry : public virtual POA_PortableGroup::FactoryRegistry
+ {
+ struct RoleInfo
+ {
+ ACE_CString type_id_;
+ PortableGroup::FactoryInfos infos_;
+
+ RoleInfo(size_t estimated_number_entries = 5);
+ };
+ typedef ACE_Null_Mutex MapMutex;
+ typedef ACE_Hash_Map_Manager <ACE_CString, RoleInfo *, MapMutex> RegistryType;
+ typedef ACE_Hash_Map_Entry <ACE_CString, RoleInfo *> RegistryType_Entry;
+ typedef ACE_Hash_Map_Iterator <ACE_CString, RoleInfo *, MapMutex> RegistryType_Iterator;
+
+ //////////////////////
+ // non-CORBA interface
+ public:
+ /// Constructor
+ PG_FactoryRegistry (const char * name = "FactoryRegistry");
+
+ /// virtual Destructor
+ virtual ~PG_FactoryRegistry (void);
+
+ /**
+ * Parse command line arguments.
+ * @param argc traditional C argc
+ * @param argv traditional C argv
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object.
+ * @param orbManager our ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * alternative init using designated poa
+ */
+ void init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * Processing to happen when the ORB's event loop is idle.
+ * @param result is a place to return status to be returned by the process
+ * @returns 0 to continue. 1 to quit.
+ */
+ int idle(int & result ACE_ENV_ARG_DECL);
+
+ /**
+ * Identify this object.
+ * @return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * An object reference to the this object.
+ * Duplicated by the call so it may (and probably should) be assigned to a _var..
+ */
+ ::PortableGroup::FactoryRegistry_ptr reference();
+
+ ////////////////////////////////
+ // override servant base methods
+ virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
+
+ //////////////////
+ // CORBA interface
+ // See IDL for documentation
+
+ virtual void register_factory (
+ const char * role,
+ const char * type_id,
+ const PortableGroup::FactoryInfo & factory_info
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::MemberAlreadyPresent
+ , PortableGroup::TypeConflict));
+
+ virtual void unregister_factory (
+ const char * role,
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, PortableGroup::MemberNotFound));
+
+ virtual void unregister_factory_by_role (
+ const char * role
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+ virtual void unregister_factory_by_location (
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::PortableGroup::FactoryInfos * list_factories_by_role (
+ const char * role,
+ CORBA::String_out type_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::PortableGroup::FactoryInfos * list_factories_by_location (
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /////////////////////////
+ // Implementation methods
+ private:
+ /**
+ * Write this factory's IOR to a file
+ */
+ int write_ior_file (const char * outputFile, const char * ior);
+
+ ///////////////
+ // Data Members
+ private:
+
+ /**
+ * A human-readable string to distinguish this from other Notifiers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * Protect internal state.
+ * Mutex should be locked by corba methods, or by
+ * external (public) methods before calling implementation
+ * methods.
+ * Implementation methods should assume the mutex is
+ * locked if necessary.
+ */
+ TAO_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<TAO_SYNCH_MUTEX> InternalGuard;
+
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+ /**
+ * This objects identity as a CORBA object.
+ */
+ CORBA::Object_var this_obj_;
+
+ /**
+ * IOR of this object as assigned by poa.
+ */
+ CORBA::String_var ior_;
+
+ /**
+ * A file to which the factory's IOR should be written.
+ */
+ const char * ior_output_file_;
+
+ /**
+ * A name to be used to register the factory with the name service.
+ */
+ const char * ns_name_;
+
+ CosNaming::NamingContext_var naming_context_;
+
+ CosNaming::Name this_name_;
+
+ /**
+ * Quit on idle flag.
+ */
+ int quit_on_idle_;
+
+ /**
+ * State of the quit process
+ */
+ enum {LIVE, DEACTIVATED, GONE} quit_state_;
+
+ int linger_;
+
+ RegistryType registry_;
+
+ };
+} // namespace TAO
+
+#include /**/ <ace/post.h>
+
+#endif // TAO_PG_FACTORYREGISTRY_H_
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp
new file mode 100644
index 00000000000..810f444574a
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp
@@ -0,0 +1,271 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file PG_Group_Factory.cpp
+ *
+ * $Id$
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "PG_Group_Factory.h"
+#include "PG_Property_Utils.h"
+#include "PG_conf.h"
+#include "orbsvcs/PortableGroupC.h"
+#include "PG_Object_Group.h"
+#include <orbsvcs/orbsvcs/PortableGroup/PG_Utils.h>
+
+ACE_RCSID (PortableGroup,
+ PG_Group_Factory,
+ "$Id$")
+
+
+TAO::PG_Group_Factory::PG_Group_Factory ()
+ : orb_ (CORBA::ORB::_nil())
+ , poa_ (PortableServer::POA::_nil())
+ , manipulator_ ()
+ , domain_id_ ("default-domain")
+
+{
+}
+
+TAO::PG_Group_Factory::~PG_Group_Factory (void)
+{
+ for (Group_Map_Iterator it = this->group_map_.begin ();
+ it != this->group_map_.end ();
+ ++it)
+ {
+ TAO::PG_Object_Group * group = (*it).int_id_;
+ delete group;
+ }
+ this->group_map_.unbind_all ();
+}
+
+
+void TAO::PG_Group_Factory::init (
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ PortableGroup::FactoryRegistry_ptr factory_registry
+ ACE_ENV_ARG_DECL)
+{
+ ACE_ASSERT (CORBA::is_nil (this->orb_.in ()));
+ ACE_ASSERT (CORBA::is_nil (this->poa_.in ()));
+ ACE_ASSERT (CORBA::is_nil (this->factory_registry_.in ()));
+
+ this->orb_ = CORBA::ORB::_duplicate(orb);
+ this->poa_ = PortableServer::POA::_duplicate (poa);
+ this->factory_registry_ = PortableGroup::FactoryRegistry::_duplicate (factory_registry);
+
+
+ ACE_ASSERT (!CORBA::is_nil (this->orb_.in ()));
+ ACE_ASSERT (!CORBA::is_nil (this->poa_.in ()));
+ ACE_ASSERT (!CORBA::is_nil (this->factory_registry_.in ()));
+
+ this->manipulator_.init (orb, poa ACE_ENV_ARG_PARAMETER);
+// ACE_CHECK;
+}
+
+
+TAO::PG_Object_Group * TAO::PG_Group_Factory::create_group (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ TAO::PG_Property_Set * typeid_properties
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::InvalidProperty,
+ PortableGroup::CannotMeetCriteria))
+{
+ ///////////////////////////////////
+ // Create an empty group reference
+
+ PortableGroup::ObjectGroupId group_id = 0;
+ PortableGroup::ObjectGroup_var empty_group =
+ this->manipulator_.create_object_group (
+ type_id,
+ this->domain_id_,
+ group_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ // pick up the object group information as assigned by
+ // ObjectGroupManager
+
+ PortableGroup::TagGroupTaggedComponent tagged_component;
+ if (! TAO::PG_Utils::get_tagged_component (empty_group, tagged_component))
+ {
+ ACE_THROW_RETURN (PortableGroup::ObjectNotCreated(), 0);
+ }
+
+ TAO::PG_Object_Group * objectGroup = 0;
+
+ ACE_NEW_THROW_EX (
+ objectGroup,
+ TAO::PG_Object_Group (
+ this->orb_.in (),
+ this->factory_registry_.in (),
+ this->manipulator_,
+ empty_group.in (),
+ tagged_component,
+ type_id,
+ the_criteria,
+ typeid_properties
+ ),
+ CORBA::NO_MEMORY());
+
+ if (this->group_map_.bind (group_id, objectGroup) != 0)
+ {
+ delete objectGroup;
+ ACE_THROW_RETURN (PortableGroup::ObjectNotCreated(), 0);
+ }
+ return objectGroup;
+}
+
+void TAO::PG_Group_Factory::delete_group (PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectNotFound))
+{
+ if (! destroy_group (object_group))
+ {
+ ACE_THROW (PortableGroup::ObjectNotFound ());
+ }
+}
+
+
+void TAO::PG_Group_Factory::delete_group (PortableGroup::ObjectGroupId group_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectNotFound))
+{
+ if (! destroy_group (group_id))
+ {
+ ACE_THROW (PortableGroup::ObjectNotFound ());
+ }
+}
+
+ // insert group. Take ownership
+int TAO::PG_Group_Factory::insert_group ( ::TAO::PG_Object_Group * group)
+{
+ return insert_group (group->get_object_group_id(), group);
+}
+
+int TAO::PG_Group_Factory::insert_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group * group)
+{
+ return (this->group_map_.bind (group_id, group) == 0);
+}
+
+int TAO::PG_Group_Factory::find_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group *& group) const
+{
+ return (this->group_map_.find (group_id , group) == 0);
+}
+
+int TAO::PG_Group_Factory::find_group (PortableGroup::ObjectGroup_ptr object_group, ::TAO::PG_Object_Group *& group) const
+{
+ int result = 0;
+ PortableGroup::TagGroupTaggedComponent tc;
+ if (TAO::PG_Utils::get_tagged_component (object_group, tc))
+ {
+ result = find_group (tc.object_group_id, group);
+ }
+ return result;
+}
+
+int TAO::PG_Group_Factory::destroy_group (PortableGroup::ObjectGroupId group_id)
+{
+ ::TAO::PG_Object_Group * group;
+ int result = (this->group_map_.unbind (group_id, group) == 0);
+ if (result)
+ {
+ delete group;
+ }
+ return result;
+}
+
+int TAO::PG_Group_Factory::destroy_group (PortableGroup::ObjectGroup_ptr object_group)
+{
+ PortableGroup::TagGroupTaggedComponent tc;
+ TAO::PG_Utils::get_tagged_component (object_group, tc);
+ return destroy_group (tc.object_group_id);
+}
+
+
+
+PortableGroup::ObjectGroups *
+TAO::PG_Group_Factory::groups_at_location (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ size_t upper_limit = this->group_map_.current_size ();
+ PortableGroup::ObjectGroups * result = 0;
+ ACE_NEW_THROW_EX (
+ result,
+ PortableGroup::ObjectGroups (upper_limit),
+ CORBA::NO_MEMORY());
+ ACE_CHECK_RETURN (0);
+
+ result->length(upper_limit);
+
+ size_t group_count = 0;
+ for (Group_Map_Iterator it = this->group_map_.begin ();
+ it != this->group_map_.end ();
+ ++it)
+ {
+ TAO::PG_Object_Group * group = (*it).int_id_;
+ if (group->has_member_at (the_location))
+ {
+ (*result)[group_count] = group->reference ();
+ ++group_count;
+ }
+ }
+ result->length (group_count);
+ return result;
+}
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class ACE_Hash_Map_Manager_Ex<
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *,
+ ACE_Hash<ACE_UINT64>,
+ ACE_Equal_To<ACE_UINT64>,
+ TAO_SYNCH_MUTEX>;
+
+ template class ACE_Hash_Map_Entry <
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *>;
+
+ template class ACE_Hash_Map_Iterator_Ex <
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *,
+ ACE_Hash<ACE_UINT64>,
+ ACE_Equal_To<ACE_UINT64>,
+ TAO_SYNCH_MUTEX>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate ACE_Hash_Map_Manager_Ex<
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *,
+ ACE_Hash<ACE_UINT64>,
+ ACE_Equal_To<ACE_UINT64>,
+ TAO_SYNCH_MUTEX>;
+
+# pragma instantiate ACE_Hash_Map_Entry <
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *>;
+
+# pragma instantiate ACE_Hash_Map_Iterator_Ex <
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *,
+ ACE_Hash<ACE_UINT64>,
+ ACE_Equal_To<ACE_UINT64>,
+ TAO_SYNCH_MUTEX>;
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h
new file mode 100644
index 00000000000..e5b47d0434c
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h
@@ -0,0 +1,178 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file PG_Group_Factory.h
+ *
+ * $Id$
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_PG_GROUP_FACTORY_H
+#define TAO_PG_GROUP_FACTORY_H
+
+#include /**/ <ace/pre.h>
+
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Hash_Map_Manager.h"
+#include "portablegroup_export.h"
+#include "tao/PortableServer/PortableServerC.h"
+#include "orbsvcs/PortableGroupC.h"
+#include "PG_Object_Group_Manipulator.h"
+
+//////////////////
+// Forward reference
+namespace TAO
+{
+ class PG_Property_Set;
+} // namespace TAO_PG
+
+
+
+namespace TAO
+{
+ /////////////////////
+ // forward references
+ class PG_Object_Group;
+
+ /**
+ * class PG_Group_Factory
+ */
+ class TAO_PortableGroup_Export PG_Group_Factory
+ {
+ ////////////////////////////////////////////////////////////
+ // typedef private implementation classes
+ typedef ACE_Hash_Map_Manager_Ex<
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *,
+ ACE_Hash<ACE_UINT64>,
+ ACE_Equal_To<ACE_UINT64>,
+ TAO_SYNCH_MUTEX> Group_Map;
+
+ typedef ACE_Hash_Map_Entry <PortableGroup::ObjectGroupId, ::TAO::PG_Object_Group *> Group_Map_Entry;
+
+ typedef ACE_Hash_Map_Iterator_Ex <
+ PortableGroup::ObjectGroupId,
+ ::TAO::PG_Object_Group *,
+ ACE_Hash<ACE_UINT64>,
+ ACE_Equal_To<ACE_UINT64>,
+ TAO_SYNCH_MUTEX> Group_Map_Iterator;
+
+ public:
+
+ /// Constructor.
+ PG_Group_Factory ();
+
+ /// Destructor.
+ ~PG_Group_Factory ();
+
+ void init (
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ PortableGroup::FactoryRegistry_ptr factory_registry
+ ACE_ENV_ARG_DECL);
+
+
+ TAO::PG_Object_Group * create_group (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ TAO::PG_Property_Set * typeid_properties
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::InvalidProperty,
+ PortableGroup::CannotMeetCriteria));
+
+
+ void delete_group (PortableGroup::ObjectGroup_ptr object_group
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectNotFound));
+
+
+ void delete_group (PortableGroup::ObjectGroupId group_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectNotFound));
+
+ PortableGroup::ObjectGroups *
+ groups_at_location (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException));
+
+
+
+ /**
+ * insert existing group. Take ownership
+ * note: uses group id extracted from group object
+ * @return bool true if insertion successful
+ */
+ int insert_group ( ::TAO::PG_Object_Group * group);
+
+ /**
+ * insert group. Take ownership
+ * @return bool true if insertion successful
+ */
+ int insert_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group * group);
+
+ /**
+ * find group
+ * @return bool true if found
+ */
+ int find_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group *& group) const;
+
+ /**
+ * find group
+ * note: uses group id extracted from object_group
+ * @return bool true if found
+ */
+ int find_group (PortableGroup::ObjectGroup_ptr object_group, ::TAO::PG_Object_Group *& group) const;
+
+ /**
+ * remove group from map and delete it.
+ * @return bool true if found
+ */
+ int destroy_group (PortableGroup::ObjectGroupId object_group_id);
+
+ /**
+ * remove group from map and delete it.
+ * note: uses group id extracted from object_group
+ * @return bool true if found
+ */
+ int destroy_group (PortableGroup::ObjectGroup_ptr object_group);
+
+ private:
+
+ private:
+
+ CORBA::ORB_var orb_;
+
+ /// Reference to the POA used to create object group references.
+ PortableServer::POA_var poa_;
+
+ /// The factory registry for replica factories
+ PortableGroup::FactoryRegistry_var factory_registry_;
+
+ ::TAO::PG_Object_Group_Manipulator manipulator_;
+
+ const char * domain_id_;
+
+ Group_Map group_map_;
+
+
+ };
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_PG_GROUP_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp
new file mode 100644
index 00000000000..013336c057d
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp
@@ -0,0 +1,827 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "PG_Object_Group.h"
+#include "PG_conf.h"
+
+#include <ace/Get_Opt.h>
+#include <ace/Vector_T.h>
+#include <tao/debug.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include <orbsvcs/PortableGroup/PG_Operators.h> // Borrow operator == on CosNaming::Name
+#include <orbsvcs/PortableGroup/PG_Utils.h>
+
+#define TODO int todo;
+//#define TODO
+
+
+TAO::PG_Object_Group::MemberInfo::MemberInfo (
+ CORBA::Object_ptr member,
+ const PortableGroup::Location & location)
+ : member_ (CORBA::Object::_duplicate (member))
+ , factory_(PortableGroup::GenericFactory::_nil())
+ , location_ (location)
+ , is_primary_ (0)
+{
+}
+
+TAO::PG_Object_Group::MemberInfo::MemberInfo (
+ CORBA::Object_ptr member,
+ const PortableGroup::Location & location,
+ PortableGroup::GenericFactory_ptr factory,
+ PortableGroup::GenericFactory::FactoryCreationId factory_id)
+ : member_ (CORBA::Object::_duplicate (member))
+ , factory_ (PortableGroup::GenericFactory::_duplicate (factory))
+ , factory_id_ (factory_id)
+ , location_ (location)
+ , is_primary_ (0)
+{
+}
+
+TAO::PG_Object_Group::MemberInfo::~MemberInfo (void)
+{
+ if( ! CORBA::is_nil (this->factory_.in()))
+ {
+ this->factory_->delete_object (this->factory_id_);
+ }
+}
+
+
+TAO::PG_Object_Group::PG_Object_Group (
+ CORBA::ORB_ptr orb,
+ PortableGroup::FactoryRegistry_ptr factory_registry,
+ TAO::PG_Object_Group_Manipulator & manipulator,
+ CORBA::Object_ptr empty_group,
+ const PortableGroup::TagGroupTaggedComponent & tagged_component,
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ TAO::PG_Property_Set * type_properties)
+ : internals_()
+ , orb_ (CORBA::ORB::_duplicate (orb))
+ , factory_registry_ (PortableGroup::FactoryRegistry::_duplicate (factory_registry))
+ , manipulator_ (manipulator)
+ , empty_ (1)
+ , role_ (type_id)
+ , type_id_ (CORBA::string_dup (type_id))
+ , tagged_component_ (tagged_component)
+ , reference_ (CORBA::Object::_duplicate(empty_group))
+ , members_ ()
+ , primary_location_(0)
+ , properties_ (the_criteria, type_properties)
+ , initial_number_members_ (0)
+ , minimum_number_members_ (0)
+ , group_specific_factories_ ()
+{
+}
+
+TAO::PG_Object_Group::~PG_Object_Group ()
+{
+ for (MemberMap_Iterator it = this->members_.begin();
+ it != this->members_.end();
+ ++it)
+ {
+ MemberInfo * member = (*it).int_id_;
+ delete member;
+ }
+ this->members_.unbind_all ();
+}
+
+#if 0 // may want this again someday
+/////////////////////
+// q&d debug function
+static void dump_ior (const char * base, const char * ext, unsigned long version, const char * iogr)
+{
+ char filename[1000];
+ ACE_OS::sprintf(filename, "%s_%lu.%s", base, version, ext );
+
+ FILE * iorfile = ACE_OS::fopen(filename, "w");
+ ACE_OS::fwrite (iogr, 1, ACE_OS::strlen(iogr), iorfile);
+ ACE_OS::fclose (iorfile);
+}
+#endif // may want this again someday
+
+PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group::reference()const
+{
+ // const cast to simulate mutable
+ InternalGuard guard(ACE_const_cast (TAO::PG_Object_Group *, this)->internals_);
+ return PortableGroup::ObjectGroup::_duplicate (this->reference_);
+}
+
+void TAO::PG_Object_Group::get_group_specific_factories (PortableGroup::FactoryInfos & result) const
+{
+ // const cast to simulate mutable
+ InternalGuard guard(ACE_const_cast (TAO::PG_Object_Group *, this)->internals_);
+ // copy is needed to have some semblance of thread safeness.
+ // if performance is an issue avoid this method.
+ result = this->group_specific_factories_;
+}
+
+const PortableGroup::Location & TAO::PG_Object_Group::get_primary_location() const
+{
+ // const cast to simulate mutable
+ InternalGuard guard(ACE_const_cast (TAO::PG_Object_Group *, this)->internals_);
+ return this->primary_location_;
+}
+
+
+PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group::add_member_to_iogr(
+ CORBA::Object_ptr member
+ ACE_ENV_ARG_DECL)
+{
+ // assume internals is locked
+
+ PortableGroup::ObjectGroup_var result = PortableGroup::ObjectGroup::_nil();
+ ////////////////////////////
+ // @@ HACK ALERT
+ // The PortableGroup::ObjectGroupManager creates an object reference containing
+ // a dummy entry so it will have a place to store the tagged group component.
+ // If this is the first entry, we need to remove that entry once we have a *real* member.
+ // This can be avoided when we get support for TAG_MULTIPLE_COMPONENTS
+ // For now, we already have a copy of the tagGroupTagged component and we're going to use
+ // it below wen we increment the group version so we can clean out the dummy entry.
+ PortableGroup::ObjectGroup_var cleaned = PortableGroup::ObjectGroup::_duplicate (this->reference_.in ());
+ if (this->empty_)
+ {
+ // remove the original profile. It's a dummy entry supplied by create_object.
+ cleaned =
+ this->manipulator_.remove_profiles (cleaned.in (), this->reference_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil());
+ this->empty_ = 0;
+ }
+
+ // create a list of references to be merged
+ TAO_IOP::TAO_IOR_Manipulation::IORList iors (2);
+ iors.length (2);
+ iors [0] = CORBA::Object::_duplicate (cleaned.in());
+ iors [1] = CORBA::Object::_duplicate (member);
+
+ // Now merge the list into one new IOGR
+ result =
+ this->manipulator_.merge_iors (iors ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ());
+ return result._retn ();
+}
+
+void TAO::PG_Object_Group::add_member (
+ const PortableGroup::Location & the_location,
+ CORBA::Object_ptr member
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::ObjectNotAdded))
+
+{
+ InternalGuard guard(this->internals_);
+
+ /////////////////////////////////////////
+ // Convert the new member to a string IOR
+ // This keeps a clean IOR (not and IOGR!)
+ // while we add it to a group. We need a
+ // IORs, not IOGRs to send new IOGRs out
+ // to replicas.
+
+ CORBA::String_var member_ior_string =
+ orb_->object_to_string (member
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ PortableGroup::ObjectGroup_var new_reference =
+ add_member_to_iogr (member
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+
+ // Convert new member back to a (non group) ior.
+ CORBA::Object_var member_ior =
+ this->orb_->string_to_object (member_ior_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ MemberInfo * info = 0;
+ ACE_NEW_THROW_EX (info,
+ MemberInfo(member_ior.in(),
+ the_location),
+ CORBA::NO_MEMORY());
+
+ if (this->members_.bind (the_location, info) != 0)
+ {
+ // @@ Dale why this is a NO MEMORY exception?
+ ACE_THROW(CORBA::NO_MEMORY());
+ }
+
+ this->reference_ = new_reference; // note var-to-var assignment does a duplicate
+ if (this->increment_version ())
+ {
+ this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ ACE_THROW (PortableGroup::ObjectNotAdded ());
+ }
+
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("PG (%P|%t) exit Object_Group add_member \n")));
+ }
+}
+
+int TAO::PG_Object_Group::set_primary_member (
+ TAO_IOP::TAO_IOR_Property * prop,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::MemberNotFound
+ ))
+{
+ InternalGuard guard(this->internals_);
+ int result = 1;
+ MemberInfo * info;
+ if (this->members_.find (the_location, info) == 0)
+ {
+ int cleared = 0;
+ this->primary_location_ = the_location;
+ for (MemberMap_Iterator it = this->members_.begin();
+ !cleared && it != this->members_.end();
+ ++it)
+ {
+ cleared = (*it).int_id_->is_primary_;
+ (*it).int_id_->is_primary_ = 0;
+ }
+ info->is_primary_ = 1;
+
+ int set_ok = this->manipulator_.set_primary (prop, this->reference_.in (), info->member_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ if (! set_ok)
+ {
+ if (TAO_debug_level > 3)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ ACE_TEXT ("%T %n (%P|%t) - Can't set primary in IOGR .\n")
+ ));
+ }
+//@@: ACE_THROW (FT::PrimaryNotSet());
+ result = 0;
+ }
+
+ if (result && this->increment_version())
+ {
+ this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+ else
+ {
+ if (TAO_debug_level > 3)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("TAO-PG (%P|%t) - set_primary_location throwing PrimaryNotSet because increment version failed.\n")
+ ));
+ }
+//@@: ACE_THROW (FT::PrimaryNotSet());
+ result = 0;
+ }
+ }
+ else
+ {
+ if (TAO_debug_level > 3)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO-PG (%P|%t) - set_primary_location ")
+ ACE_TEXT ("throwing MemberNotFound.\n")));
+ }
+ ACE_THROW_RETURN (PortableGroup::MemberNotFound(),
+ -1);
+ }
+ return result;
+}
+
+
+void TAO::PG_Object_Group::remove_member (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::MemberNotFound))
+{
+ InternalGuard guard(this->internals_);
+ MemberInfo * info;
+ if (this->members_.unbind (the_location, info) == 0)
+ {
+ if (this->members_.current_size() > 0)
+ {
+ this->reference_ =
+ this->manipulator_.remove_profiles (this->reference_.in (), info->member_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ empty_ = 1;
+ }
+
+ delete info;
+
+ if (the_location == this->primary_location_)
+ {
+ this->primary_location_.length(0);
+ }
+
+ if (this->increment_version ())
+ {
+ this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ }
+ else
+ {
+ if (TAO_debug_level > 6)
+ {
+
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO-PG (%P|%t) - remove_member throwing MemberNotFound.\n"
+ ));
+ }
+ ACE_THROW (PortableGroup::MemberNotFound() );
+ }
+}
+
+
+PortableGroup::ObjectGroupId TAO::PG_Object_Group::get_object_group_id () const
+{
+ // const cast to simulate mutable
+ InternalGuard guard(ACE_const_cast (TAO::PG_Object_Group *, this)->internals_);
+ return this->tagged_component_.object_group_id;
+}
+
+void TAO::PG_Object_Group::set_properties_dynamically (
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ InternalGuard guard (this->internals_);
+
+ this->properties_.decode (overrides ACE_ENV_ARG_PARAMETER);
+
+ //@@ int todo_override_rather_than_replace?
+}
+
+void TAO::PG_Object_Group::get_properties (PortableGroup::Properties_var & result) const
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // const cast to simulate mutable
+ InternalGuard guard (ACE_const_cast (TAO::PG_Object_Group *, this)->internals_);
+ this->properties_.export_properties(*result);
+}
+
+
+PortableGroup::TypeId TAO::PG_Object_Group::get_type_id () const
+{
+ // const cast to simulate mutable
+ InternalGuard guard(ACE_const_cast (TAO::PG_Object_Group *, this)->internals_);
+ return CORBA::string_dup(this->type_id_);
+}
+
+
+///////////////////
+// Internal method
+
+int TAO::PG_Object_Group::increment_version ()
+{
+ // assume internals is locked
+ int result = 0;
+ this->tagged_component_.object_group_ref_version += 1;
+ if (TAO_debug_level > 3)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%T %n (%P|%t) - Setting IOGR version to %u\n"),
+ ACE_static_cast(unsigned, this->tagged_component_.object_group_ref_version)
+ ));
+ }
+
+ // Set the version
+ if ( TAO::PG_Utils::set_tagged_component (this->reference_, this->tagged_component_) )
+ {
+ result = 1;
+ }
+ return result;
+}
+
+
+//////////////////
+// Internal method
+void TAO::PG_Object_Group::distribute_iogr (ACE_ENV_SINGLE_ARG_DECL)
+{
+ // assume internals is locked
+ CORBA::String_var iogr =
+ this->orb_->object_to_string (this->reference_.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+// size_t n_rep = 0; // for dump_ior below
+ for ( MemberMap_Iterator it = this->members_.begin();
+ it != this->members_.end();
+ ++it)
+ {
+ MemberInfo const * info = (*it).int_id_;
+ //
+ // Unchecked narrow means the member doesn't have to actually implement the TAO_UpdateObjectGroup interface
+ // PortableGroup::TAO_UpdateObjectGroup_var uog = PortableGroup::TAO_UpdateObjectGroup::_unchecked_narrow ( info->member_);
+ // but it doesn work: error message at replica is:
+ // TAO-FT (2996|976) - Wrong version information within the interceptor [1 | 0]
+ // TAO_Perfect_Hash_OpTable:find for operation 'tao_update_object_group' (length=23) failed
+ // back to using _narrow
+ PortableGroup::TAO_UpdateObjectGroup_var uog =
+ PortableGroup::TAO_UpdateObjectGroup::_narrow ( info->member_.in ());
+ if (! CORBA::is_nil (uog.in ()) )
+ {
+ ACE_TRY_NEW_ENV
+ {
+ if (TAO_debug_level > 3)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "PG (%P|%t) - Object_Group pushing IOGR to %s member: %s@%s.\n",
+ (info->is_primary_ ? "Primary" : "Backup"),
+ this->role_.c_str(),
+ ACE_static_cast(const char *, info->location_[0].id)
+ ));
+ }
+// dump_ior ("group", "iogr", this->tagged_component_.object_group_ref_version, iogr);
+// CORBA::String_var replica_ior = this->orb_->object_to_string(uog.in() ACE_ENV_ARG_PARAMETER);
+// dump_ior (info->location_[0].id, "ior", (this->tagged_component_.object_group_ref_version * 100) + n_rep++, replica_ior);
+ uog->tao_update_object_group (iogr.in (),
+ this->tagged_component_.object_group_ref_version,
+ info->is_primary_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ }
+ ACE_CATCHANY
+ {
+ // we expect an exception
+ // tao_update_object_group is not a real method
+ }
+ ACE_ENDTRY;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "TAO::PG_Object_Group::distribute iogr can't narrow member reference to PortableGroup::TAO_UpdateObjectGroup.\n"
+ ));
+ }
+ }
+}
+
+PortableGroup::Locations * TAO::PG_Object_Group::locations_of_members (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ InternalGuard guard(this->internals_);
+ PortableGroup::Locations * result = 0;
+
+ size_t count = this->members_.current_size ();
+
+ ACE_NEW_THROW_EX (
+ result,
+ PortableGroup::Locations (count),
+ CORBA::NO_MEMORY() );
+ ACE_CHECK_RETURN (0);
+
+ result->length (count);
+
+ size_t pos = 0;
+ for (MemberMap_Iterator it = this->members_.begin();
+ it != this->members_.end();
+ this->members_.begin())
+ {
+ const PortableGroup::Location & location = (*it).ext_id_;
+ PortableGroup::Location & out = (*result)[pos];
+ out = location;
+ }
+ return result;
+}
+
+CORBA::Object_ptr TAO::PG_Object_Group::get_member_reference (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ PortableGroup::MemberNotFound))
+{
+ InternalGuard guard(this->internals_);
+ CORBA::Object_var result = CORBA::Object::_nil ();
+
+ MemberInfo * info;
+ if (this->members_.find (the_location, info) == 0)
+ {
+ result = CORBA::Object::_duplicate(info->member_.in ());
+ }
+ else
+ {
+ ACE_THROW_RETURN (PortableGroup::MemberNotFound(), result._retn ());
+ }
+ return result._retn ();
+}
+
+
+PortableGroup::MembershipStyleValue TAO::PG_Object_Group::get_membership_style () const
+{
+ PortableGroup::MembershipStyleValue membership_style = 0;
+ if (! TAO::find (properties_, PortableGroup::PG_MEMBERSHIP_STYLE, membership_style))
+ {
+ membership_style = TAO_PG_MEMBERSHIP_STYLE;
+ }
+ return membership_style;
+}
+
+
+PortableGroup::MinimumNumberMembersValue TAO::PG_Object_Group::get_minimum_number_members () const
+{
+ PortableGroup::MinimumNumberMembersValue minimum_number_members = 0;
+ if (! TAO::find (properties_, PortableGroup::PG_MINIMUM_NUMBER_MEMBERS, minimum_number_members))
+ {
+ minimum_number_members = TAO_PG_MINIMUM_NUMBER_MEMBERS;
+ }
+ return minimum_number_members;
+}
+
+PortableGroup::InitialNumberMembersValue TAO::PG_Object_Group::get_initial_number_members () const
+{
+ PortableGroup::InitialNumberMembersValue initial_number_members = 0;
+ if (! TAO::find (properties_, PortableGroup::PG_INITIAL_NUMBER_MEMBERS, initial_number_members))
+ {
+ initial_number_members = TAO_PG_INITIAL_NUMBER_MEMBERS;
+ }
+ return initial_number_members;
+}
+
+void TAO::PG_Object_Group::create_member (
+ const PortableGroup::Location & the_location,
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::MemberAlreadyPresent,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::CannotMeetCriteria))
+{
+ InternalGuard guard(this->internals_);
+
+ if (0 != this->members_.find (the_location))
+ {
+ // @@ what if factories were passed as criteria?
+
+ CORBA::String_var factory_type;
+ PortableGroup::FactoryInfos_var factories =
+ this->factory_registry_->list_factories_by_role (
+ role_.c_str(),
+ factory_type.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // @@ what if factory_type != type_id != this->type_id_
+
+ int created = 0; // bool
+ CORBA::ULong factory_count = factories->length ();
+ for (CORBA::ULong factory_pos = 0;
+ ! created && factory_pos < factory_count;
+ ++factory_pos)
+ {
+ const PortableGroup::FactoryInfo & factory_info = (*factories)[factory_pos];
+ if (factory_info.the_location == the_location)
+ {
+ // @@ should we merge the_criteria with factory_info.the_criteria?
+
+ PortableGroup::GenericFactory::FactoryCreationId_var fcid;
+ CORBA::Object_var member = factory_info.the_factory->create_object (
+ type_id,
+ the_criteria,
+ fcid. out()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // convert the new member to a stringified IOR to avoid contamination with group info
+ CORBA::String_var member_ior_string =
+ orb_->object_to_string (member.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ PortableGroup::ObjectGroup_var new_reference =
+ this->add_member_to_iogr (member.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Convert new member back to a (non group) ior.
+ CORBA::Object_var member_ior =
+ this->orb_->string_to_object (member_ior_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ MemberInfo * info = 0;
+ ACE_NEW_THROW_EX (info, MemberInfo(
+ member_ior.in(),
+ the_location,
+ factory_info.the_factory,
+ fcid.in ()),
+ CORBA::NO_MEMORY());
+ ACE_CHECK;
+
+ if (this->members_.bind (the_location, info) != 0)
+ {
+ ACE_THROW(CORBA::NO_MEMORY());
+ }
+
+ this->reference_ = new_reference; // note var-to-var assignment does a duplicate
+ if (this->increment_version ())
+ {
+ this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ created = 1;
+ }
+ }
+ if (! created)
+ {
+ ACE_THROW (PortableGroup::NoFactory ());
+ }
+ }
+ else
+ {
+ ACE_THROW (PortableGroup::MemberAlreadyPresent ());
+ }
+
+}
+
+void TAO::PG_Object_Group::create_members (size_t count ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ PortableGroup::NoFactory
+ ))
+{
+ // assume internals is locked
+ // @@ what if factories were passed as criteria?
+
+ CORBA::String_var factory_type;
+ PortableGroup::FactoryInfos_var factories =
+ this->factory_registry_->list_factories_by_role (
+ role_.c_str(),
+ factory_type.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::ULong factory_count = factories->length ();
+ if (factory_count > 0)
+ {
+ CORBA::ULong factory_pos = 0;
+ while (members_.current_size () < count && factory_pos < factory_count)
+ {
+ const PortableGroup::FactoryInfo & factory_info = (*factories)[factory_pos];
+ const PortableGroup::Location & factory_location = factory_info.the_location;
+ if (0 != this->members_.find (factory_location))
+ {
+ ///////////////////////////////////////////
+ // If a factory refuses to create a replica
+ // it's not fatal.
+ ACE_TRY_NEW_ENV
+ {
+ PortableGroup::GenericFactory::FactoryCreationId_var fcid;
+ CORBA::Object_var member = factory_info.the_factory->create_object (
+ this->type_id_.in (),
+ factory_info.the_criteria,
+ fcid. out()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // convert the new member to a stringified IOR to avoid
+ // contamination with group info
+ CORBA::String_var member_ior_string =
+ orb_->object_to_string (member.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableGroup::ObjectGroup_var new_reference =
+ this->add_member_to_iogr (member.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Convert new member back to a (non group) ior.
+ CORBA::Object_var member_ior =
+ this->orb_->string_to_object (member_ior_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ MemberInfo * info = 0;
+ ACE_NEW_THROW_EX (info, MemberInfo(
+ member_ior.in(),
+ factory_location,
+ factory_info.the_factory,
+ fcid.in ()),
+ CORBA::NO_MEMORY());
+ ACE_TRY_CHECK;
+
+ if (this->members_.bind (factory_location, info) != 0)
+ {
+ ACE_TRY_THROW(CORBA::NO_MEMORY());
+ }
+ this->reference_ = new_reference; // note var-to-var assignment does a duplicate
+ }
+ ACE_CATCHANY
+ {
+ // log, but otherwise ignore the errorf
+ if (TAO_debug_level > 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("PG (%P|%t) Replica Factory @ %s refused create_object request for type %s\n"),
+ ACE_static_cast (const char *, factory_info.the_location[0].id),
+ ACE_static_cast (const char *, this->type_id_.in ())
+ ));
+ }
+ }
+ ACE_ENDTRY;
+ }
+ }
+
+ if (this->increment_version ())
+ {
+ this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+ else
+ {
+ ACE_THROW (PortableGroup::NoFactory());
+ }
+}
+
+void TAO::PG_Object_Group::initial_populate (ACE_ENV_SINGLE_ARG_DECL)
+{
+ InternalGuard guard(this->internals_);
+ if ( this->get_membership_style() == PortableGroup::MEMB_INF_CTRL )
+ {
+ PortableGroup::InitialNumberMembersValue initial_number_members = this->get_initial_number_members ();
+ if (members_.current_size () < initial_number_members)
+ {
+ this->create_members (initial_number_members ACE_ENV_ARG_PARAMETER);
+ }
+ }
+}
+
+void TAO::PG_Object_Group::minimum_populate (ACE_ENV_SINGLE_ARG_DECL)
+{
+ InternalGuard guard(this->internals_);
+ if ( this->get_membership_style() == PortableGroup::MEMB_INF_CTRL )
+ {
+ PortableGroup::MinimumNumberMembersValue minimum_number_members = this->get_minimum_number_members ();
+ if (members_.current_size () < minimum_number_members)
+ {
+ this->create_members (minimum_number_members ACE_ENV_ARG_PARAMETER);
+ }
+ }
+}
+
+int TAO::PG_Object_Group::has_member_at (const PortableGroup::Location & location )
+{
+ return (0 == this->members_.find (location));
+}
+
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class ACE_Hash_Map_Manager_Ex <
+ PortableGroup::Location,
+ TAO::PG_Object_Group::MemberInfo *,
+ TAO_PG_Location_Hash,
+ TAO_PG_Location_Equal_To,
+ TAO_SYNCH_MUTEX>;
+ template class ACE_Hash_Map_Entry <
+ PortableGroup::Location,
+ TAO::PG_Object_Group::MemberInfo *>;
+ template class ACE_Hash_Map_Iterator_Ex <
+ PortableGroup::Location,
+ TAO::PG_Object_Group::MemberInfo *,
+ TAO_PG_Location_Hash,
+ TAO_PG_Location_Equal_To,
+ TAO_SYNCH_MUTEX>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate ACE_Hash_Map_Manager_Ex <
+ PortableGroup::Location,
+ TAO::PG_Object_Group::MemberInfo *,
+ TAO_PG_Location_Hash,
+ TAO_PG_Location_Equal_To,
+ TAO::PG_Object_Group::MemberMapMutex>
+# pragma instantiate ACE_Hash_Map_Entry <PortableGroup::Location, TAO::PG_Object_Group::MemberInfo *>
+# pragma instantiate ACE_Hash_Map_Iterator_Ex <
+ PortableGroup::Location,
+ TAO::PG_Object_Group::MemberInfo *,
+ TAO_PG_Location_Hash,
+ TAO_PG_Location_Equal_To,
+ TAO::PG_Object_Group::MemberMapMutex>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h
new file mode 100644
index 00000000000..51ec24ae9b1
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h
@@ -0,0 +1,384 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file PG_Object_Group.h
+ *
+ * $Id$
+ *
+ * Manage all information related to an object group.
+ * @@ Note: the above description is optimistic. The hope is to eventually
+ * @@ consolidate all information related to an object group into this object.
+ * @@ however at the moment GenericFactory, ObjectGroupManager, and
+ * FT_ReplicationManager have parallel collections of object group
+ * information.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_PG_OBJECT_GROUP_H_
+#define TAO_PG_OBJECT_GROUP_H_
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "portablegroup_export.h"
+#include "PG_Property_Set.h"
+
+//////////////////////////////////
+// Classes declared in this header
+namespace TAO
+{
+ class PG_Object_Group;
+}
+
+/////////////////////////////////
+// Includes needed by this header
+#include <orbsvcs/PortableGroupC.h>
+#include <tao/PortableServer/PortableServer.h>
+#include <ace/Hash_Map_Manager_T.h>
+#include "PG_Location_Hash.h"
+#include "PG_Location_Equal_To.h"
+#include "PG_Object_Group_Manipulator.h"
+
+/////////////////////
+// Forward references
+
+namespace TAO_IOP
+{
+ class TAO_IOR_Property;
+}
+
+////////////////
+// Class declarations
+namespace TAO
+{
+ /**
+ */
+ class TAO_PortableGroup_Export PG_Object_Group
+ {
+ // Information about an object group member
+ struct MemberInfo
+ {
+ /// Reference to the member.
+ CORBA::Object_var member_;
+
+ /// The factory that was used to create this object
+ /// nil if application created.
+ PortableGroup::GenericFactory_var factory_;
+
+ /// FactoryCreationId assigned to the member. Empty if application created
+ PortableGroup::GenericFactory::FactoryCreationId factory_id_;
+
+ /// Location where this member exists
+ PortableGroup::Location location_;
+
+
+ /// TRUE if this is primary member
+ CORBA::Boolean is_primary_;
+
+
+ ///////////////
+ // Methods
+
+ /// Construct an application-supplied member.
+ MemberInfo (CORBA::Object_ptr member, const PortableGroup::Location & location);
+
+ /// Construct a infrastructure-created member.
+ MemberInfo (
+ CORBA::Object_ptr member,
+ const PortableGroup::Location & location,
+ PortableGroup::GenericFactory_ptr factory,
+ PortableGroup::GenericFactory::FactoryCreationId factory_id);
+
+ /// Destructor
+ ~MemberInfo();
+ };
+
+ typedef TAO_SYNCH_MUTEX MemberMapMutex;
+ typedef ACE_Hash_Map_Manager_Ex <
+ PortableGroup::Location,
+ MemberInfo *,
+ TAO_PG_Location_Hash,
+ TAO_PG_Location_Equal_To,
+ MemberMapMutex> MemberMap;
+ typedef ACE_Hash_Map_Entry <PortableGroup::Location, MemberInfo *> MemberMap_Entry;
+ typedef ACE_Hash_Map_Iterator_Ex <
+ PortableGroup::Location,
+ MemberInfo *,
+ TAO_PG_Location_Hash,
+ TAO_PG_Location_Equal_To,
+ MemberMapMutex> MemberMap_Iterator;
+
+ /////////////////////
+ // Construct/Destruct
+ public:
+ /**
+ * @@TODO DOC
+ */
+ PG_Object_Group (
+ CORBA::ORB_ptr orb,
+ PortableGroup::FactoryRegistry_ptr factory_registry,
+ TAO::PG_Object_Group_Manipulator & manipulator,
+ CORBA::Object_ptr empty_group,
+ const PortableGroup::TagGroupTaggedComponent & tagged_component,
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ TAO::PG_Property_Set * type_properties);
+
+
+ /// Destructor
+ ~PG_Object_Group ();
+
+ /////////////////
+ // public methods
+
+ public:
+ /// return a duplicated reference to this group (IOGR)
+ PortableGroup::ObjectGroup_ptr reference()const;
+
+ /**
+ * Note the caller receives a copy of the factoryinfos in the result argument.
+ * inefficient, but thread safe.
+ */
+ void get_group_specific_factories (PortableGroup::FactoryInfos & result) const;
+
+ /**
+ * get location of primary member
+ */
+ const PortableGroup::Location & get_primary_location() const;
+
+ /**
+ * returns a duplicate
+ * caller must release
+ */
+ PortableGroup::TypeId get_type_id ()const;
+
+
+ /**
+ * @@TODO DOC
+ */
+ PortableGroup::MembershipStyleValue get_membership_style() const;
+
+ /**
+ * @@TODO DOC
+ */
+ PortableGroup::MinimumNumberMembersValue get_minimum_number_members () const;
+
+ /**
+ * @@TODO DOC
+ */
+ PortableGroup::InitialNumberMembersValue get_initial_number_members () const;
+
+
+
+ /**
+ * @@TODO DOC
+ */
+ void set_properties_dynamically (
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * @@TODO DOC
+ */
+ void get_properties (PortableGroup::Properties_var & result) const
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * @@TODO DOC
+ */
+ PortableGroup::ObjectGroupId get_object_group_id () const;
+
+ /**
+ * Add a new member to the group.
+ * @param the_location the location for the new member
+ * @param member the member to be added
+ */
+ void add_member (
+ const PortableGroup::Location & the_location,
+ CORBA::Object_ptr member
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::ObjectNotAdded));
+
+ /**
+ * set the replica at the given location to be primary.
+ * Note: This should return void and throw FT::PrimaryNotSet
+ * but to avoid dependancies between PortableGroup and FaultTolerance
+ * it returns a boolean result. A false return means caller should
+ * throw FT::PrimaryNot_Set.
+ */
+ int set_primary_member (
+ TAO_IOP::TAO_IOR_Property * prop,
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::MemberNotFound
+ ));
+
+ /**
+ * @@TODO DOC
+ */
+ void remove_member (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::MemberNotFound));
+
+
+ /**
+ * @@TODO DOC
+ */
+ void create_member (
+ const PortableGroup::Location & the_location,
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::MemberAlreadyPresent,
+ PortableGroup::NoFactory,
+ PortableGroup::ObjectNotCreated,
+ PortableGroup::InvalidCriteria,
+ PortableGroup::CannotMeetCriteria));
+
+ /**
+ * @@TODO DOC
+ */
+ PortableGroup::Locations * locations_of_members (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * @@TODO DOC
+ */
+ CORBA::Object_ptr get_member_reference (
+ const PortableGroup::Location & the_location
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ PortableGroup::MemberNotFound));
+
+
+ /**
+ * @@TODO DOC
+ */
+ void initial_populate (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * @@TODO DOC
+ */
+ void minimum_populate (ACE_ENV_SINGLE_ARG_DECL);
+
+
+ /**
+ * @@TODO DOC
+ */
+ int has_member_at (const PortableGroup::Location & location );
+
+ /////////////////////////
+ // Implementation methods
+ private:
+
+ int increment_version ();
+
+ void distribute_iogr (ACE_ENV_SINGLE_ARG_DECL);
+
+ PortableGroup::ObjectGroup_ptr add_member_to_iogr(CORBA::Object_ptr member ACE_ENV_ARG_DECL);
+
+
+ void create_members (size_t count ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ PortableGroup::NoFactory
+ ));
+
+
+ /////////////////////////
+ // Forbidden methods
+ private:
+ PG_Object_Group ();
+ PG_Object_Group (const PG_Object_Group & rhs);
+ PG_Object_Group & operator = (const PG_Object_Group & rhs);
+
+
+ /////////////////
+ // Static Methods
+ public:
+
+ ///////////////
+ // Static Data
+ private:
+
+ ///////////////
+ // Data Members
+ private:
+
+ /**
+ * Protect internal state.
+ */
+ TAO_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<TAO_SYNCH_MUTEX> InternalGuard;
+
+ CORBA::ORB_var orb_;
+
+ /// Where to find the factories for replicas.
+ PortableGroup::FactoryRegistry_var factory_registry_;
+
+
+ // The object group manipulator
+ TAO::PG_Object_Group_Manipulator & manipulator_;
+
+ /// boolean true if empty group
+ int empty_;
+
+ ACE_CString role_;
+ PortableGroup::TypeId_var type_id_;
+
+ /**
+ * the GroupTaggedComponent that defines this group
+ * contains:
+ * GIOP::Version component_version;
+ * TAO_String_Manager group_domain_id;
+ * PortableGroup::ObjectGroupId object_group_id;
+ * PortableGroup::ObjectGroupRefVersion object_group_ref_version;
+ */
+ PortableGroup::TagGroupTaggedComponent tagged_component_;
+
+ /**
+ * the reference (IOGR) to this group
+ */
+ PortableGroup::ObjectGroup_var reference_;
+
+ /**
+ * The CORBA object id assigned to this object group
+ */
+ PortableServer::ObjectId_var object_id_;
+
+ // group members
+ MemberMap members_;
+
+ PortableGroup::Location primary_location_;
+
+ // Miscellaneous properties passed to create_object when this group
+ // was initially created. To be used to create new members.
+ TAO::PG_Property_Set properties_;
+
+ // Cached property information
+
+ PortableGroup::InitialNumberMembersValue initial_number_members_;
+ PortableGroup::MinimumNumberMembersValue minimum_number_members_;
+ PortableGroup::FactoryInfos group_specific_factories_;
+
+ };
+} // namespace TAO
+
+#include /**/ <ace/post.h>
+
+#endif // TAO_PG_OBJECT_GROUP_H_
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp
new file mode 100644
index 00000000000..febbee25e61
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp
@@ -0,0 +1,189 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file PG_Object_Group_Manipulator.cpp
+ *
+ * $Id$
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "PG_Object_Group_Manipulator.h"
+#include "PG_Utils.h"
+
+#include "tao/debug.h"
+#include <ace/OS_NS_stdio.h>
+
+ACE_RCSID (PortableGroup,
+ PG_Object_Group_Manipulator,
+ "$Id$")
+
+TAO::PG_Object_Group_Manipulator::PG_Object_Group_Manipulator ()
+ : orb_ (CORBA::ORB::_nil ())
+ , poa_ (PortableServer::POA::_nil ())
+ , iorm_ ()
+ , lock_ogid_ ()
+ , next_ogid_ (1) // don't use ogid 0
+{
+}
+
+TAO::PG_Object_Group_Manipulator::~PG_Object_Group_Manipulator ()
+{
+}
+
+void TAO::PG_Object_Group_Manipulator::allocate_ogid (PortableGroup::ObjectGroupId & ogid)
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_ogid_);
+
+ // The numerical value used for the ObjectId increases
+ // monotonically.
+
+ ogid = this->next_ogid_;
+ this->next_ogid_ += 1;
+}
+
+PortableServer::ObjectId * TAO::PG_Object_Group_Manipulator::convert_ogid_to_oid (PortableGroup::ObjectGroupId ogid) const
+{
+ // 4294967295 -- Largest 32 bit unsigned integer
+ char oid_str[11];
+ ACE_OS::snprintf (oid_str, sizeof(oid_str),
+ "%lu",
+ ACE_static_cast (ACE_UINT32,ogid));
+ oid_str[sizeof(oid_str) - 1] = '\0';
+
+ return PortableServer::string_to_ObjectId (oid_str);
+}
+
+PortableGroup::ObjectGroup_ptr
+TAO::PG_Object_Group_Manipulator::create_object_group (
+ const char * type_id,
+ const char * domain_id,
+ PortableGroup::ObjectGroupId & group_id
+ ACE_ENV_ARG_DECL)
+{
+ allocate_ogid(group_id);
+ PortableServer::ObjectId_var oid = convert_ogid_to_oid (group_id);
+
+ // Create a reference for the ObjectGroup
+ CORBA::Object_var object_group =
+ this->poa_->create_reference_with_id (group_id,
+ type_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ PortableGroup::TagGroupTaggedComponent tag_component;
+
+ tag_component.component_version.major = (CORBA::Octet) 1;
+ tag_component.component_version.minor = (CORBA::Octet) 0;
+ tag_component.group_domain_id = domain_id;
+ tag_component.object_group_id = group_id;
+ tag_component.object_group_ref_version = 0;
+
+ // Set the property
+ TAO::PG_Utils::set_tagged_component (object_group,
+ tag_component);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ return object_group._retn ();
+}
+
+void
+TAO::PG_Object_Group_Manipulator::init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL)
+{
+ ACE_ASSERT (CORBA::is_nil (this->orb_.in ()) && !CORBA::is_nil (orb));
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ ACE_ASSERT (CORBA::is_nil (this->poa_.in ()) && !CORBA::is_nil (poa));
+ this->poa_ = PortableServer::POA::_duplicate (poa);
+
+ // Get an object reference for the ORBs IORManipulation object!
+ CORBA::Object_var IORM = this->orb_->resolve_initial_references (
+ TAO_OBJID_IORMANIPULATION, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->iorm_ = TAO_IOP::TAO_IOR_Manipulation::_narrow (
+ IORM.in () ACE_ENV_ARG_PARAMETER);
+// ACE_CHECK;
+}
+
+int TAO::PG_Object_Group_Manipulator::set_primary (
+ TAO_IOP::TAO_IOR_Property * prop,
+ PortableGroup::ObjectGroup_ptr group,
+ CORBA::Object_ptr new_primary
+ ACE_ENV_ARG_DECL) const
+{
+ int sts = this->iorm_->is_primary_set (prop, group ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ if (sts)
+ {
+ (void)this->iorm_->remove_primary_tag (prop, group ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+ /////note: iorm takes it's parameters in the "wrong" order for this call
+ return this->iorm_->set_primary (prop, new_primary, group ACE_ENV_ARG_PARAMETER);
+}
+
+PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group_Manipulator::merge_iors(
+ TAO_IOP::TAO_IOR_Manipulation::IORList & list ACE_ENV_ARG_DECL) const
+{
+ return this->iorm_->merge_iors (list ACE_ENV_ARG_PARAMETER);
+}
+
+PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group_Manipulator::remove_profiles(
+ PortableGroup::ObjectGroup_ptr group,
+ PortableGroup::ObjectGroup_ptr profile
+ ACE_ENV_ARG_DECL) const
+{
+ return this->iorm_->remove_profiles(group, profile ACE_ENV_ARG_PARAMETER);
+}
+
+void dump_membership (const char * label, PortableGroup::ObjectGroup_ptr member)
+{
+ ACE_UNUSED_ARG (label);
+ ACE_UNUSED_ARG (member);
+#if 0
+ PortableGroup::TagFTGroupTaggedComponent ft_tag_component;
+ TAO_FT_IOGR_Property prop (ft_tag_component);
+ if (this->iorm_->is_primary_set (&prop, member))
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT ("%T %n (%P|%t) - %s: PRIMARY member.\n"),
+ label
+ ));
+ }
+ else
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT ("%T %n (%P|%t) - %s: backup member.\n"),
+ label
+ ));
+ }
+
+ PortableGroup::TagGroupTaggedComponent tag_component;
+ if (TAO::PG_Utils::get_tagged_component (member, tag_component))
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT ("%T %n (%P|%t) - %s: Group: .")
+ ACE_TEXT (" version: %u\n"),
+
+ label,
+ tag_component.object_group_ref_version
+ ));
+ }
+ else
+ {
+ ACE_DEBUG ( (LM_DEBUG,
+ ACE_TEXT ("%T %n (%P|%t) - %s: No group information found.\n"),
+ label
+ ));
+ }
+#endif
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h
new file mode 100644
index 00000000000..0dcd056438c
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h
@@ -0,0 +1,118 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file PG_Object_Group_Manipulator.h
+ *
+ * $Id$
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_PG_OBJECT_GROUP_MANIPULATOR_H
+#define TAO_PG_OBJECT_GROUP_MANIPULATOR_H
+
+#include /**/ "ace/pre.h"
+#include "orbsvcs/PortableGroupS.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "portablegroup_export.h"
+#include "tao/IORManipulation/IORManip_Loader.h"
+
+namespace TAO
+{
+
+ /**
+ * @class TAO::PG_Object_Group_Manipulator
+ *
+ * @brief PortableGroup::ObjectGroupManager implementation.
+ *
+ * The ObjectGroupManager provides the interface necessary to
+ * facilitate application-controlled object group membership.
+ */
+ class TAO_PortableGroup_Export PG_Object_Group_Manipulator
+ {
+ public:
+
+ /// Constructor.
+ PG_Object_Group_Manipulator ();
+
+ /// Destructor.
+ ~PG_Object_Group_Manipulator ();
+
+ /**
+ * Initializes the group creator.
+ */
+ void init (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa
+ ACE_ENV_ARG_DECL);
+
+ /**
+ * Create an empty object group.
+ */
+ PortableGroup::ObjectGroup_ptr create_object_group (
+ const char * type_id,
+ const char * domain_id,
+ PortableGroup::ObjectGroupId & group_id
+ ACE_ENV_ARG_DECL);
+
+ PortableGroup::ObjectGroup_ptr remove_profiles (
+ PortableGroup::ObjectGroup_ptr group,
+ PortableGroup::ObjectGroup_ptr profile
+ ACE_ENV_ARG_DECL) const;
+
+ PortableGroup::ObjectGroup_ptr merge_iors (
+ TAO_IOP::TAO_IOR_Manipulation::IORList & iors
+ ACE_ENV_ARG_DECL) const;
+
+ int set_primary (
+ TAO_IOP::TAO_IOR_Property * prop,
+ PortableGroup::ObjectGroup_ptr reference,
+ CORBA::Object_ptr new_primary
+ ACE_ENV_ARG_DECL) const;
+
+ void dump_membership (const char * label,
+ PortableGroup::ObjectGroup_ptr member) const;
+
+ private:
+
+ /**
+ * Allocate an ogid for a new object group
+ */
+ void allocate_ogid (PortableGroup::ObjectGroupId & ogid);
+
+ /**
+ * convert numeric OGID to Sequence<Octet> oid
+ */
+ PortableServer::ObjectId *
+ convert_ogid_to_oid (PortableGroup::ObjectGroupId ogid) const;
+
+ private:
+
+ /// The orb
+ CORBA::ORB_var orb_;
+
+ /// Reference to the POA that created the object group references.
+ PortableServer::POA_var poa_;
+
+ /// The ORBs IORManipulation object
+ TAO_IOP::TAO_IOR_Manipulation_var iorm_;
+
+ /// Lock used to synchronize access to next_ogid_.
+ TAO_SYNCH_MUTEX lock_ogid_;
+
+ /// Next ogid to be allocated.
+ PortableGroup::ObjectGroupId next_ogid_;
+
+ };
+} //namespace TAO
+
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO::PG_OBJECT_GROUP_CREATOR_H */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp
new file mode 100644
index 00000000000..ab025e59469
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp
@@ -0,0 +1,67 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Properties_Encoder.cpp
+ *
+ * $Id$
+ *
+ * This file implements classes to help manage the Properties
+ * defined in the Portable Object Group.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#include "PG_Properties_Encoder.h"
+
+//////////
+// Properties_Encoder
+TAO_PG::Properties_Encoder::Properties_Encoder ()
+{
+}
+
+TAO_PG::Properties_Encoder::~Properties_Encoder ()
+{
+}
+
+
+void TAO_PG::Properties_Encoder::add (
+ const char * name,
+ const PortableGroup::Value & value)
+{
+ NamedValue nv(name, value);
+ values_.push_back(nv);
+}
+
+void TAO_PG::Properties_Encoder::encode (
+ PortableGroup::Properties * property_set) const
+{
+ ACE_ASSERT (property_set != 0);
+ size_t count = values_.size();
+ property_set->length(count);
+ for( size_t nItem = 0; nItem < count; ++nItem )
+ {
+ const NamedValue & nv = values_[nItem];
+ PortableGroup::Property & property = (*property_set)[nItem];
+ PortableGroup::Name & nsName = property.nam;
+ PortableGroup::Value & anyValue = property.val;
+ // assign the value
+ anyValue = (nv.second());
+
+ // assign the name
+ // @@: This restricts the name to a single level with no "kind"
+ // @@: remove this restriction (?)
+ nsName.length(1);
+ CosNaming::NameComponent & nc = nsName[0];
+
+ nc.id = CORBA::string_dup (nv.first().c_str());
+ // nc.kind defaults to empty. Leave it that way (for now)
+ }
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Pair< ACE_CString, PortableGroup::Value>;
+ template class ACE_Vector< TAO_PG::Properties_Encoder::NamedValue, 10 >;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Pair< ACE_CString, PortableGroup::Value>
+# pragma instantiate ACE_Vector< TAO_PG::Properties_Encoder::NamedValue, 10 >
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h
new file mode 100644
index 00000000000..ab5a4e56242
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h
@@ -0,0 +1,68 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Properties_Encoder.h
+ *
+ * $Id$
+ *
+ * This file declares a class to help manage PortableGroup::Properties
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#ifndef TAO_PG_PROPERTIES_ENCODER_H
+#define TAO_PG_PROPERTIES_ENCODER_H
+#include "orbsvcs/PortableGroupS.h"
+#include "orbsvcs/CosNamingC.h"
+#include "portablegroup_export.h"
+
+#include "ace/Vector_T.h"
+#include "ace/Pair_T.h"
+
+namespace TAO_PG
+{
+ /**
+ * A helper to assemble a set of properties into a PortableGroup::Properties structure.
+ *
+ * To use a Properties_Encoder:
+ * Create it.
+ * Add properties to it using the add method.
+ * Allocate a new PortableGroup::Properties.
+ * Use the encode method to transfer the properties into the
+ * PortableGroup::Properties.
+ */
+ class TAO_PortableGroup_Export Properties_Encoder
+ {
+ typedef ACE_Pair< ACE_CString, PortableGroup::Value> NamedValue;
+ typedef ACE_Vector< NamedValue, 10 > NamedValueVec;
+
+ public:
+ /**
+ * Construct an empty set of properties.
+ */
+ Properties_Encoder ();
+
+ /// standard destructor
+ ~Properties_Encoder ();
+
+ /**
+ * add a name/value property to the Properties_Encoder.
+ */
+ void add (const char * name, const PortableGroup::Value & value);
+
+ /**
+ * Encode all properties in this Properties_Encoder into a PortableGroup::Properties.
+ *
+ */
+ void encode (PortableGroup::Properties * property_set) const;
+
+ private:
+ Properties_Encoder (const Properties_Encoder & rhs);
+ Properties_Encoder & operator = (const Properties_Encoder & rhs);
+ private:
+ NamedValueVec values_;
+ };
+
+} //namespace TAO_PG
+
+#endif // TAO_PG_PROPERTIES_ENCODER_H
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp
new file mode 100644
index 00000000000..e888aa0a37f
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp
@@ -0,0 +1,173 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Properties_Support.cpp
+ *
+ * $Id$
+ *
+ * This file implements classes to help manage PortableGroup::Properties
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "PG_Properties_Support.h"
+
+TAO::PG_Properties_Support::PG_Properties_Support ()
+{
+}
+
+TAO::PG_Properties_Support::~PG_Properties_Support ()
+{
+
+}
+
+void TAO::PG_Properties_Support::set_default_property (const char * name,
+ const PortableGroup::Value & value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->default_properties_.set_property(name, value ACE_ENV_ARG_PARAMETER);
+}
+
+void TAO::PG_Properties_Support::set_default_properties (const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->default_properties_.decode (props ACE_ENV_ARG_PARAMETER);
+}
+
+PortableGroup::Properties *
+TAO::PG_Properties_Support::get_default_properties (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ PortableGroup::Properties_var result;
+ ACE_NEW_THROW_EX ( result, PortableGroup::Properties(), CORBA::NO_MEMORY());
+ ACE_CHECK_RETURN (0);
+ this->default_properties_.export_properties (*result);
+ return result._retn ();
+}
+
+void TAO::PG_Properties_Support::remove_default_properties (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->default_properties_.remove (props);
+}
+
+void
+TAO::PG_Properties_Support::set_type_properties (
+ const char *type_id,
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty))
+{
+ InternalGuard guard(this->internals_);
+
+ TAO::PG_Property_Set * typeid_properties;
+ if ( 0 != this->properties_map_.find (type_id, typeid_properties))
+ {
+ ACE_NEW_THROW_EX (
+ typeid_properties,
+ TAO::PG_Property_Set (overrides, & this->default_properties_),
+ CORBA::NO_MEMORY());
+ this->properties_map_.bind (type_id, typeid_properties);
+ }
+ typeid_properties->clear ();
+ typeid_properties->decode (overrides ACE_ENV_ARG_PARAMETER);
+}
+
+PortableGroup::Properties *
+TAO::PG_Properties_Support::get_type_properties (
+ const char *type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ PortableGroup::Properties_var result;
+ ACE_NEW_THROW_EX (result, PortableGroup::Properties(), CORBA::NO_MEMORY ());
+
+ InternalGuard guard(this->internals_);
+
+ TAO::PG_Property_Set * typeid_properties;
+ if ( 0 != this->properties_map_.find (type_id, typeid_properties))
+ {
+ typeid_properties->export_properties (*result);
+ }
+ return result._retn ();
+}
+
+void
+TAO::PG_Properties_Support::remove_type_properties (
+ const char *type_id,
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ( (CORBA::SystemException))
+{
+ // NOTE: do not actually delete the properties for this type.
+ // There may be object groups depending on these.
+ // Reference counted pointers could be used to allow property sets
+ // for unused typeids to be deleted.
+
+ InternalGuard guard(this->internals_);
+
+ TAO::PG_Property_Set * typeid_properties;
+ if ( 0 != this->properties_map_.find (type_id, typeid_properties))
+ {
+ typeid_properties->remove (props);
+ }
+}
+
+
+TAO::PG_Property_Set *
+TAO::PG_Properties_Support::find_typeid_properties (
+ const char *type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ InternalGuard guard(this->internals_);
+
+ TAO::PG_Property_Set * typeid_properties = 0;
+ if ( 0 != this->properties_map_.find (type_id, typeid_properties))
+ {
+ ACE_NEW_THROW_EX (
+ typeid_properties,
+ TAO::PG_Property_Set (& this->default_properties_),
+ CORBA::NO_MEMORY());
+ this->properties_map_.bind (type_id, typeid_properties);
+ }
+ return typeid_properties;
+}
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class ACE_Hash_Map_Manager<
+ ACE_CString,
+ ::TAO::PG_Property_Set *,
+ TAO_SYNCH_MUTEX>;
+
+ template class ACE_Hash_Map_Iterator<
+ ACE_CString,
+ ::TAO::PG_Property_Set *,
+ TAO_SYNCH_MUTEX>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate ACE_Hash_Map_Manager<
+ ACE_CString,
+ ::TAO::PG_Property_Set *,
+ TAO_SYNCH_MUTEX>
+
+# pragma instantiate ACE_Hash_Map_Iterator<
+ ACE_CString,
+ ::TAO::PG_Property_Set *,
+ TAO_SYNCH_MUTEX>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h
new file mode 100644
index 00000000000..981264f4fa6
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h
@@ -0,0 +1,210 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Properties_Support.h
+ *
+ * $Id$
+ *
+ * This file declares classes to help manage the PortableGroup::Properties
+ * It serves roughly the same purpose as PG_PropertiesManager, but takes a
+ * different approach that suits the needs of FT CORBA.
+ * It would be possible to replace PG_PropertiesManager, or implement it in
+ * terms of PG_Properties_Support at some time in the future.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#ifndef TAO_PG_PROPERTIES_SUPPORT_H
+#define TAO_PG_PROPERTIES_SUPPORT_H
+
+#include "PG_Property_Set.h"
+#include "portablegroup_export.h"
+
+namespace TAO
+{
+ /**
+ * This Properties Support object manages Property Sets (TAO::PG_Property_Set).
+ *
+ * One set, default_properties_,
+ * acts as a "global" default set of properties.
+ *
+ * The collection, properties_map_, contains a set of properties for each
+ * PortableGroup::type_id. The default set acts as a "parent" for each of
+ * these type_id sets.
+ *
+ * Expected use: When an object group is created that implements the interface
+ * identified by type_id, the corresponding typed_id propery set acts as a
+ * parent to the Property set contained in the PG_Object_Group.
+ *
+ * This heirarchy of property sets provides the correct property behavior. A
+ * request for a propery to an ObjectGroup will be satisfied from:
+ * by the object group group property set, or
+ * the typed_id property set, or
+ * the default property set, or
+ * the request will fail..
+ *
+ * Note that changes to type_id or default properties will be visible
+ * immediately at the ObjectGroup level.
+ */
+
+ class TAO_PortableGroup_Export PG_Properties_Support
+ {
+ typedef ACE_Hash_Map_Manager<
+ ACE_CString,
+ ::TAO::PG_Property_Set *,
+ TAO_SYNCH_MUTEX> Properties_Map;
+ typedef ACE_Hash_Map_Iterator<
+ ACE_CString,
+ ::TAO::PG_Property_Set *,
+ TAO_SYNCH_MUTEX> Properties_Map_Iterator;
+
+ public:
+ PG_Properties_Support ();
+ ~PG_Properties_Support ();
+
+ /**
+ * Set a single default property.
+ * Overwriting any value previously set for that property.
+ * Leaving all other properties untouched.
+ * @param name the name of the property to set
+ * @value an Any containing the value.
+ */
+ void set_default_property (const char * name,
+ const PortableGroup::Value & value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * Update the default property set.
+ *
+ * Properties that appear in props are replaced in or added to the default
+ * property set. Properties that do not appear in props are unchanged.
+ *
+ * @param props the set of properties to update the defaults.
+ */
+ void set_default_properties (const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * Export the default properties in PortableGroup::Properties format.
+ *
+ * This produces the properties in a format suitable for use across
+ * a CORBA interface.
+ * The caller owns the resulting Properties and must release it to avoid
+ * resource leaks.
+ * @returns a newly allocated PortableGroup::Properties.
+ */
+ PortableGroup::Properties * get_default_properties (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * Undefine default properties that appear in props.
+ *
+ * Properties that are defined in props are removed from the default
+ * property set. Removal is done by name. The property values do not
+ * have to match. There is no penalty for attempting to remove a property
+ * that does not exist.
+ * @param props a set of propertys to be removed by name.
+ */
+ void remove_default_properties (
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * Override or define properties associated with a type_id.
+ *
+ * If a property set does not exist for type_id, a new one will be created.
+ * Any property included in overrides will be set or replaced in the type_id
+ * property set. Any property not in overrides will be unchanged.
+ *
+ * Contrary to the "throws" specification, this method does not attempt
+ * to validate the properties because doing so would unnecessarily constrain
+ * the uses to which this class could be put (although one could strategize the
+ * validation.)
+ */
+ void set_type_properties (
+ const char *type_id,
+ const PortableGroup::Properties & overrides
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ PortableGroup::InvalidProperty,
+ PortableGroup::UnsupportedProperty));
+
+ /**
+ * Export the property set in a PortableGroup::Properties format.
+ *
+ * This produces the properties associated with a type_id -- including
+ * any default properties that have not been overridden at the type_id level
+ * in a format suitable for use across a CORBA interface.
+ *
+ * The caller owns the resulting Properties and must release it to avoid
+ * resource leaks.
+ *
+ * Compare this method to find_typeid_properties which returns a pointer
+ * to the internal representation of the properties in TAO::PG_Property_Set
+ * format. This is more efficient, but suitable only for internal use.
+ *
+ * @param type_id identifies the set of properties to be exported.
+ * @returns a newly allocated PortableGroup::Properties that must be released by the caller.
+ */
+ PortableGroup::Properties * get_type_properties (
+ const char *type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException));
+
+ /**
+ * Export the property set in a PortableGroup::Properties format.
+ *
+ * This method is intended to provide a parent
+ * for the property set in a newly-created Object Group of the given
+ * type_id.
+ *
+ * Callers who intend to send the property set across a CORBA interface
+ * should use the get_type_properties method.
+ *
+ * @param type_id identifies the set of properties to be found.
+ * @returns a pointer to a Property_Set owned by this Properties_Support object.
+ */
+ TAO::PG_Property_Set * find_typeid_properties (
+ const char *type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * Undefine default properties that appear in props.
+ *
+ * Properties that are defined in props are removed from the type_id
+ * property set. Removal is done by name. The property values do not
+ * have to match. There is no penalty for attempting to remove a property
+ * that does not exist.
+ * @param props a set of propertys to be removed by name from the type_id set.
+ */
+ void remove_type_properties (
+ const char *type_id,
+ const PortableGroup::Properties & props
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException));
+
+ ///////////////
+ // Data Members
+ private:
+ /**
+ * Protect internal state.
+ */
+ TAO_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<TAO_SYNCH_MUTEX> InternalGuard;
+
+ /// The default property set.
+ TAO::PG_Property_Set default_properties_;
+
+ /// A collection of property sets indexed by type_id.
+ Properties_Map properties_map_;
+ };
+} //namespace TAO_PG
+
+#endif // TAO_PG_PROPERTIES_SUPPORT_H
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp
new file mode 100644
index 00000000000..39ca69f7238
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp
@@ -0,0 +1,373 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Property_Set.cpp
+ *
+ * $Id$
+ *
+ * This file implements classes to help manage the Properties
+ * defined in the Portable Object Group.
+ *
+ * Note: this started as a simple helper class to make decoding sets of properties
+ * easier, but expanded to provide more general support for managing sets of properties.
+ *
+ * A more appropriate name would be PG_Properties_Set. Maybe this can be changed someday.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#include "PG_Property_Set.h"
+#include <tao/debug.h>
+
+//////////////////////
+// PG_Property_Set
+
+TAO::PG_Property_Set::PG_Property_Set()
+ : defaults_ (0)
+{
+}
+
+
+TAO::PG_Property_Set::PG_Property_Set (
+ const PortableGroup::Properties & property_set
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ : defaults_ (0)
+{
+ this->decode (property_set ACE_ENV_ARG_PARAMETER);
+}
+
+TAO::PG_Property_Set::PG_Property_Set (
+ const PortableGroup::Properties & property_set,
+ PG_Property_Set * defaults
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ : defaults_ (defaults)
+{
+ this->decode (property_set ACE_ENV_ARG_PARAMETER);
+}
+
+
+TAO::PG_Property_Set::PG_Property_Set (
+ PG_Property_Set * defaults)
+ : defaults_ (defaults)
+{
+}
+
+TAO::PG_Property_Set::~PG_Property_Set ()
+{
+ this->clear ();
+}
+
+void TAO::PG_Property_Set::decode (const PortableGroup::Properties & property_set ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ InternalGuard guard(this->internals_);
+
+ size_t count = property_set.length ();
+ for (size_t nItem = 0; nItem < count; ++nItem)
+ {
+ const PortableGroup::Property & property = property_set[nItem];
+ const CosNaming::Name & nsName = property.nam;
+ // note assumption one level name with no kind
+ // @@ TODO: fix this
+ const CosNaming::NameComponent & nc = nsName[0];
+
+ this->set_property (ACE_static_cast (const char *, nc.id), property.val ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+#if 0
+ ACE_CString name = ACE_static_cast (const char *, nc.id);
+
+ const PortableGroup::Value * value_copy;
+ ACE_NEW_THROW_EX (value_copy, PortableGroup::Value (property.val), CORBA::NO_MEMORY ());
+ ACE_CHECK;
+
+ const PortableGroup::Value * replaced_value = 0;
+ if (0 == this->values_.rebind (name, value_copy, replaced_value))
+ {
+ if (0 != replaced_value)
+ {
+ delete replaced_value;
+ }
+ }
+ else
+ {
+ if (TAO_debug_level > 3)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: Property_set: rebind failed.\n"
+ ));
+ }
+ // @@ should throw something here
+ ACE_THROW (CORBA::NO_MEMORY ());
+ }
+#endif
+ }
+}
+
+void TAO::PG_Property_Set::clear ()
+{
+ InternalGuard guard(this->internals_);
+ for (ValueMapIterator it = this->values_.begin ();
+ it != this->values_.end ();
+ ++it)
+ {
+ delete (*it).int_id_;
+ }
+ this->values_.unbind_all ();
+}
+
+void TAO::PG_Property_Set::remove (const PortableGroup::Properties & property_set)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ InternalGuard guard(this->internals_);
+ size_t count = property_set.length ();
+ for (size_t nItem = 0; nItem < count; ++nItem)
+ {
+ const PortableGroup::Property & property = property_set[nItem];
+ const CosNaming::Name & nsName = property.nam;
+ // note assumption one level name with no kind
+ // @@ TODO: fix this
+ const CosNaming::NameComponent & nc = nsName[0];
+ ACE_CString name = ACE_static_cast (const char *, nc.id);
+
+ const PortableGroup::Value * deleted_value;
+ if ( 0 == this->values_.unbind (name, deleted_value))
+ {
+ delete deleted_value;
+ }
+ else
+ {
+ // don't worry about it.
+ }
+ }
+}
+
+void TAO::PG_Property_Set::set_property (
+ const char * name,
+ const PortableGroup::Value & value
+ ACE_ENV_ARG_DECL)
+{
+ ACE_CString key (name);
+ PortableGroup::Value * value_copy;
+ ACE_NEW_THROW_EX (
+ value_copy, PortableGroup::Value (value),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK;
+
+ const PortableGroup::Value * replaced_value = 0;
+ if (0 == this->values_.rebind (name, value_copy, replaced_value))
+ {
+ if (0 != replaced_value)
+ {
+ delete replaced_value;
+ }
+ }
+ else
+ {
+ if (TAO_debug_level > 3)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: Property_set: rebind failed.\n"
+ ));
+ }
+ // @@ should throw something here
+ ACE_THROW (CORBA::NO_MEMORY ());
+ }
+}
+
+
+
+void TAO::PG_Property_Set::export_properties(PortableGroup::Properties & property_set) const
+{
+ ValueMap merged_values;
+ this->merge_properties (merged_values);
+
+ property_set.length (merged_values.current_size ());
+
+ size_t pos = 0;
+ for (ValueMapIterator it = merged_values.begin ();
+ it != merged_values.end ();
+ ++it)
+ {
+ const ACE_CString & name = (*it).ext_id_;
+ const PortableGroup::Value * value = (*it).int_id_;
+
+ PortableGroup::Property & property = property_set[pos];
+ CosNaming::Name & nsName = property.nam;
+ //@@ note assumption: single level name, no kind
+ nsName.length(1);
+ CosNaming::NameComponent & nc = nsName[0];
+ nc.id = CORBA::string_dup (name.c_str ());
+ PortableGroup::Value & val = property.val;
+ val = *value; // NOTE: Any assignment does a deep copy
+ ++pos;
+ }
+ ACE_ASSERT (pos == property_set.length ());
+}
+
+void TAO::PG_Property_Set::merge_properties (ValueMap & merged_values) const
+{
+ InternalGuard guard(ACE_const_cast (TAO::PG_Property_Set *, this)->internals_);
+ if (0 != this->defaults_)
+ {
+ this->defaults_->merge_properties (merged_values);
+ }
+ // note AFICT ACE_Hash_Map does not support const iterators, hence the const cast.
+ ValueMap & mutable_values = ACE_const_cast (ValueMap &, this->values_);
+ for (ValueMapIterator it = mutable_values.begin ();
+ it != mutable_values.end ();
+ ++it)
+ {
+ merged_values.rebind ( (*it).ext_id_, (*it).int_id_);
+ }
+}
+
+
+
+int TAO::PG_Property_Set::find (
+ const ACE_CString & key,
+ const PortableGroup::Value *& pValue) const
+{
+ InternalGuard guard(ACE_const_cast (TAO::PG_Property_Set *, this)->internals_);
+ int found = (0 == this->values_.find (key, pValue));
+ if (! found)
+ {
+ if (0 != this->defaults_)
+ {
+ found = this->defaults_->find (key, pValue);
+ }
+ }
+ return found;
+}
+
+//#define PG_PS_UNIT_TEST
+#ifdef PG_PS_UNIT_TEST
+#include "PG_Properties_Encoder.h"
+
+int TAO_PG::test_encode_decode ()
+{
+ int result = 1;
+ static const long testLong = 123456L;
+ static const char * testLongKey = "MyLong";
+
+ static const char * testString = "Now is the time for all good people.";
+ static const char * testStringKey = "plover";
+
+ static const double testDouble = 3.1415;
+ static const char * testDoubleKey = "pi";
+
+ PortableGroup::Properties_var property_set = new PortableGroup::Properties;
+ //scope encoder to be sure its gone before decoding
+ {
+ TAO_PG::Encoder encoder;
+ PortableGroup::Value value;
+ value <<= (CORBA::Long) testLong;
+ encoder.add (testLongKey, value);
+
+ value <<= testString;
+ encoder.add (testStringKey, value);
+
+ value <<= (CORBA::Double) testDouble;
+ encoder.add (testDoubleKey, value);
+
+ encoder.encode (property_set);
+ }
+
+ TAO::PG_Property_Set decoder (property_set);
+
+ CORBA::Long longResult = 0;
+ if (find (decoder, testLongKey, longResult) )
+ {
+ if (longResult != testLong)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: %s = %d expecting %d\n",
+ testLongKey,
+ (int)longResult,
+ (int)testLong
+ ));
+ result = 0;
+ }
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: Can't find value for %s\n", testLongKey
+ ));
+ result = 0;
+ }
+
+ const char * stringResult = "";
+ if (find (decoder, testStringKey, stringResult))
+ {
+ if (0 != ACE_OS::strcmp (testString, stringResult))
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: %s = \"%s\" expecting \"%s\"\n",
+ testStringKey,
+ (int)stringResult,
+ (int)testString
+ ));
+ result = 0;
+ }
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: Can't find value for %s\n", testStringKey
+ ));
+ result = 0;
+ }
+
+
+ CORBA::Double doubleResult = 0.0;
+ if (find (decoder, testDoubleKey, doubleResult))
+ {
+ if (doubleResult != testDouble)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: %s = \"%f\" expecting \"%f\"\n",
+ testDoubleKey,
+ doubleResult,
+ testDouble
+ ));
+ result = 0;
+ }
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%n\n%T: Can't find value for %s\n", testDoubleKey
+ ));
+ result = 0;
+ }
+
+ return result;
+}
+#endif // PG_PS_UNIT_TEST
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Hash_Map_Manager<
+ ACE_CString,
+ const PortableGroup::Value *,
+ ACE_SYNCH_NULL_MUTEX>;
+
+ typedef class ACE_Hash_Map_Iterator<
+ ACE_CString,
+ const PortableGroup::Value *,
+ ACE_SYNCH_NULL_MUTEX>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate ACE_Hash_Map_Manager<
+ ACE_CString,
+ const PortableGroup::Value *,
+ ACE_SYNCH_NULL_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator<
+ ACE_CString,
+ const PortableGroup::Value *,
+ ACE_SYNCH_NULL_MUTEX>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h
new file mode 100644
index 00000000000..5308926aa7e
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h
@@ -0,0 +1,193 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Property_Set.h
+ *
+ * $Id$
+ *
+ * This file declares classes to help manage the Properties
+ * defined in the Portable Object Group.
+ *
+ * Note: this started as a simple helper class to make decoding sets of properties
+ * easier, but expanded to provide more general support for managing sets of properties.
+ *
+ * A more appropriate name would be PG_Properties_Set. Maybe this can be changed someday.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#ifndef TAO_PG_PROPERTY_SET
+#define TAO_PG_PROPERTY_SET
+#include "portablegroup_export.h"
+#include <orbsvcs/PortableGroupS.h>
+#include /**/ "ace/pre.h"
+#include <orbsvcs/CosNamingC.h>
+#include <ace/Hash_Map_Manager.h>
+#include <ace/SString.h>
+
+namespace TAO
+{
+
+ /**
+ * The PG_Property_Set captures the set of properties from a
+ * PortableGroup::Properties structure in a more usable format (a
+ * hash map), and provides methods for operating on these properties.
+ *
+ * It supports "chains" of property sets to implement default value semantics.
+ * If a requested property is not found in this set, the default set(s) are searched.
+ * Thus, any property found at this level overrides the defaults.
+ *
+ * See: PG_Properties_Support for more details on use of this object.
+ *
+ * A PG_Property_Set may also be used for it's original purpose as a stand-alone
+ * helper class for extracting values from PortableGroup::Properties.
+ */
+
+ class TAO_PortableGroup_Export PG_Property_Set
+ {
+ typedef ACE_Hash_Map_Manager<
+ ACE_CString,
+ const PortableGroup::Value *,
+ ACE_SYNCH_NULL_MUTEX> ValueMap;
+ typedef ACE_Hash_Map_Iterator<
+ ACE_CString,
+ const PortableGroup::Value *,
+ ACE_SYNCH_NULL_MUTEX> ValueMapIterator;
+
+ public:
+
+ /**
+ * constructor: empty set with no defaults.
+ */
+ PG_Property_Set (void);
+
+ /**
+ * constructor
+ * @param property_set the properties to be decoded
+ */
+ PG_Property_Set (const PortableGroup::Properties & property_set
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * constructor with defaults
+ * @param property_set the properties to be decoded
+ * @param defaults a propert set decoder that supplies default values.
+ */
+ PG_Property_Set (const PortableGroup::Properties & property_set,
+ PG_Property_Set * defaults
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * constructor with defaults, but no properties (yet)
+ * (note this is not a copy constructor)
+ * @param defaults a propert set decoder that supplies default values.
+ */
+ PG_Property_Set (PG_Property_Set * defaults);
+
+
+ ~PG_Property_Set ();
+
+ /**
+ * general purpose find. returns a pointer to an Any
+ * if templated methods were available:
+ * template <typename TYPE >
+ * int find (const ACE_CString & key, TYPE & value) const;
+ * instead, see global function below
+ * @param key the (simple) name of the property
+ * @param pValue an out parameter to receive a pointer to the Any containing the value
+ * @returns boolean true if found
+ */
+ int find (const ACE_CString & key, const PortableGroup::Value *& pValue)const;
+
+
+ /**
+ * Decode additional properties
+ * Duplicate values replace previous values.
+ * @param property_set the properties to be decoded
+ */
+ void decode (const PortableGroup::Properties & property_set ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * Clear properties
+ * Does not clear default properties.
+ */
+ void clear ();
+
+ void remove (const PortableGroup::Properties & property_set)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * set or replace a single property
+ */
+ void set_property (
+ const char * name,
+ const PortableGroup::Value & value
+ ACE_ENV_ARG_DECL);
+
+
+ /**
+ * Export the properties to a PortableGroup::Properties
+ *
+ * This method is intended to be used to implement the PropertyManager::get_*_properties
+ * methods. If you want to access the properties for any purpose other than exporting
+ * them across a CORBA interface, it is much more efficient to use the find interface.
+ *
+ */
+ void export_properties(PortableGroup::Properties & property_set) const;
+
+ /////////////////////////
+ // Implementation Methods
+ private:
+ /**
+ * populate a ValueMap with the properties known to this decoder
+ * including but overriding default values
+ */
+ void merge_properties (ValueMap & merged_values) const;
+
+ ////////////////////
+ // Forbidden methods
+ private:
+ PG_Property_Set(const PG_Property_Set & rhs);
+ PG_Property_Set & operator = (const PG_Property_Set & rhs);
+
+ ///////////////
+ // Data Members
+ private:
+ /**
+ * Protect internal state.
+ */
+ TAO_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<TAO_SYNCH_MUTEX> InternalGuard;
+
+ ValueMap values_;
+ /**
+ * a parent to another property decoder that provides default values
+ * these can be chained indefinitely.
+ * @@ TODO: reference counted pointers would be a good idea here.
+ */
+ PG_Property_Set * defaults_;
+ };
+
+
+#ifdef PG_PS_UNIT_TEST
+
+ /**
+ * unit test: encode and decode properties.
+ * Initialize CORBA before calling this function.
+ * Success is silent, failure prints on cerr.
+ * @returns 1 if test passed; 0 if test failed.
+ */
+ int test_encode_decode();
+#endif // PG_PS_UNIT_TEST
+} //namespace TAO
+
+////////////////////////////////////
+// include templated helper function
+#include "PG_Property_Set_Find.h"
+
+#include /**/ "ace/post.h"
+
+#endif // TAO_PG_PROPERTY_SET
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h
new file mode 100644
index 00000000000..b06794df571
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h
@@ -0,0 +1,50 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Property_Set_Find.h
+ *
+ * $Id$
+ *
+ * This is a companion function for the properties docoder
+ * to work around compilers that don't support templated methods.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#ifndef TAO_PG_PROPERTY_SET_FIND_H
+#define TAO_PG_PROPERTY_SET_FIND_H
+#include /**/ "ace/pre.h"
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "portablegroup_export.h"
+
+#include "ace/Hash_Map_Manager.h"
+
+namespace TAO
+{
+ /**
+ * Find a value in a TAO::PG_Property_Set.
+ * This is a work-around for the lack of
+ * templated methods.
+ */
+ template <typename TYPE>
+ int find (const PG_Property_Set & decoder, const ACE_CString & key, TYPE & value)
+ {
+ int result = 0;
+ PortableGroup::Value const * any;
+ if ( decoder.find (key, any))
+ {
+ result = ((*any) >>= value);
+ }
+ return result;
+ }
+
+} //namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif // TAO_PG_PROPERTY_SET_FIND_H
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp
new file mode 100644
index 00000000000..5eb48d6ff1f
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp
@@ -0,0 +1,169 @@
+#include "PG_Utils.h"
+#include "tao/MProfile.h"
+#include "tao/Profile.h"
+#include "tao/Stub.h"
+#include "tao/Tagged_Components.h"
+
+ACE_RCSID (PortableGroup,
+ PG_Utils,
+ "$Id$")
+namespace TAO
+{
+ /*static*/ CORBA::Boolean
+ PG_Utils::set_tagged_component (
+ PortableGroup::ObjectGroup *&ior,
+ PortableGroup::TagGroupTaggedComponent &tg)
+ {
+ if (ior->_stubobj () == 0)
+ return 0;
+
+ // We need to apply the property for every profile in the IOR
+ TAO_MProfile &tmp_pfiles =
+ ior->_stubobj ()->base_profiles ();
+
+ // Create the output CDR stream
+ TAO_OutputCDR cdr;
+
+ IOP::TaggedComponent tagged_components;
+ tagged_components.tag = IOP::TAG_FT_GROUP;
+
+ // Encode the property in to the tagged_components
+ CORBA::Boolean retval =
+ PG_Utils::encode_properties (cdr,
+ tg);
+
+ if (retval == 0)
+ return retval;
+
+ // Get the length of the CDR stream
+ CORBA::ULong length = ACE_static_cast (CORBA::ULong,
+ cdr.total_length ());
+
+ // Set the length
+ tagged_components.component_data.length (length);
+
+ // Get the pointer to the underlying buffer
+ CORBA::Octet *buf =
+ tagged_components.component_data.get_buffer ();
+
+ for (const ACE_Message_Block *i = cdr.begin ();
+ i != 0;
+ i = i->cont ())
+ {
+
+ ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
+ buf += i->length ();
+ }
+ const IOP::TaggedComponent &tmp_tc = tagged_components;
+
+ // Get the profile count.
+ CORBA::ULong count =
+ ior->_stubobj ()->base_profiles ().profile_count ();
+
+ // Go through every profile and set the TaggedComponent field
+ for (CORBA::ULong p_idx = 0; p_idx < count ; ++p_idx)
+ {
+ // Get the tagged components in the profile
+ TAO_Tagged_Components &tag_comp =
+ tmp_pfiles.get_profile (p_idx)->tagged_components ();
+
+ // Finally set the <tagged_component> in the
+ // <TAO_Tagged_Component>
+ tag_comp.set_component (tmp_tc);
+ }
+
+ // Success
+ return 1;
+ }
+
+ /*static*/ CORBA::Boolean
+ PG_Utils::get_tagged_component (
+ PortableGroup::ObjectGroup *&ior,
+ PortableGroup::TagGroupTaggedComponent &tg)
+ {
+ if (ior->_stubobj () == 0)
+ return 0;
+
+ TAO_MProfile &mprofile =
+ ior->_stubobj ()->base_profiles ();
+
+ // Looking for a tagged component with a TAG_FT_GROUP flag.
+ IOP::TaggedComponent tc;
+ tc.tag = IOP::TAG_FT_GROUP;
+
+ CORBA::ULong count =
+ mprofile.profile_count ();
+
+ for (CORBA::ULong i = 0;
+ i < count;
+ i++)
+ {
+
+ // Get the Tagged Components
+ const TAO_Tagged_Components &pfile_tagged =
+ mprofile.get_profile (i)->tagged_components ();
+
+ // Look for the primary
+ if (pfile_tagged.get_component (tc) == 1)
+ {
+ TAO_InputCDR cdr (ACE_reinterpret_cast (
+ const char*,
+ tc.component_data.get_buffer ()),
+ tc.component_data.length ());
+
+ CORBA::Boolean byte_order;
+
+ cdr >> ACE_InputCDR::to_boolean (byte_order);
+
+ if (!cdr.good_bit ())
+ return 0;
+
+ cdr.reset_byte_order (ACE_static_cast (int,byte_order));
+
+ cdr >> tg;
+
+ if (cdr.good_bit ())
+ return 1;
+ }
+ }
+
+ return 0;
+ }
+
+ CORBA::Boolean
+ PG_Utils::encode_properties (
+ TAO_OutputCDR &cdr,
+ PortableGroup::TagGroupTaggedComponent &tg)
+ {
+ cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER);
+
+ if (!cdr.good_bit ())
+ return 0;
+
+ // the version info
+ cdr << tg.component_version;
+
+ if (!cdr.good_bit ())
+ return 0;
+
+ // the domain id
+ cdr << tg.group_domain_id.in ();
+
+ if (!cdr.good_bit ())
+ return 0;
+
+ // Object group id
+ cdr << tg.object_group_id;
+
+ if (!cdr.good_bit ())
+ return 0;
+
+ // Object group reference version
+ cdr << tg.object_group_ref_version;
+
+ if (!cdr.good_bit ())
+ return 0;
+
+ return cdr.good_bit ();
+ }
+}
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h
new file mode 100644
index 00000000000..c204b7e7a23
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h
@@ -0,0 +1,55 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file PG_Utils.h
+ *
+ * $Id$
+ *
+ * Utility methods
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//=============================================================================
+#ifndef TAO_PORTABLEGROUP_UTILS_H
+#define TAO_PORTABLEGROUP_UTILS_H
+#include /**/ "ace/pre.h"
+#include "orbsvcs/PortableGroupC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "portablegroup_export.h"
+
+namespace TAO
+{
+ /**
+ * @class PG_Utils
+ *
+ * @brief Simple utility class
+ */
+ class TAO_PortableGroup_Export PG_Utils
+ {
+ public:
+
+ /// Set tagged component for the object group
+ static CORBA::Boolean set_tagged_component (
+ PortableGroup::ObjectGroup *&ior,
+ PortableGroup::TagGroupTaggedComponent &t);
+
+ /// Get tagged component for the object group
+ static CORBA::Boolean get_tagged_component (
+ PortableGroup::ObjectGroup *&ior,
+ PortableGroup::TagGroupTaggedComponent &t);
+
+ private:
+ static CORBA::Boolean encode_properties (
+ TAO_OutputCDR &cdr,
+ PortableGroup::TagGroupTaggedComponent &tg);
+ };
+}
+
+
+
+#include /**/ "ace/post.h"
+#endif /*TAO_PORTABLEGROUP_UTILS_H*/
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp
new file mode 100644
index 00000000000..bf301d061fe
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp
@@ -0,0 +1,86 @@
+// $Id$
+
+#include "UIPMC_Message_Block_Data_Iterator.h"
+
+UIPMC_Message_Block_Data_Iterator::UIPMC_Message_Block_Data_Iterator (iovec *iov, int iovcnt) :
+ iov_ (iov),
+ iovcnt_ (iovcnt),
+ iov_ptr_ (0),
+ iov_index_ (0),
+ iov_len_left_ (0),
+ state_ (INTER_BLOCK)
+{
+}
+
+size_t
+UIPMC_Message_Block_Data_Iterator::next_block (size_t max_length,
+ iovec &block)
+{
+ if (this->state_ == INTER_BLOCK)
+ {
+ // Check that there are some iovec buffers left.
+ if (this->iov_index_ >= this->iovcnt_)
+ return 0;
+
+
+ size_t current_iov_len =
+ this->iov_[this->iov_index_].iov_len;
+
+ if (current_iov_len <= max_length)
+ {
+ // Return the full data portion.
+ block.iov_len = ACE_static_cast (u_long, current_iov_len);
+ block.iov_base = this->iov_[this->iov_index_].iov_base;
+
+ // Go to the next block.
+ this->iov_index_++;
+
+ return current_iov_len;
+ }
+ else
+ {
+ // Let the caller use the first part of this
+ // message block.
+ block.iov_len = ACE_static_cast (u_long, max_length);
+ block.iov_base = this->iov_[this->iov_index_].iov_base;
+
+ // Break up the block.
+ this->iov_len_left_ = current_iov_len - max_length;
+ this->iov_ptr_ =
+ ACE_reinterpret_cast (char *,
+ ACE_reinterpret_cast (char *, block.iov_base)
+ + max_length);
+ this->state_ = INTRA_BLOCK;
+
+ return max_length;
+ }
+ }
+ else
+ {
+ // Currently scanning a split block.
+ if (this->iov_len_left_ <= max_length)
+ {
+ // Return everything that's left in the block.
+ block.iov_len = ACE_static_cast (u_long, this->iov_len_left_);
+ block.iov_base = this->iov_ptr_;
+
+ // Go to the next block.
+ this->iov_index_++;
+
+ // Update the state.
+ this->state_ = INTER_BLOCK;
+
+ return this->iov_len_left_;
+ }
+ else
+ {
+ // Split a little more off the block.
+ block.iov_len = ACE_static_cast (u_long, this->iov_len_left_);
+ block.iov_base = this->iov_ptr_;
+
+ this->iov_len_left_ -= max_length;
+ this->iov_ptr_ += max_length;
+ return max_length;
+ }
+ }
+}
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h
new file mode 100644
index 00000000000..3f28eb5e7c6
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h
@@ -0,0 +1,64 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file UIPMC_Message_Block_Data_Iterator.h
+ *
+ * $Id$
+ *
+ * @author Frank Hunleth <frank@hunleth.com>
+ */
+//=============================================================================
+
+#ifndef TAO_UIPMC_MESSAGE_BLOCK_DATA_ITERATOR_H
+#define TAO_UIPMC_MESSAGE_BLOCK_DATA_ITERATOR_H
+#include /**/ "ace/pre.h"
+
+#include "ace/os_include/sys/os_uio.h"
+#include "ace/os_include/os_stddef.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+ * @class UIPMC_Message_Block_Data_Iterator
+ *
+ * @brief This is a help class for iterating through ACE_Message_Blocks and to
+ * segment them into MIOP packets.
+ */
+class UIPMC_Message_Block_Data_Iterator
+{
+public:
+ /// Constructor
+ UIPMC_Message_Block_Data_Iterator (iovec *iov, int iovcnt);
+
+ /// Get the next data block that has a size less than or equal
+ /// to max_length. Return the length of the block returned.
+ size_t next_block (size_t max_length,
+ iovec &block);
+
+private:
+ enum State
+ {
+ INTER_BLOCK,
+ INTRA_BLOCK
+ };
+
+ iovec *iov_;
+ int iovcnt_;
+
+ // Point internal to a message block, if we have to split one up.
+ char *iov_ptr_;
+ int iov_index_;
+
+ // Length used in a split message block.
+ size_t iov_len_left_;
+
+ // Current message iterator state.
+ State state_;
+
+};
+
+#include /**/ "ace/post.h"
+#endif /* TAO_UIPMC_MESSAGE_BLOCK_DATA_ITERATOR_H */
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl b/TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl
new file mode 100644
index 00000000000..1d3e4c656a7
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl
@@ -0,0 +1,41 @@
+// -*- IDL -*-
+
+//=============================================================================
+/**
+ * @file PortableGroup_Simple_DS.idl
+ *
+ * $Id$
+ *
+ * The aim of this file is to provide a seperation between the actual
+ * PortableGroup interface and some of the data structures defined in
+ * this module. This would be apparent if you look at
+ * FT_CORBA_ORB.idl. FT_CORBA_ORB.idl can get away by just including
+ * this file and the generated code from this instead of linking in
+ * PortableGroup and the likes.
+ */
+//=============================================================================
+
+#ifndef _PORTABLEGROUP_SIMPLE_DS_IDL_
+#define _PORTABLEGROUP_SIMPLE_DS_IDL_
+
+#include <tao/GIOP.pidl>
+
+module PortableGroup
+{
+ typeprefix PortableGroup "omg.org";
+
+ // Specification for Interoperable Object Group References
+ typedef string GroupDomainId;
+ typedef unsigned long long ObjectGroupId;
+ typedef unsigned long ObjectGroupRefVersion;
+
+ struct TagGroupTaggedComponent
+ { // tag = TAG_GROUP;
+ GIOP::Version component_version;
+ GroupDomainId group_domain_id;
+ ObjectGroupId object_group_id;
+ ObjectGroupRefVersion object_group_ref_version;
+ };
+};
+
+#endif /*_PORTABLEGROUP_SIMPLE_DS_IDL_*/
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/export.h b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/export.h
new file mode 100644
index 00000000000..13156aa6e0a
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/export.h
@@ -0,0 +1,40 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef EXPORT_H
+#define EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_TS_HAS_DLL)
+# define TAO_TS_HAS_DLL 0
+# endif /* ! TAO_TS_HAS_DLL */
+#else
+# if !defined (TAO_TS_HAS_DLL)
+# define TAO_TS_HAS_DLL 1
+# endif /* ! TAO_TS_HAS_DLL */
+#endif
+
+#if defined (TAO_TS_HAS_DLL) && (TAO_TS_HAS_DLL == 1)
+# if defined (TAO_TS_BUILD_DLL)
+# define TAO_TS_Export ACE_Proper_Export_Flag
+# define TAO_TS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_TS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_TS_BUILD_DLL */
+# define TAO_TS_Export ACE_Proper_Import_Flag
+# define TAO_TS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_TS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_TS_BUILD_DLL */
+#else /* TAO_TS_HAS_DLL == 1 */
+# define TAO_TS_Export
+# define TAO_TS_SINGLETON_DECLARATION(T)
+# define TAO_TS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_TS_HAS_DLL == 1 */
+
+#endif /* TAO_TS_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_Regression.dsw b/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_Regression.dsw
new file mode 100644
index 00000000000..0e4310b7089
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_Regression.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1334_client"=Bug_1334_client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsp b/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsp
new file mode 100644
index 00000000000..2c51fc9d43b
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsp
@@ -0,0 +1,82 @@
+# Microsoft Developer Studio Project File - Name="Bug_1334_client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1334_client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1334_client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1334_client.mak" CFG="Bug_1334_client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1334_client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1334_client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1334_client - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\Bug_1334_client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\orbsvcs" /I "..\..\.." /I "..\..\..\tao" /I "..\..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\orbsvcs" /i "..\..\.." /i "..\..\..\tao" /i "..\..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_CosNaming.lib TAO_Svc_Utils.lib TAO_IORTable.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_Valuetype.lib TAO_ObjRefTemplate.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:"..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\tao\IORTable" /libpath:"..\..\..\tao\PortableServer" /libpath:"..\..\..\tao\IORInterceptor" /libpath:"..\..\..\tao\Valuetype" /libpath:"..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\ace" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1334_client - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\Bug_1334_client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\..\..\orbsvcs" /I "..\..\.." /I "..\..\..\tao" /I "..\..\..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "..\..\..\orbsvcs" /i "..\..\.." /i "..\..\..\tao" /i "..\..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_CosNamingd.lib TAO_Svc_Utilsd.lib TAO_IORTabled.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_Valuetyped.lib TAO_ObjRefTemplated.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\tao\IORTable" /libpath:"..\..\..\tao\PortableServer" /libpath:"..\..\..\tao\IORInterceptor" /libpath:"..\..\..\tao\Valuetype" /libpath:"..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\ace" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1334_client - Win32 Release"
+# Name "Bug_1334_client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\client.cpp"
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsw b/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsw
new file mode 100644
index 00000000000..cafb3bbbb0a
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/Bug_1334_client.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1334_client"=.\Bug_1334_client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/Makefile b/TAO/orbsvcs/tests/Bug_1334_Regression/Makefile
new file mode 100644
index 00000000000..5a6834faab6
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/Makefile
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+TARGETS_NESTED = all debug profile optimize install deinstall clean realclean clobber depend rcs_info idl_stubs
+
+$(TARGETS_NESTED):
+ @$(MAKE) -f Makefile.Bug_1334_client $(@);
+
+reverseclean:
+ @$(MAKE) -f Makefile.Bug_1334_client realclean
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/Makefile.Bug_1334_client b/TAO/orbsvcs/tests/Bug_1334_Regression/Makefile.Bug_1334_client
new file mode 100644
index 00000000000..da3fdf99466
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/Makefile.Bug_1334_client
@@ -0,0 +1,97 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Bug_1334_client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1334_client
+BIN_UNCHECKED = client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_IORTable -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_Valuetype -lTAO_ObjRefTemplate -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bug_1334_client
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+
+CURRENT_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Naming, $(findstring Naming, $(CURRENT_COMPONENTS)))
+BIN = $(BIN_UNCHECKED)
+else
+ all: comp_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../../../orbsvcs -I../../.. -I../../../tao -I../../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../../orbsvcs/orbsvcs -L../../../tao/IORTable -L../../../tao/PortableServer -L../../../tao/IORInterceptor -L../../../tao/Valuetype -L../../../tao/ObjRefTemplate -L../../../../ace -L../../../tao -L../../../../lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+comp_warning:
+ @echo This project will not be built due to one of the following missing components:
+ @echo Naming
+
+../../../../lib:
+ -@mkdir -p "../../../../lib"
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/README b/TAO/orbsvcs/tests/Bug_1334_Regression/README
new file mode 100644
index 00000000000..8a0897a9fce
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/README
@@ -0,0 +1,5 @@
+This test provides regression for Bug 1334.
+
+It tests that a service initial ref IOR can be specified as an environment property in the form <ServiceName>IOR (in this case it is the NameService) and that the value set has correct precedence vis a vis -ORBInitRef values.
+
+See Bug #1334 for more. \ No newline at end of file
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/client.cpp b/TAO/orbsvcs/tests/Bug_1334_Regression/client.cpp
new file mode 100644
index 00000000000..52e3543d1ee
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/client.cpp
@@ -0,0 +1,44 @@
+//
+// $Id$
+//
+#include "tao/corba.h"
+
+// Attempts to resolve the NameService.
+// Returns:
+// 0 if the NameService was resolved
+// 1 if the NameService could not be resolved
+// 2 if something else went wrong
+//
+int main( int argc, char *argv[] )
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init( argc, argv, 0 ACE_ENV_ARG_PARAMETER ) ;
+ ACE_TRY_CHECK;
+
+ ACE_TRY_EX (nested)
+ {
+ CORBA::Object_var naming =
+ orb->resolve_initial_references( "NameService" ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK_EX (nested);
+ if( CORBA::is_nil( naming.in() ) )
+ {
+ return 1 ;
+ }
+ }
+ ACE_CATCH (CORBA::Exception, ex)
+ {
+ ACE_UNUSED_ARG (ex);
+ return 1 ;
+ }
+ ACE_ENDTRY;
+ }
+ ACE_CATCH ( CORBA::Exception, ex )
+ {
+ ACE_UNUSED_ARG (ex);
+ return 2 ;
+ }
+ ACE_ENDTRY;
+
+ return 0 ;
+}
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/run_test.pl b/TAO/orbsvcs/tests/Bug_1334_Regression/run_test.pl
new file mode 100755
index 00000000000..7c0ccf966d7
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/run_test.pl
@@ -0,0 +1,101 @@
+
+# $Id$
+
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+# The NameService IOR file
+#
+$nsiorfile = PerlACE::LocalFile("ns.ior");
+unlink $nsiorfile;
+
+# The client process
+#
+$CLIENT = new PerlACE::Process(PerlACE::LocalFile("client"));
+
+# Fire up the Name Service
+#
+$NS = new PerlACE::Process ("../../Naming_Service/Naming_Service", "-o $nsiorfile");
+$NS->Spawn ();
+
+if (PerlACE::waitforfile_timed ($nsiorfile, 10) == -1)
+{
+ print STDERR "ERROR: cannot find Name Service IOR file <$nsiorfile>\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+
+# Try the client with the name service ior in an environment variable of
+# the form <service name>IOR.
+# Expect it to succeed.
+#
+$ENV {'NameServiceIOR'} = "file://$nsiorfile";
+$CLIENT->Arguments("");
+if ($CLIENT->SpawnWaitKill (30) != 0)
+{
+ print STDERR "ERROR: Name Service not resolved by environment variable\n";
+ $server = $NS->TerminateWaitKill (5);
+ if ($server != 0)
+ {
+ print STDERR "ERROR: Closing Name Service returned $server\n";
+ $status = 1;
+ }
+ unlink $nsiorfile;
+ exit 1;
+}
+
+# Now try it with a duff ior in the environment variable.
+# Expect it to fail.
+#
+$ENV {'NameServiceIOR'} = "Banana";
+$CLIENT->Arguments("");
+if ($CLIENT->SpawnWaitKill (30) != 1)
+{
+ print STDERR "ERROR: Name Service resolved with duff environment\n";
+ $server = $NS->TerminateWaitKill (5);
+ if ($server != 0)
+ {
+ print STDERR "ERROR: Closing Name Service returned $server\n";
+ $status = 1;
+ }
+ unlink $nsiorfile;
+ exit 1;
+}
+
+# Now try with a duff ior in the environment variable but overridden by
+# a command line parameter.
+# Expect it to succeed.
+#
+$ENV {'NameServiceIOR'} = "Custard";
+$CLIENT->Arguments("-ORBInitRef NameService=file://$nsiorfile");
+if ($CLIENT->SpawnWaitKill (30) != 0)
+{
+ print STDERR "ERROR: Name Service not resolved by command line override\n";
+ $server = $NS->TerminateWaitKill (5);
+ if ($server != 0)
+ {
+ print STDERR "ERROR: Closing Name Service returned $server\n";
+ $status = 1;
+ }
+ unlink $nsiorfile;
+ exit 1;
+}
+
+# Clean up and return
+#
+$server = $NS->TerminateWaitKill (5);
+if ($server != 0)
+{
+ print STDERR "ERROR: Closing Name Service returned $server\n";
+ $status = 1;
+}
+unlink $nsiorfile;
+
+exit 0;
diff --git a/TAO/orbsvcs/tests/Bug_1334_Regression/test.mpc b/TAO/orbsvcs/tests/Bug_1334_Regression/test.mpc
new file mode 100644
index 00000000000..f256645266b
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1334_Regression/test.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug_1334_client) : namingexe {
+ exename = client
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_Regression.dsw b/TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_Regression.dsw
new file mode 100644
index 00000000000..832bbf304e6
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_Regression.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1630_testclient"=Bug_1630_testclient.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_testclient.dsp b/TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_testclient.dsp
new file mode 100644
index 00000000000..44d8782865e
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/Bug_1630_testclient.dsp
@@ -0,0 +1,77 @@
+# Microsoft Developer Studio Project File - Name="Bug_1630_testclient" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1630_testclient - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1630_testclient.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1630_testclient.mak" CFG="Bug_1630_testclient - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1630_testclient - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1630_testclient - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1630_testclient - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\Bug_1630_testclient"
+# PROP Target_Dir ""
+# ADD CPP /nologo /O2 /W3 /GX /MD /GR /I "..\..\.." /I "..\..\..\tao" /I "..\..\..\.." /D NDEBUG /D WIN32 /D _CONSOLE /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d NDEBUG /i "..\..\.." /i "..\..\..\tao" /i "..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO TAO_IFR_Client.lib TAO.lib ACE.lib /libpath:"..\..\..\tao\IFR_Client" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\ace" /libpath:"..\..\..\..\lib" /nologo /version:1.3.5 /subsystem:console /pdb:"Release\testclient.pdb" /machine:I386 /out:"Release\testclient.exe"
+
+!ELSEIF "$(CFG)" == "Bug_1630_testclient - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\Bug_1630_testclient"
+# PROP Target_Dir ""
+# ADD CPP /nologo /Ob0 /W3 /Gm /GX /Zi /MDd /GR /Gy /I "..\..\.." /I "..\..\..\tao" /I "..\..\..\.." /D _DEBUG /D WIN32 /D _CONSOLE /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d _DEBUG /i "..\..\.." /i "..\..\..\tao" /i "..\..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO TAO_IFR_Clientd.lib TAOd.lib ACEd.lib /libpath:"..\..\..\tao\IFR_Client" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\ace" /libpath:"..\..\..\..\lib" /nologo /version:1.3.5 /subsystem:console /pdb:".\testclient.pdb" /debug /machine:I386 /out:".\testclient.exe"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1630_testclient - Win32 Release"
+# Name "Bug_1630_testclient - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\testclient.cpp"
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/Makefile b/TAO/orbsvcs/tests/Bug_1630_Regression/Makefile
new file mode 100644
index 00000000000..d8de22d43c7
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/Makefile
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+TARGETS_NESTED = all debug profile optimize install deinstall clean realclean clobber depend rcs_info idl_stubs
+
+$(TARGETS_NESTED):
+ @$(MAKE) -f Makefile.Bug_1630_testclient $(@);
+
+reverseclean:
+ @$(MAKE) -f Makefile.Bug_1630_testclient realclean
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/Makefile.Bug_1630_testclient b/TAO/orbsvcs/tests/Bug_1630_Regression/Makefile.Bug_1630_testclient
new file mode 100644
index 00000000000..423dea9ea15
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/Makefile.Bug_1630_testclient
@@ -0,0 +1,90 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Bug_1630_testclient
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1630_testclient
+BIN_UNCHECKED = testclient
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ testclient
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_IFR_Client -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bug_1630_testclient
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+
+ifeq ($(minimum_corba),0)
+BIN = $(BIN_UNCHECKED)
+endif #minimum_corba
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../../.. -I../../../tao -I../../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../../tao/IFR_Client -L../../../tao -L../../../../ace -L../../../../lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+.:
+ -@mkdir -p "."
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/run_test.pl b/TAO/orbsvcs/tests/Bug_1630_Regression/run_test.pl
new file mode 100755
index 00000000000..0fa33437ade
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/run_test.pl
@@ -0,0 +1,60 @@
+
+# $Id$
+
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+# The IFRService IOR file
+#
+$ifriorfile = PerlACE::LocalFile("ifr.ior");
+unlink $ifriorfile;
+
+# The client process
+#
+$CLIENT = new PerlACE::Process(PerlACE::LocalFile("testclient"));
+
+# Fire up the IFR Service
+#
+$IFR = new PerlACE::Process ("../../IFR_Service/IFR_Service", "-o $ifriorfile");
+$IFR->Spawn ();
+
+if (PerlACE::waitforfile_timed ($ifriorfile, 10) == -1)
+{
+ print STDERR "ERROR: cannot find IFR Service IOR file <$ifriorfile>\n";
+ $IFR->Kill (); $IFR->TimedWait (1);
+ exit 1;
+}
+
+
+# Run the client, it should return 0 for success.
+$CLIENT->Arguments("-ORBInitRef InterfaceRepository=file://$ifriorfile");
+if ($CLIENT->SpawnWaitKill (30) != 0)
+{
+ print STDERR "ERROR: test failed\n";
+ $server = $IFR->TerminateWaitKill (5);
+ if ($server != 0)
+ {
+ print STDERR "ERROR: Closing IFR Service returned $server\n";
+ $status = 1;
+ }
+ unlink $ifriorfile;
+ exit 1;
+}
+
+# Clean up and return
+#
+$server = $IFR->TerminateWaitKill (5);
+if ($server != 0)
+{
+ print STDERR "ERROR: Closing IFR Service returned $server\n";
+ $status = 1;
+}
+unlink $ifriorfile;
+
+exit 0;
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/test.mpc b/TAO/orbsvcs/tests/Bug_1630_Regression/test.mpc
new file mode 100644
index 00000000000..55654204b53
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/test.mpc
@@ -0,0 +1,15 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug_1630_testclient ) : client {
+ exename = testclient
+ libs += TAO_IFR_Client
+ libpaths += $(TAO_ROOT)/tao/IFR_Client $(TAO_ROOT)/tao $(ACE_ROOT)/ace
+ avoids += minimum_corba
+
+ IDL_Files {
+ }
+ Source_Files {
+ testclient.cpp
+ }
+}
diff --git a/TAO/orbsvcs/tests/Bug_1630_Regression/testclient.cpp b/TAO/orbsvcs/tests/Bug_1630_Regression/testclient.cpp
new file mode 100644
index 00000000000..039612ba778
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_1630_Regression/testclient.cpp
@@ -0,0 +1,221 @@
+//
+// $Id$
+//
+
+#include <tao/corba.h>
+#include "IFR_Client/IFR_BasicC.h"
+#include "ace/OS_NS_string.h"
+int main( int argc, char* argv[] )
+{
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY_NEW_ENV
+ {
+ int failed = 0 ;
+
+ // Initialise ORB.
+ //
+ CORBA::ORB_var orb = CORBA::ORB_init( argc, argv, "" ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+
+ // Find the Interface Repository.
+ //
+ CORBA::Object_var ifr_obj = orb->resolve_initial_references( "InterfaceRepository" ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+
+ CORBA::Repository_var ifr = CORBA::Repository::_narrow( ifr_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if( CORBA::is_nil( ifr.in() ) )
+ {
+ ACE_DEBUG((LM_DEBUG, "Nil IFR reference\n"));
+ return 1;
+ }
+
+ // Add an interface to the repository.
+ //
+ CORBA::InterfaceDefSeq baseInterfaces(1) ;
+ baseInterfaces.length(0) ;
+ CORBA::InterfaceDef_var interface =
+ ifr->create_interface( "IDL:interface865:1.0",
+ "interface865",
+ "1.0",
+ baseInterfaces ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+
+ // Add an operation to the interface.
+ // First get some useful things.
+ //
+ CORBA::PrimitiveDef_var voidPrimitive =
+ ifr->get_primitive( CORBA::pk_void ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+ CORBA::PrimitiveDef_var charPrimitive =
+ ifr->get_primitive( CORBA::pk_char ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+ CORBA::PrimitiveDef_var longPrimitive =
+ ifr->get_primitive( CORBA::pk_long ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+ CORBA::PrimitiveDef_var shortPrimitive =
+ ifr->get_primitive( CORBA::pk_short ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+
+ // The operation has three parameters...
+ //
+ CORBA::ULong numParams = 3 ;
+ CORBA::ParDescriptionSeq parameters( numParams ) ;
+ parameters.length( numParams ) ;
+
+ // ... which are: in char p1...
+ //
+ parameters[0].name = CORBA::string_dup("p1") ;
+ parameters[0].type_def =
+ CORBA::PrimitiveDef::_duplicate( charPrimitive.in() ) ;
+ parameters[0].type = charPrimitive->type() ;
+ parameters[0].mode = CORBA::PARAM_IN ;
+
+ // ...out long p2...
+ //
+ parameters[1].name = CORBA::string_dup("p2") ;
+ parameters[1].type_def =
+ CORBA::PrimitiveDef::_duplicate( longPrimitive.in() ) ;
+ parameters[1].type = longPrimitive->type() ;
+ parameters[1].mode = CORBA::PARAM_OUT ;
+
+ // ...and inout short p3
+ //
+ parameters[2].name = CORBA::string_dup("p3") ;
+ parameters[2].type_def =
+ CORBA::PrimitiveDef::_duplicate( shortPrimitive.in() ) ;
+ parameters[2].type = shortPrimitive->type() ;
+ parameters[2].mode = CORBA::PARAM_INOUT ;
+
+ // ...and no exceptions...
+ //
+ CORBA::ExceptionDefSeq exceptions( 1 ) ;
+ exceptions.length( 0 ) ;
+
+ // ...and no context ids
+ //
+ CORBA::ContextIdSeq contextIds( 1 ) ;
+ contextIds.length( 0 ) ;
+
+ // Create the operation, called "f".
+ //
+ CORBA::OperationDef_var operation =
+ interface->create_operation( "IDL:interface865/f:1.0",
+ "f",
+ "1.0",
+ voidPrimitive.in(),
+ CORBA::OP_NORMAL,
+ parameters,
+ exceptions,
+ contextIds ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+
+
+
+ // Create operation list.
+ //
+ CORBA::NVList_var opList ;
+
+ ACE_DEBUG((LM_DEBUG, "About to call create_operation_list\n"));
+
+ orb->create_operation_list(operation.in (),
+ opList.out()
+ ACE_ENV_ARG_PARAMETER) ;
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG((LM_DEBUG, "Call to create_operation_list succeeded\n"));
+
+ CORBA::ULong count = opList->count() ;
+ ACE_TRY_CHECK;
+
+ if( count != numParams )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed - wrong number of elements n list\n")) ;
+ failed = 1 ;
+ }
+
+ CORBA::NamedValue_ptr nv = opList->item( 0 ) ;
+ if(ACE_OS::strcmp( nv->name(), "p1") != 0 )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 1 wrong name\n"));
+ failed = 1 ;
+ };
+
+ if( ! nv->value()->type()->equal( CORBA::_tc_char ) )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 1 wrong type\n"));
+ failed = 1 ;
+ };
+ if( nv->flags() != CORBA::ARG_IN )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 1 wrong mode\n"));
+ failed = 1 ;
+ };
+
+ nv = opList->item( 1 ) ;
+ if(ACE_OS::strcmp( nv->name(), "p2") != 0 )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 2 wrong name\n"));
+ failed = 1 ;
+ };
+ if( ! nv->value()->type()->equal( CORBA::_tc_long ) )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 2 wrong type\n"));
+ failed = 1 ;
+ };
+ if( nv->flags() != CORBA::ARG_OUT )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 2 wrong mode\n"));
+ failed = 1 ;
+ };
+
+ nv = opList->item( 2 ) ;
+ if(ACE_OS::strcmp( nv->name(), "p3") != 0 )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 3 wrong name\n"));
+ failed = 1 ;
+ };
+ if( ! nv->value()->type()->equal( CORBA::_tc_short ) )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 3 wrong type\n"));
+ failed = 1 ;
+ };
+ if( nv->flags() != CORBA::ARG_INOUT )
+ {
+ ACE_DEBUG((LM_DEBUG, "Test failed: param 3 wrong mode\n"));
+ failed = 1 ;
+ };
+
+
+ // opList->free();
+ //operation->destroy();
+
+ // Finally destroy the interface.
+ //
+ interface->destroy(ACE_ENV_SINGLE_ARG_PARAMETER) ;
+
+ //orb->destroy();
+
+ if( failed == 1 )
+ {
+ return 1 ;
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception - test failed:\n");
+ return 1;
+ }
+ ACE_CATCHALL
+ {
+ ACE_DEBUG((LM_DEBUG, "An unknown exception occured - test failed\n"));
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ ACE_CHECK_RETURN(1);
+
+ return 0 ;
+}
diff --git a/TAO/orbsvcs/tests/EC_MT_Mcast/EC_MT_Mcast.mpc b/TAO/orbsvcs/tests/EC_MT_Mcast/EC_MT_Mcast.mpc
new file mode 100644
index 00000000000..ea28d588dda
--- /dev/null
+++ b/TAO/orbsvcs/tests/EC_MT_Mcast/EC_MT_Mcast.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project(EC_MT_Mcast): rteventexe, messaging {
+ exename = MCast
+}
diff --git a/TAO/orbsvcs/tests/FT_App/.cvsignore b/TAO/orbsvcs/tests/FT_App/.cvsignore
new file mode 100644
index 00000000000..8e4cf88d091
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/.cvsignore
@@ -0,0 +1,16 @@
+*.dsp
+*.dsw
+*.ilk
+*.pdb
+*.plg
+*.ncb
+*.opt
+*.exe
+*.ior
+*.dat
+Release
+Debug
+FT_ReplicaC*
+FT_ReplicaS*
+FT_TestReplicaC*
+FT_TestReplicaS*
diff --git a/TAO/orbsvcs/tests/FT_App/FTAPP_Analyzer_Main.cpp b/TAO/orbsvcs/tests/FT_App/FTAPP_Analyzer_Main.cpp
new file mode 100644
index 00000000000..36657366c10
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FTAPP_Analyzer_Main.cpp
@@ -0,0 +1,33 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FTAPP_Analyzer_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a stub FaultAnalyzer
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include <tao/Utils/Server_Main.h>
+#include "StubFaultAnalyzer.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<StubFaultAnalyzer> server_run("FaultAnalyzer");
+ return server_run.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<StubFaultAnalyzer>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<StubFaultAnalyzer>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp b/TAO/orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp
new file mode 100644
index 00000000000..af2524a1fe1
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp
@@ -0,0 +1,33 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FTAPP_FactoryRegistry_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a stub FactoryRegistry
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include <tao/Utils/Server_Main.h>
+#include <orbsvcs/PortableGroup/PG_FactoryRegistry.h>
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<TAO::PG_FactoryRegistry> server_main("FactoryRegistry");
+ return server_main.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<TAO::PG_FactoryRegistry>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<TAO::PG_FactoryRegistry>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/tests/FT_App/FTAPP_FaultConsumer_Main.cpp b/TAO/orbsvcs/tests/FT_App/FTAPP_FaultConsumer_Main.cpp
new file mode 100644
index 00000000000..01f79422633
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FTAPP_FaultConsumer_Main.cpp
@@ -0,0 +1,33 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FTAPP_FaultConsumer_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a stub FaultConsumer.
+ *
+ * @author Steve Totten <totten_s@ociweb.com>
+ */
+//=============================================================================
+
+#include <tao/Utils/Server_Main.h>
+#include "ReplicationManagerFaultConsumerAdapter.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<ReplicationManagerFaultConsumerAdapter>
+ server_main("FaultConsumer");
+ return server_main.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<ReplicationManagerFaultConsumerAdapter>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<ReplicationManagerFaultConsumerAdapter>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp b/TAO/orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp
new file mode 100644
index 00000000000..9c89038cdbb
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp
@@ -0,0 +1,34 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FTAPP_Notifier_Main.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * This file provides the main routine for a stub implementation
+ * of the FaultNotifier interface.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "StubFaultNotifier.h"
+#include <tao/Utils/Server_Main.h>
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<StubFaultNotifier> server_main("FaultNotifier");
+ return server_main.run(argc, argv);
+}
+
+///////////////////////////////////
+// Template instantiation for
+// inept compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<StubFaultNotifier>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<StubFaultNotifier>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/tests/FT_App/FT_App.mpc b/TAO/orbsvcs/tests/FT_App/FT_App.mpc
new file mode 100644
index 00000000000..9b9fbca1e5b
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_App.mpc
@@ -0,0 +1,145 @@
+// $Id$
+
+project(*Server): taoserver, fault_tolerance, orbsvcsexe{
+ exename = ft_replica
+ avoids += minimum_corba
+ Source_Files {
+ FT_Replica.cpp
+ FT_TestReplica_i.cpp
+ FT_ReplicaFactory_i.cpp
+ }
+// Custom folder: test scripts
+// too bad this doesn't work!
+// If you omit the generic_outputext, it creates an empty folder
+// if you include the generic_outputext, it tries to "build" the .pl
+// file which runs the test even when you don't want to.
+// Define_Custom(Script) {
+// inputext = .pl, .py, .rb
+// generic_outputext = .txt
+// }
+// Script_Files {
+// run_test_detector.pl
+// }
+
+ Documentation_Files {
+ README
+ FT_App.mpc
+ run_test_basic.pl // can the client talk to the server
+ run_test_detector.pl // does a detector notice a server fault
+ run_test_notifier.pl // does the notification get to an analyzer
+ run_test_fault_consumer.pl // Is the notification analyzed correctly
+ run_test_registry.pl // does the stand-along factory registry work
+ run_test_rmregistry.pl // does the factory registry in the RM work
+ run_test_replication_mgr.pl //
+ run_test_demo.pl // test it all together
+ }
+}
+
+project(*Client): taoclient, fault_tolerance, orbsvcsexe {
+ exename = ft_client
+ avoids += minimum_corba
+ includes += $(TAO_ROOT)
+ after += *Server
+ Source_Files {
+ FT_Client.cpp
+ }
+ Documentation_Files {
+ }
+}
+
+project(*Notifier): taoserver, fault_tolerance, iormanip, orbsvcsexe {
+ exename = ft_notifier
+ avoids += minimum_corba
+ Source_Files {
+ FTAPP_Notifier_Main.cpp
+ StubFaultNotifier.cpp
+ }
+
+ // explicitly omit IDL and doc files
+ IDL_Files {
+ }
+ Documentation_Files {
+ }
+}
+
+project(*Analyzer): taoclient, fault_tolerance, orbsvcsexe {
+ exename = ft_analyzer
+
+ Source_Files {
+ FTAPP_Analyzer_Main.cpp
+ StubFaultAnalyzer.cpp
+ StubFaultConsumer.cpp
+ StubBatchConsumer.cpp
+ }
+
+ // explicitly omit IDL files
+ IDL_Files {
+ }
+ Documentation_Files {
+ }
+}
+
+project(*FaultConsumer): taoserver, fault_tolerance, orbsvcsexe {
+ exename = ft_fault_consumer
+ avoids += minimum_corba
+ libs += TAO_ReplicationManagerLib
+ after += FT_ReplicationManager_Lib
+ Source_Files {
+ FTAPP_FaultConsumer_Main.cpp
+ ReplicationManagerFaultConsumerAdapter.cpp
+ }
+
+ // explicitly omit IDL files
+ IDL_Files {
+ }
+ Documentation_Files {
+ }
+}
+
+project(*FactoryRegistry): taoclient, fault_tolerance, orbsvcsexe {
+ exename = ft_registry
+ avoids += minimum_corba
+
+ Source_Files {
+ FTAPP_FactoryRegistry_Main.cpp
+ }
+
+ Header_Files {
+
+ }
+ // explicitly omit IDL files
+ IDL_Files {
+ }
+ Documentation_Files {
+ }
+}
+
+project(*Creator): taoclient, fault_tolerance, orbsvcsexe {
+ exename = ft_create
+ avoids += minimum_corba
+
+ Source_Files {
+ FT_Creator.cpp
+ TAO_Object_Group_Creator.cpp
+ }
+
+ // explicitly omit IDL files
+ IDL_Files {
+ }
+
+ Documentation_Files {
+ }
+}
+
+project(*RMController): taoclient, fault_tolerance, orbsvcsexe {
+ exename = replmgr_controller
+ avoids += minimum_corba
+ Source_Files {
+ FT_ReplicationManagerController.cpp
+ }
+ // explicitly omit IDL files
+ IDL_Files {
+ }
+ Documentation_Files {
+ }
+}
diff --git a/TAO/orbsvcs/tests/FT_App/FT_Client.cpp b/TAO/orbsvcs/tests/FT_App/FT_Client.cpp
new file mode 100644
index 00000000000..fa56867afec
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_Client.cpp
@@ -0,0 +1,627 @@
+// $Id$
+
+#include "FT_TestReplicaC.h"
+#include <ace/Vector_T.h>
+#include <ace/SString.h>
+#include <ace/Get_Opt.h>
+#include <iostream>
+#include <fstream>
+
+class FTClientMain
+{
+ typedef ACE_Vector<ACE_CString> StringVec;
+ public:
+ ///////////////////////////
+ // construction/destruction
+ FTClientMain ();
+
+ ~FTClientMain ();
+
+ /////////////////
+ // initialization
+ int parse_args (int argc, char *argv[]);
+
+ ////////////
+ // execution
+ int run (ACE_ENV_SINGLE_ARG_DECL);
+
+ /////////////////
+ // implementation
+private:
+ void usage (ostream & out)const;
+ void commandUsage (ostream & out);
+ int pass (
+ long & counter, // inout
+ int & more, // out
+ ACE_CString & command, // inout
+ int retry // in
+ ACE_ENV_ARG_DECL);
+
+
+ int next_replica (ACE_ENV_SINGLE_ARG_DECL);
+
+ ////////////////////
+ // forbidden methods
+ private:
+ FTClientMain (const FTClientMain & rhs);
+ FTClientMain & operator = (const FTClientMain & rhs);
+
+ ////////////////
+ // Data members
+ private:
+
+ CORBA::ORB_var orb_;
+
+ int argc_;
+ char ** argv_;
+ const char * inFileName_;
+ std::ifstream inFile_;
+ std::istream *commandIn_;
+
+ enum Verbosity{
+ SILENT,
+ QUIET,
+ NORMAL,
+ NOISY,
+ LOUD}
+ verbose_;
+
+
+ StringVec replica_iors_;
+ size_t replica_pos_;
+ const char * replica_name_;
+ FT_TEST::TestReplica_var replica_;
+};
+
+
+FTClientMain::FTClientMain ()
+ : commandIn_(&std::cin)
+ , verbose_(NORMAL)
+ , replica_pos_(0)
+ , replica_name_("none")
+{
+}
+
+FTClientMain::~FTClientMain ()
+{
+ if (this->inFile_.is_open())
+ {
+ this->inFile_.close();
+ }
+}
+
+void FTClientMain::commandUsage(ostream & out)
+{
+ out
+ << "Each command must be at the beginning of a separate line." << std::endl
+ << "Everything after the command (and operand if any) is ignored." << std::endl
+ << "Valid commands are:" << std::endl
+ << " Access via method call:" << std::endl
+ << " =N set counter to N" << std::endl
+ << " cN get counter and compare to N (c stands for \"check\""<< std::endl
+ << " +N increment counter by N" << std::endl
+ << " -N decrement counter by N" << std::endl
+ << " Access as attribute:" << std::endl
+ << " >N set attribute to N" << std::endl
+ << " < get attribite" << std::endl
+ << " Try methods to be used by fault tolerant infrastructure: " << std::endl
+ << " ! is_alive" << std::endl
+ << " s get_state" << std::endl
+ << " S set_state" << std::endl
+ << " u get_update" << std::endl
+ << " U set_update" << std::endl
+ << " Simulate failure:" << std::endl
+ << " dN die on condition:" << std::endl
+ << " d" << FT_TEST::TestReplica::NOT_YET << " don't die" << std::endl
+ << " d" << FT_TEST::TestReplica::RIGHT_NOW << " immediately" << std::endl
+ << " d" << FT_TEST::TestReplica::WHILE_IDLE << " while idle" << std::endl
+ << " (FT_TestReplica interface)" << std::endl
+ << " d" << FT_TEST::TestReplica::BEFORE_STATE_CHANGE << " before state change" << std::endl
+ << " d" << FT_TEST::TestReplica::BEFORE_REPLICATION << " after state change, before replication" << std::endl
+ << " d" << FT_TEST::TestReplica::BEFORE_REPLY << " after replication, before reply "<< std::endl
+ << " (Monitorable interface)" << std::endl
+ << " d" << FT_TEST::TestReplica::DURING_IS_ALIVE << " during is alive" << std::endl
+ << " d" << FT_TEST::TestReplica::DENY_IS_ALIVE << " is_alive returns false" << std::endl
+ << " (Updatable interface)" << std::endl
+ << " d" << FT_TEST::TestReplica::DURING_GET_UPDATE << " during get update" << std::endl
+ << " d" << FT_TEST::TestReplica::BEFORE_SET_UPDATE << " before set update" << std::endl
+ << " d" << FT_TEST::TestReplica::AFTER_SET_UPDATE << " after set update" << std::endl
+ << " (Checkpointable interface)" << std::endl
+ << " d" << FT_TEST::TestReplica::DURING_GET_STATE << " during get state" << std::endl
+ << " d" << FT_TEST::TestReplica::BEFORE_SET_STATE << " before set state" << std::endl
+ << " d" << FT_TEST::TestReplica::AFTER_SET_STATE << " after set state" << std::endl
+ << " Logistics commands:" << std::endl
+ << " # ignore this line (comment)." << std::endl
+ << " v set verbosity:" << std::endl
+ << " 0 don't check counter value." << std::endl
+ << " 1 only display counter value mismatch." << std::endl
+ << " 2 display counter value after every command (default)." << std::endl
+ << " 3 display commands." << std::endl
+ << " 4 display method calls." << std::endl
+ << " zN sleep N seconds." << std::endl
+ << " q quit (end the client, not the replica(s).)" << std::endl
+ << " q1 quit (end the client, and shutdown the currently active replica.)" << std::endl
+ << " ? help (this message)" << std::endl;
+}
+
+int
+FTClientMain::parse_args (int argc, char *argv[])
+{
+ this->argc_ = argc;
+ this->argv_ = argv;
+ int result = 0;
+
+ // note: dfnkx are simple_util options
+ // include them here so we can detect bad args
+ ACE_Get_Opt get_opts (argc, argv, "c:f:");
+ int c;
+
+ while (result == 0 && (c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'c':
+ {
+ this->inFileName_ = get_opts.opt_arg ();
+ this->inFile_.open(this->inFileName_);
+ if(this->inFile_.is_open() && this->inFile_.good())
+ {
+ std::cout << "FT Client: Reading commands from " << this->inFileName_ << std::endl;
+ this->commandIn_ = & this->inFile_;
+ }
+ else
+ {
+ std::cout << "FT Client: Can't open input file: " << this->inFileName_ << std::endl;
+ result = -1;
+ }
+ break;
+ }
+ case 'f':
+ {
+ replica_iors_.push_back(get_opts.opt_arg ());
+ break;
+ }
+
+ default:
+ case '?':
+ usage(std::cerr);
+ result = 1;
+ }
+ }
+ return result;
+}
+
+void FTClientMain::usage(ostream & out)const
+{
+ out << "usage"
+ << " -c <command file>"
+ << " [-f <ior file>]..."
+ << std::endl;
+}
+
+int FTClientMain::pass (
+ long & counter,
+ int & more,
+ ACE_CString & command,
+ int retry
+ ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+
+ ::FT::State_var state;
+ unsigned long stateValue = 0;
+ ::FT::State_var update;
+ unsigned long updateValue = 0;
+
+ while(more && result == 0 && ! this->commandIn_->eof())
+ {
+ if (! retry || command.length () == 0 )
+ {
+ char buffer[1000];
+ this->commandIn_->getline(buffer, sizeof(buffer)-1);
+ command = buffer;
+ }
+ retry = 0;
+
+ if (command.length() >0)
+ {
+ char op = command[0];
+ ACE_CString cdr = command.substr(1);
+ char * junque;
+ long operand = strtol(cdr.c_str(),&junque, 10);
+
+ if (this->verbose_ >= NOISY)
+ {
+ std::cout << "FT Client: " << command << std::endl;
+ }
+
+ // turn echo on (based on verbose)
+ // individual commands can turn it off
+ int echo = this->verbose_ >= QUIET;
+
+ switch(op)
+ {
+ case '#':
+ {
+ echo = 0;
+ break;
+ }
+ case '=':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->set(" << operand << ");" << std::endl;
+ }
+ this->replica_->set(operand ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ counter = operand;
+ break;
+ }
+ case 'c':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->get();" << std::endl;
+ }
+ long value = this->replica_->counter(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (value == operand)
+ {
+ std::cout << "FT Client: Good: Read " << value << " expecting " << operand << std::endl;
+ counter = operand;
+ }
+ else
+ {
+ std::cout << "FT Client: Error: Read " << value << " expecting " << operand << std::endl;
+ }
+ echo = 0;
+ break;
+
+ }
+ case '>':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->counter(" << operand << ");" << std::endl;
+ }
+ this->replica_->counter(operand ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ counter = operand;
+ break;
+ }
+ case '+':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->increment(" << operand << ");" << std::endl;
+ }
+ this->replica_->increment(operand ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ counter += operand;
+ break;
+ }
+ case '-':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->increment(" << -operand << ");" << std::endl;
+ }
+ this->replica_->increment(-operand ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ counter -= operand;
+ break;
+ }
+ case '<':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->counter();" << std::endl;
+ }
+ long attribute = this->replica_->counter(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ std::cout << "FT Client: Attribute: " << attribute << std::endl;
+ echo = 0;
+ break;
+ }
+ case '!':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->is_alive();" << std::endl;
+ }
+ int alive = this->replica_->is_alive(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ std::cout << "FT Client: Is alive? " << alive << std::endl;
+ break;
+ }
+ case 'd':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->die(" << operand << ");" << std::endl;
+ }
+ this->replica_->die(ACE_static_cast (FT_TEST::TestReplica::Bane, operand) ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ echo = 0;
+ break;
+ }
+ case 's':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->get_state();" << std::endl;
+ }
+ state = this->replica_->get_state(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ stateValue = counter;
+ break;
+ }
+ case 'S':
+ {
+ if (state.in() != 0)
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->set_state(saved_state);" << std::endl;
+ }
+ this->replica_->set_state(state ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ counter = stateValue;
+ }
+ else
+ {
+ std::cout << "FT Client: Error: no saved state." << std::endl;
+ }
+ break;
+ }
+ case 'u':
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->get_update();" << std::endl;
+ }
+ update = this->replica_->get_update(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ updateValue = counter;
+ break;
+ }
+ case 'U':
+ {
+ if (update.in() != 0)
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->set_update(saved_update);" << std::endl;
+ }
+ this->replica_->set_update(update ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ counter = updateValue;
+ }
+ else
+ {
+ std::cout << "FT Client: ERROR: No saved update information." << std::endl;
+ }
+ break;
+ }
+ case 'v':
+ {
+ this->verbose_ = ACE_static_cast(Verbosity, operand);
+ break;
+ }
+ case 'z':
+ {
+ if (operand == 0)
+ {
+ operand = 1;
+ }
+ ACE_Time_Value tv (operand,0);
+ ACE_OS::sleep(tv);
+ break;
+ }
+ case 'q':
+ {
+ if (operand != 0)
+ {
+ ACE_TRY_NEW_ENV
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->shutdown();" << std::endl;
+ }
+ this->replica_->shutdown( ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ // @@ Note: this is here because the corba event loop seems to go to sleep
+ // if there's nothing for it to do.
+ // not quite sure why, yet. Dale
+ this->replica_->is_alive(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ std::cout << "FT Client: Ignoring expected exception during shutdown." << std::endl;
+ ; // ignore exception during shutdown
+ }
+ ACE_ENDTRY;
+ }
+ echo = 0;
+ more = 0;
+ break;
+ }
+ default:
+ {
+ if (op != '?')
+ {
+ std::cout << "FT Client: Unknown: " << command << std::endl;
+ }
+ commandUsage(std::cerr);
+ break;
+ }
+ }
+ if (echo && this->verbose_ >= QUIET)
+ {
+ if (this->verbose_ >= LOUD)
+ {
+ std::cout << "FT Client: ->get();" << std::endl;
+ }
+
+ long value = this->replica_->get(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (value == counter)
+ {
+ if (this->verbose_ >= NORMAL)
+ {
+ std::cout << "FT Client: " << counter << std::endl;;
+ }
+ }
+ else
+ {
+ std::cout << "FT Client: Error: read " << value << " expecting " << counter << std::endl;
+ result = -1;
+ }
+ }
+ }
+ }
+ return result;
+}
+
+int FTClientMain::next_replica (ACE_ENV_SINGLE_ARG_DECL)
+{
+ int result = 0;
+ if (this->replica_pos_ < this->replica_iors_.size())
+ {
+ this->replica_name_ = this->replica_iors_[this->replica_pos_].c_str();
+ this->replica_pos_ += 1;
+ CORBA::Object_var rep_obj = this->orb_->string_to_object (this->replica_name_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ this->replica_ = FT_TEST::TestReplica::_narrow (rep_obj.in ());
+ if (! CORBA::is_nil (replica_.in ()))
+ {
+ result = 1;
+ }
+ else
+ {
+ std::cerr << "FT Client: Can't resolve IOR: " << this->replica_name_ << std::endl;
+ }
+ }
+ else
+ {
+ std::cerr << "***OUT_OF_REPLICAS*** " << this->replica_pos_ << std::endl;
+ }
+ return result;
+}
+
+
+int FTClientMain::run (ACE_ENV_SINGLE_ARG_DECL)
+{
+ int result = 0;
+
+ this->orb_ = CORBA::ORB_init(this->argc_, this->argv_);
+
+ int ok = next_replica (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (ok)
+ {
+ // retry information
+ ACE_CString command;
+ int retry = 0;
+ long counter = this->replica_->get(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (this->verbose_ >= NORMAL)
+ {
+ std::cout << "FT Client: Initial counter " << counter << std::endl;
+ }
+ if (ACE_OS::isatty(fileno(stdin)))
+ {
+ std::cout << "FT Client: Commands(? for help):" << std::endl;
+ }
+
+ int more = 1;
+ while (more && result == 0 && ! this->commandIn_->eof())
+ {
+ ACE_TRY_NEW_ENV
+ {
+ result = pass (counter, more, command, retry ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (CORBA::SystemException, sysex)
+ {
+ std::cout << "FT Client: Caught system exception: " << std::endl;
+ ACE_PRINT_EXCEPTION (sysex, "FT Client");
+
+ retry = 0;
+ int handled = 0;
+
+ handled = next_replica(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ if (handled)
+ {
+ std::cout << "FT Client: Recovering from fault." << std::endl;
+ std::cout << "FT Client: Activate " << this->replica_name_ << std::endl;
+ if (command.length () == 0)
+ {
+ std::cout << "FT Client: No command to retry." << std::endl;
+ }
+ else if (command[0] == 'd')
+ {
+ std::cout << "FT Client: Not retrying \"die\" command." << std::endl;
+ }
+ else if (sysex.completed () == CORBA::COMPLETED_YES)
+ {
+ std::cout << "FT Client: Last command completed. No retry needed." << std::endl;
+ }
+ else
+ {
+ if (sysex.completed () == CORBA::COMPLETED_MAYBE)
+ {
+ std::cout << "FT Client: Last command may have completed. Retrying anyway." << std::endl;
+ }
+ retry = 1;
+ std::cout << "FT Client: Retrying command: " << command << std::endl;
+ }
+ }
+ if (! handled)
+ {
+ std::cout << "FT Client: Exception not handled. Rethrow. " << std::endl;
+ ACE_RE_THROW;
+ }
+ }
+ ACE_ENDTRY;
+ }
+ }
+ else
+ {
+ std::cerr << "FT Client: Can't connect to replica." << std::endl;
+ }
+ return result;
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ FTClientMain app;
+ int result = app.parse_args(argc, argv);
+ if (result == 0)
+ {
+ ACE_TRY_NEW_ENV
+ {
+ result = app.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "FT_Client::main\t\n");
+ result = -1;
+ }
+ ACE_ENDTRY;
+ }
+ return result;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector<ACE_CString>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma ACE_Vector<ACE_CString>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/FT_Creator.cpp b/TAO/orbsvcs/tests/FT_App/FT_Creator.cpp
new file mode 100644
index 00000000000..aa208445b9b
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_Creator.cpp
@@ -0,0 +1,296 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_Creator.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * Main wrapped around TAO_Object_Group_Creator
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "FT_Creator.h"
+#include <iostream>
+#include <fstream>
+#include <orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+
+#include <ace/Get_Opt.h>
+#include <ace/OS_NS_stdio.h>
+
+FTAPP::FT_Creator::FT_Creator ()
+ : creator_ ()
+ , orb_ (CORBA::ORB::_nil ())
+ , registry_ior_(0)
+ , replication_manager_ (::FT::ReplicationManager::_nil ())
+ , have_replication_manager_ (0)
+ , write_iors_ (0)
+ , write_iogr_ (0)
+ , ns_register_ (1)
+ , iogr_seq_ (0)
+ , prefix_ ("")
+{
+}
+
+FTAPP::FT_Creator::~FT_Creator ()
+{
+}
+
+int
+FTAPP::FT_Creator::parse_args (int argc, char *argv[])
+{
+ int result = 0;
+
+ ACE_Get_Opt get_opts (argc, argv, "r:ignf:u:p:");
+ int c;
+
+ while (result == 0 && (c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'r':
+ {
+ this->create_roles_.push_back (get_opts.opt_arg ());
+ break;
+ }
+ case 'u':
+ {
+ this->unregister_roles_.push_back (get_opts.opt_arg ());
+ break;
+ }
+ case 'f':
+ {
+ this->registry_ior_ = get_opts.opt_arg ();
+ break;
+ }
+
+ case 'g':
+ {
+ this->write_iogr_ = !this->write_iogr_;
+ break;
+ }
+
+ case 'i':
+ {
+ this->write_iors_ = ! this->write_iors_;
+ break;
+ }
+
+ case 'n':
+ {
+ this->ns_register_ = !this->ns_register_;
+ break;
+ }
+
+ case 'p':
+ {
+ this->prefix_ = get_opts.opt_arg();
+ break;
+ }
+
+ default:
+ {
+ std::cerr << "Creator: Unknown argument -" << (char) c << std::endl;
+ usage(std::cerr);
+ result = 1;
+ break;
+ }
+ case '?':
+ {
+ usage(std::cerr);
+ result = 1;
+ break;
+ }
+ }
+ }
+
+ if ( this->create_roles_.size() == 0 && this->unregister_roles_.size() == 0)
+ {
+ std::cerr << "Creator: neither create (-t) nor kill (-u) specified. Nothing to do." << std::endl;
+ usage (std::cerr);
+ result = -1;
+ }
+
+ return result;
+}
+
+void FTAPP::FT_Creator::usage(ostream & out)const
+{
+ out << "usage\n"
+ << " -r <role for objects to be created>\n"
+ << " -f <factory registry ior file> (if not specified, ReplicationManager is used.)\n"
+ << " -u <role to be unregistered (for testing factory registry)>\n"
+ << " -i (toggle write ior for each object (default false))\n"
+ << " -p <prefix for registration & file names>\n"
+ << " -g (toggle write iogr to file (default false))\n"
+ << " -n (toggle register iogr with name service (default true))\n"
+ ;
+}
+
+
+
+int FTAPP::FT_Creator::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // if a factory IOR was specified on command line
+ if ( this->registry_ior_ != 0)
+ {
+ CORBA::Object_var registry_obj
+ = this->orb_->string_to_object (this->registry_ior_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ PortableGroup::FactoryRegistry_var registry
+ = PortableGroup::FactoryRegistry::_narrow(registry_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (! CORBA::is_nil (registry.in ()))
+ {
+ result = this->creator_.set_factory_registry(registry.in());
+ }
+ }
+
+ if (result == 0)
+ {
+ result = this->creator_.init (orb ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+
+ if (result == 0 && this->ns_register_)
+ {
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(naming_obj.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+ this->naming_context_=
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ return result;
+}
+
+int FTAPP::FT_Creator::run (ACE_ENV_SINGLE_ARG_DECL)
+{
+ int result = 0;
+ size_t typeCount = this->create_roles_.size();
+ size_t nType = 0;
+ for ( nType = 0; result == 0 && nType < typeCount; ++nType)
+ {
+ const char * role = this->create_roles_[nType].c_str();
+ std::cout << std::endl << "Creator: Creating group of " << role << std::endl;
+ PortableGroup::ObjectGroup_var group = this->creator_.create_group (
+ role,
+ this->write_iors_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (1);
+
+ if (this->write_iogr_)
+ {
+ CORBA::String_var iogr = this->orb_->object_to_string (group.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (1);
+
+ char iogr_filename[1000];
+ ACE_OS::snprintf (iogr_filename, sizeof(iogr_filename)-1, "%s%s_%d.iogr",
+ this->prefix_,
+ role,
+ this->iogr_seq_);
+ FILE * iogr_file = fopen (iogr_filename, "w");
+ if (iogr_file != 0)
+ {
+ char const * siogr = ACE_static_cast (const char *, iogr);
+ fwrite (siogr, 1, strlen(siogr), iogr_file);
+ fclose (iogr_file);
+ }
+ else
+ {
+ std::cerr << "Can't open iogr output file " << iogr_filename << std::endl;
+ result = 1;
+ }
+ }
+
+ if(this->ns_register_)
+ {
+ char iogr_name[1000];
+ ACE_OS::snprintf (iogr_name, sizeof(iogr_name)-1, "%s_%s_%d",
+ this->prefix_,
+ role,
+ this->iogr_seq_);
+
+ CosNaming::Name this_name (1);
+ this_name.length (1);
+ this_name[0].id = CORBA::string_dup (iogr_name);
+
+ this->naming_context_->rebind (this_name, group.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (1);
+ }
+
+ iogr_seq_ += 1;
+
+ }
+
+ typeCount = this->unregister_roles_.size();
+ for ( nType = 0; result == 0 && nType < typeCount; ++nType)
+ {
+ const char * role = this->unregister_roles_[nType].c_str();
+ result = this->creator_.unregister_role (role ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ return result;
+}
+
+int FTAPP::FT_Creator::fini ()
+{
+ return this->creator_.fini();
+}
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
+ ACE_TRY_CHECK;
+ FTAPP::FT_Creator app;
+ result = app.parse_args(argc, argv);
+ if (result == 0)
+ {
+ result = app.init (orb.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (result == 0)
+ {
+ result = app.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ if (result == 0)
+ {
+ result = app.fini();
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "FT_Creator::main\t\n");
+ result = -1;
+ }
+ ACE_ENDTRY;
+ return result;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector<ACE_CString>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Vector<ACE_CString>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/FT_Creator.h b/TAO/orbsvcs/tests/FT_App/FT_Creator.h
new file mode 100644
index 00000000000..5d6c26321a5
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_Creator.h
@@ -0,0 +1,114 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_Creator.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * Main wrapped around TAO_Object_Group_Creator
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef FT_CREATOR_H
+#define FT_CREATOR_H
+#include <ace/ACE.h>
+#include /**/ "ace/pre.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "TAO_Object_Group_Creator.h"
+
+namespace FTAPP
+{
+ class FT_Creator
+ {
+ typedef ACE_Vector<ACE_CString> StringVec;
+ public:
+ ///////////////////////////
+ // construction/destruction
+ FT_Creator ();
+
+ ~FT_Creator ();
+
+ /////////////////
+ // initialization
+ int parse_args (int argc, char *argv[]);
+
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ ////////////
+ // execution
+ int run (ACE_ENV_SINGLE_ARG_DECL);
+
+ ////////////
+ // shut down
+ int fini ();
+
+ /////////////////
+ // implementation
+ private:
+ void usage (ostream & out)const;
+
+ ////////////////////
+ // forbidden methods
+ private:
+ FT_Creator (const FT_Creator & rhs);
+ FT_Creator & operator = (const FT_Creator & rhs);
+
+ ////////////////
+ // Data members
+ private:
+
+ TAO::Object_Group_Creator creator_;
+ CORBA::ORB_var orb_;
+ const char * registry_ior_;
+ StringVec create_roles_;
+ StringVec unregister_roles_;
+
+
+ CosNaming::NamingContext_var naming_context_;
+
+ ::FT::ReplicationManager_var replication_manager_;
+ /**
+ * bool: true if we have a real replication manager
+ */
+ int have_replication_manager_;
+
+ /**
+ * bool: true if we should write individual IOR files
+ */
+ int write_iors_;
+
+ /**
+ * bool: true if we should write IOGR to a file
+ */
+ int write_iogr_;
+
+ /**
+ * bool: true if we should write IOGR to a Name Service
+ */
+ int ns_register_;
+
+ /**
+ * sequence number applied to created IOGRs
+ */
+ unsigned long iogr_seq_;
+
+ /**
+ * prefix for names
+ */
+ const char * prefix_;
+
+
+ };
+
+} // namespace TAO
+
+#include /**/ "ace/post.h"
+
+#endif // FT_CREATOR_H
diff --git a/TAO/orbsvcs/tests/FT_App/FT_Replica.cpp b/TAO/orbsvcs/tests/FT_App/FT_Replica.cpp
new file mode 100644
index 00000000000..43bd2b8b219
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_Replica.cpp
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_Replica.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * Implement the FT_TEST::Replica IDL interface.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include <tao/Utils/Server_Main.h>
+#include "FT_ReplicaFactory_i.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ TAO::Utils::Server_Main<FT_ReplicaFactory_i> server_main("TestReplicaFactory");
+ return server_main.run(argc, argv);
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class TAO::Utils::Server_Main<FT_ReplicaFactory_i>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate TAO::Utils::Server_Main<FT_ReplicaFactory_i>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp b/TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp
new file mode 100644
index 00000000000..45b1e7753fb
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp
@@ -0,0 +1,777 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicaFactory_i.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+#include "FT_ReplicaFactory_i.h"
+#include "FT_TestReplica_i.h"
+#include <ace/Get_Opt.h>
+#include <orbsvcs/CosNamingC.h>
+#include <orbsvcs/PortableGroupC.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include <orbsvcs/PortableGroup/PG_Property_Set.h>
+
+// Use this macro at the beginning of CORBA methods
+// to aid in debugging.
+#define METHOD_ENTRY(name) \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Enter %s\n", #name \
+ ))
+
+// Use this macro to return from CORBA methods
+// to aid in debugging. Note that you can specify
+// the return value after the macro, for example:
+// METHOD_RETURN(Plugh::plover) xyzzy; is equivalent
+// to return xyzzy;
+// METHOD_RETURN(Plugh::troll); is equivalent to
+// return;
+// WARNING: THIS GENERATES TWO STATEMENTS!!! THE FOLLOWING
+// will not do what you want it to:
+// if (cave_is_closing) METHOD_RETURN(Plugh::pirate) aarrggh;
+// Moral: Always use braces.
+#define METHOD_RETURN(name) \
+ ACE_DEBUG (( LM_DEBUG, \
+ "Leave %s\n", #name \
+ )); \
+ return /* value goes here */
+
+
+static const char * criterion_initial_value = "INITIAL_VALUE";
+
+//////////////////////////////////////////////////////
+// FT_ReplicaFactory_i Construction/destruction
+
+FT_ReplicaFactory_i::FT_ReplicaFactory_i ()
+ : internals_ ()
+ , orb_ (CORBA::ORB::_nil ())
+ , poa_ (PortableServer::POA::_nil ())
+ , object_id_ ()
+ , ior_ ()
+ , ior_output_file_ (0)
+ , identity_ ()
+ , have_replication_manager_(0)
+ , replication_manager_(0)
+ , factory_registry_ior_(0)
+ , factory_registry_ (0)
+ , registered_(0)
+ , test_output_file_(0)
+ , ns_name_(0)
+ , naming_context_ (CosNaming::NamingContext::_nil ())
+ , this_name_ ()
+ , roles_ ()
+ , location_ ("unknown")
+ , quit_on_idle_ (0)
+ , unregister_by_location_ (0)
+ , replicas_ ()
+ , empty_slots_(0)
+ , quit_requested_(0)
+{
+ ACE_DEBUG((LM_DEBUG, "TestReplica type_id: %s\n", FT_TEST::_tc_TestReplica->id() ));
+// ACE_DEBUG((LM_DEBUG, "Hobbit type_id: %s\n", FT_TEST::_tc_Hobbit->id() ));
+// ACE_DEBUG((LM_DEBUG, "Elf type_id: %s\n", FT_TEST::_tc_Elf->id() ));
+// ACE_DEBUG((LM_DEBUG, "Human type_id: %s\n", FT_TEST::_tc_Human->id() ));
+
+}
+
+
+FT_ReplicaFactory_i::~FT_ReplicaFactory_i ()
+{
+ //scope the guard
+ {
+ InternalGuard guard (this->internals_);
+
+ // be sure all replicas are gone
+ // before this object disappears
+ shutdown_i ();
+ }
+}
+
+////////////////////////////////////////////
+// FT_ReplicaFactory_i private methods
+
+CORBA::ULong FT_ReplicaFactory_i::allocate_id()
+{
+ // assume mutex is locked
+ CORBA::ULong id = this->replicas_.size();
+ if (this->empty_slots_ != 0)
+ {
+ for(CORBA::ULong pos = 0; pos < id; ++pos)
+ {
+ if (this->replicas_[pos] == 0)
+ {
+ id = pos;
+ }
+ }
+ }
+ else
+ {
+ this->replicas_.push_back(0);
+ this->empty_slots_ += 1;
+ }
+ return id;
+}
+
+void FT_ReplicaFactory_i::shutdown_i()
+{
+ // assume mutex is locked
+ for (size_t nReplica = 0; nReplica < this->replicas_.size(); ++nReplica)
+ {
+ FT_TestReplica_i * replica = this->replicas_[nReplica];
+ if (replica != 0)
+ {
+ replica->request_quit();
+ }
+ }
+}
+
+int FT_ReplicaFactory_i::write_ior(const char * outputFile, const char * ior)
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (outputFile, "w");
+ if (out)
+ {
+ ACE_OS::fprintf (out, "%s", ior);
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Open failed for %s\n", outputFile
+ ));
+ }
+ return result;
+}
+
+//////////////////////////////////////////////////////
+// FT_ReplicaFactory_i public, non-CORBA methods
+
+int FT_ReplicaFactory_i::parse_args (int argc, char * argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:n:f:i:l:t:qu");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'o':
+ {
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'n':
+ {
+ this->ns_name_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'f':
+ {
+ this->factory_registry_ior_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'i':
+ {
+ this->roles_.push_back(get_opts.opt_arg ());
+ break;
+ }
+ case 'l':
+ {
+ this->location_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'q':
+ {
+ this->quit_on_idle_ = 1;
+ break;
+ }
+ case 'u':
+ {
+ this->unregister_by_location_ = 1;
+ break;
+ }
+
+ case 't':
+ {
+ this->test_output_file_ = get_opts.opt_arg ();
+ break;
+ }
+
+ case '?':
+ // fall thru
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s \n"
+ " -o <factory ior file>\n"
+ " -n <naming service registration name>\n"
+ " -f <factory registry ior file>\n"
+ " -i <registration: role>\n"
+ " -l <registration: location>\n"
+ " -t <test replica ior file>\n"
+ " -u{nregister by location}\n"
+ " -q{uit on idle}\n",
+ argv [0]),
+ -1);
+ break;
+ }
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+const char * FT_ReplicaFactory_i::location () const
+{
+ return this->location_;
+}
+
+const char * FT_ReplicaFactory_i::identity () const
+{
+ return this->identity_.c_str();
+}
+
+int FT_ReplicaFactory_i::idle (int & result ACE_ENV_ARG_DECL)
+{
+ result = 0;
+ size_t replicaCount = this->replicas_.size();
+ if (replicaCount != this->empty_slots_)
+ {
+ for (size_t nReplica = 0; result == 0 && nReplica < replicaCount; ++nReplica)
+ {
+ FT_TestReplica_i * replica = this->replicas_[nReplica];
+ if (replica != 0)
+ {
+ // give the replica's idle processing a change
+ // ignore the return status (the replica should shut itself down
+ // unless result is non-zero.
+ // non-zero result means panic.
+ replica->idle(result ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+ }
+
+ int quit = (this->quit_requested_ || result != 0);
+ if (!quit && this->replicas_.size() == this->empty_slots_)
+ {
+/* if you re-enable this, add some kind of throttle to avoid noise.
+ ACE_ERROR (( LM_ERROR,
+ "ReplicaFactory is idle.\n"
+ ));
+*/
+ if (this->quit_on_idle_ && this->empty_slots_ != 0)
+ {
+ ACE_ERROR (( LM_ERROR,
+ "%s exits due to quit on idle option.\n",
+ identity()
+ ));
+ quit = 1;
+ }
+ }
+
+ return quit;
+}
+
+
+
+int FT_ReplicaFactory_i::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+ }
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Register with the POA.
+
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ CORBA::Object_var this_obj =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->ior_ = this->orb_->object_to_string (this_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (this->factory_registry_ior_ != 0)
+ {
+ if (ACE_OS::strcmp (this->factory_registry_ior_, "none") != 0)
+ {
+ CORBA::Object_var reg_obj = this->orb_->string_to_object(factory_registry_ior_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->factory_registry_ = ::PortableGroup::FactoryRegistry::_narrow(reg_obj.in ());
+ if (CORBA::is_nil(this->factory_registry_.in ()))
+ {
+ ACE_ERROR (( LM_ERROR,
+ "Can't resolve Factory Registry IOR %s\n",
+ this->factory_registry_ior_
+ ));
+ result = -1;
+ }
+ }
+ }
+ else // no -f option. Try RIR(RM)
+ {
+ ///////////////////////////////
+ // Find the ReplicationManager
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var rm_obj = orb->resolve_initial_references("ReplicationManager" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ this->replication_manager_ = ::FT::ReplicationManager::_narrow(rm_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!CORBA::is_nil (replication_manager_.in ()))
+ {
+ this->have_replication_manager_ = 1;
+ // empty criteria
+ ::PortableGroup::Criteria criteria;
+ this->factory_registry_ = this->replication_manager_->get_factory_registry(criteria ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (CORBA::is_nil (this->factory_registry_.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,"ReplicaFactory: ReplicationManager failed to return FactoryRegistry. Factory will not be registered.\n" ));
+ }
+ }
+ else
+ {
+ this->factory_registry_ = ::PortableGroup::FactoryRegistry::_narrow(rm_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!CORBA::is_nil(this->factory_registry_.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG,"Found a FactoryRegistry DBA ReplicationManager\n" ));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,"ReplicaFactory: Can't resolve ReplicationManager.\n" ));
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ if (this->test_output_file_ == 0) // ignore if this is a test run
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "ReplicaFactory: Exception resolving ReplicationManager. Factory will not be registered.\n" );
+ }
+ }
+ ACE_ENDTRY;
+
+ }
+
+ if ( ! CORBA::is_nil (this->factory_registry_.in ()))
+ {
+ size_t roleCount = roles_.size();
+ for (size_t nRole = 0; nRole < roleCount; ++nRole)
+ {
+ const char * roleName = this->roles_[nRole].c_str();
+
+ PortableGroup::FactoryInfo info;
+ info.the_factory = ::PortableGroup::GenericFactory::_narrow(this_obj.in ());
+ info.the_location.length(1);
+ info.the_location[0].id = CORBA::string_dup(this->location_);
+ info.the_criteria.length(1);
+ info.the_criteria[0].nam.length(1);
+ info.the_criteria[0].nam[0].id = CORBA::string_dup(PortableGroup::role_criterion);
+ info.the_criteria[0].val <<= CORBA::string_dup(roleName);
+
+ ACE_ERROR (( LM_INFO,
+ "Factory: %s@%s registering with factory registry\n",
+ roleName,
+ location_
+ ));
+
+ this->factory_registry_->register_factory(
+ roleName,
+ FT_TEST::_tc_TestReplica->id(),
+ info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ this->registered_ = 1;
+ }
+
+ int identified = 0; // bool
+
+ if (this->roles_.size() > 0)
+ {
+ this->identity_ = "Factory";
+ if (this->location_ != 0)
+ {
+ this->identity_ += "@";
+ this->identity_ += this->location_;
+ }
+ identified = 1;
+ }
+
+ if (this->ior_output_file_ != 0)
+ {
+ if (!identified)
+ {
+ this->identity_ = "file:";
+ this->identity_ += this->ior_output_file_;
+ // note: don't set identified--ns identity overrides file identitiy
+ }
+ result = write_ior (this->ior_output_file_, this->ior_);
+ }
+ else
+ {
+ if (this->registered_)
+ {
+ // if we didn't register with a FactoryRegistry
+ // and no IOR file specified,
+ // then always try to register with name service
+ this->ns_name_ = "FT_ReplicaFactory";
+ }
+ }
+
+ if (this->ns_name_ != 0)
+ {
+ if (!identified)
+ {
+ this->identity_ = "name:";
+ this->identity_ += this->ns_name_;
+ }
+
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(naming_obj.in ())){
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+
+ this->naming_context_ =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ this->this_name_.length (1);
+ this->this_name_[0].id = CORBA::string_dup (this->ns_name_);
+
+ this->naming_context_->rebind (this->this_name_, this_obj.in() // CORBA::Object::_duplicate(this_obj)
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ // if we're testing. Create a replica at startup time
+ if (this->test_output_file_ != 0)
+ {
+ // shouldn't be necessary, but create_replica assumes this
+ InternalGuard guard (this->internals_);
+ FT_TestReplica_i * replica = create_replica ("test" ACE_ENV_ARG_PARAMETER);
+
+ PortableServer::POA_var poa = replica->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ ::CORBA::Object_var replica_obj = poa->servant_to_reference(replica ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ ::CORBA::String_var replicaIOR = this->orb_->object_to_string(replica_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ write_ior (this->test_output_file_, replicaIOR);
+ }
+
+ return result;
+}
+
+int FT_ReplicaFactory_i::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (this->ior_output_file_ != 0)
+ {
+ ACE_OS::unlink (this->ior_output_file_);
+ this->ior_output_file_ = 0;
+ }
+ if (this->ns_name_ != 0)
+ {
+ this->naming_context_->unbind (this_name_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->ns_name_ = 0;
+ }
+
+ if (registered_)
+ {
+ registered_ = 0;
+
+ if (this->unregister_by_location_)
+ {
+ ACE_ERROR (( LM_INFO,
+ "%s: unregistering all factories at %s\n",
+ identity(),
+ location_
+ ));
+
+ PortableGroup::Location location(1);
+ location.length(1);
+ location[0].id = CORBA::string_dup(location_);
+ this->factory_registry_->unregister_factory_by_location (
+ location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ else
+ {
+ size_t roleCount = roles_.size();
+ for (size_t nRole = 0; nRole < roleCount; ++nRole)
+ {
+ const char * roleName = this->roles_[nRole].c_str();
+ ACE_ERROR (( LM_INFO,
+ "Factory for: %s@%s unregistering from factory registry\n",
+ roleName,
+ location_
+ ));
+
+ PortableGroup::Location location(1);
+ location.length(1);
+ location[0].id = CORBA::string_dup(location_);
+ this->factory_registry_->unregister_factory (
+ roleName,
+ location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+ }
+
+ return 0;
+}
+
+
+void FT_ReplicaFactory_i::remove_replica(CORBA::ULong id, FT_TestReplica_i * replica ACE_ENV_ARG_DECL)
+{
+ InternalGuard guard (this->internals_);
+ if (id < this->replicas_.size())
+ {
+ if(this->replicas_[id] == replica)
+ {
+ replica->fini(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ delete replica;
+ this->replicas_[id] = 0;
+ this->empty_slots_ += 1;
+ }
+ else
+ {
+ ACE_ERROR (( LM_ERROR,
+ "Remove replica %d mismatch.\n",
+ ACE_static_cast(int, id)
+ ));
+ }
+ }
+ else
+ {
+ ACE_ERROR (( LM_ERROR,
+ "Attempt to remove invalid replica %d. Limit %d.\n",
+ ACE_static_cast(int, id),
+ ACE_static_cast(int, this->replicas_.size())
+ ));
+ }
+}
+
+//////////////////////////////////////////
+// FT_ReplicaFactory_i CORBA methods
+
+CORBA::Object_ptr FT_ReplicaFactory_i::create_object (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ PortableGroup::GenericFactory::FactoryCreationId_out factory_creation_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::NoFactory
+ , PortableGroup::ObjectNotCreated
+ , PortableGroup::InvalidCriteria
+ , PortableGroup::InvalidProperty
+ , PortableGroup::CannotMeetCriteria
+ ))
+{
+ METHOD_ENTRY(FT_ReplicaFactory_i::create_object);
+ ACE_UNUSED_ARG (type_id);
+ InternalGuard guard (this->internals_);
+
+ ::TAO::PG_Property_Set decoder (the_criteria);
+
+ // boolean, becomes true if a required parameter is missing
+ int missingParameter = 0;
+ const char * missingParameterName = 0;
+
+ CORBA::Long initialValue = 0;
+ if (! ::TAO::find (decoder, criterion_initial_value, initialValue) )
+ {
+ // not required. Otherwise:
+ // missingParameter = 1;
+ // missingParameterName = criterion_initial_value;
+ }
+
+ const char * role = "replica";
+ if (! ::TAO::find (decoder, PortableGroup::role_criterion, role) )
+ {
+ ACE_ERROR((LM_INFO,
+ "Property \"%s\" not found?\n", PortableGroup::role_criterion
+ ));
+ // not required. Otherwise:
+ // missingParameter = 1;
+ // missingParameterName = PortableGroup::role_criterion;
+ }
+
+ if (missingParameter)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Throwing 'InvalidCriteria' due to missing %s\n",
+ missingParameterName
+ ));
+ ACE_THROW_RETURN ( PortableGroup::InvalidCriteria(), 0);
+ }
+
+ FT_TestReplica_i * replica = create_replica(role ACE_ENV_ARG_PARAMETER);
+ if (replica == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "New Replica_i returned NULL. Throwing ObjectNotCreated.\n"
+ ));
+ ACE_THROW_RETURN ( PortableGroup::ObjectNotCreated(), 0);
+ }
+
+ ACE_NEW_THROW_EX ( factory_creation_id,
+ PortableGroup::GenericFactory::FactoryCreationId,
+ PortableGroup::ObjectNotCreated());
+ CORBA::ULong factory_id = replica->factory_id();
+ (*factory_creation_id) <<= factory_id;
+
+ ACE_ERROR ((LM_INFO,
+ "Created %s@%s#%d.\n", role, this->location_, ACE_static_cast(int, factory_id)
+ ));
+
+
+ ::CORBA::Object_ptr replica_obj =
+ replica->_default_POA(ACE_ENV_SINGLE_ARG_PARAMETER)->servant_to_reference(replica);
+ METHOD_RETURN(FT_ReplicaFactory_i::create_object) replica_obj->_duplicate(replica_obj);
+}
+
+FT_TestReplica_i * FT_ReplicaFactory_i::create_replica(const char * name ACE_ENV_ARG_DECL)
+{
+ // assume mutex is locked
+ CORBA::ULong factoryId = allocate_id();
+
+ FT_TestReplica_i * pFTReplica = 0;
+
+ ACE_NEW_NORETURN(pFTReplica, FT_TestReplica_i(
+ this,
+ name,
+ factoryId
+ ));
+
+ this->replicas_[factoryId] = pFTReplica;
+ this->empty_slots_ -= 1;
+
+ pFTReplica->init (this->orb_ ACE_ENV_ARG_PARAMETER);
+ return pFTReplica;
+}
+
+void FT_ReplicaFactory_i::delete_object (
+ const PortableGroup::GenericFactory::FactoryCreationId & factory_creation_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::ObjectNotFound
+ ))
+{
+ METHOD_ENTRY(FT_ReplicaFactory_i::delete_object);
+
+ InternalGuard guard (this->internals_);
+
+ CORBA::ULong factoryId;
+ factory_creation_id >>= factoryId;
+ if (factoryId < this->replicas_.size())
+ {
+ if(this->replicas_[factoryId] != 0)
+ {
+ this->replicas_[factoryId]->request_quit();
+ }
+ else
+ {
+ ACE_THROW(::PortableGroup::ObjectNotFound());
+ }
+ }
+ else
+ {
+ ACE_THROW(::PortableGroup::ObjectNotFound());
+ }
+ METHOD_RETURN(FT_ReplicaFactory_i::delete_object);
+}
+
+CORBA::Boolean FT_ReplicaFactory_i::is_alive (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ METHOD_RETURN(FT_ReplicaFactory_i::is_alive)
+ 1;
+}
+
+void FT_ReplicaFactory_i::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ METHOD_ENTRY(FT_FaultDetectorFactory_i::shutdown);
+ InternalGuard guard (this->internals_);
+ shutdown_i ();
+ this->quit_requested_ = 1;
+ METHOD_RETURN(FT_FaultDetectorFactory_i::shutdown);
+}
+
+
+///////////////////////////////////
+// Template instantiation for
+// competence-challenged compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector<FT_TestReplica_i *>;
+ template class ACE_Guard<ACE_Mutex>;
+ template class ACE_Vector<ACE_CString>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Vector<FT_TestReplica_i *>
+# pragma instantiate ACE_Guard<ACE_Mutex>
+# pragma instantiate ACE_Vector<ACE_CString>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h b/TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h
new file mode 100644
index 00000000000..a2bc85e5f80
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_ReplicaFactory_i.h
@@ -0,0 +1,293 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_ReplicaFactory_i.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * It declares the implementation of ReplicaFactory which
+ * creates and manages replicas as an agent for
+ * the ReplicationManager as defined in the FT CORBA specification.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef FT_REPLICAFACTORY_H_
+#define FT_REPLICAFACTORY_H_
+#include <ace/ACE.h>
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+//////////////////////////////////
+// Classes declared in this header
+class FT_ReplicaFactory_i;
+
+/////////////////////////////////
+// Includes needed by this header
+#include <ace/Vector_T.h>
+#include "FT_TestReplicaS.h"
+#include <ace/Thread_Manager.h>
+#include <orbsvcs/FT_ReplicationManagerC.h>
+
+/////////////////////
+// Forward references
+class TAO_ORB_Manager;
+class FT_TestReplica_i;
+
+/**
+ * Implement the GenericFactory interface.
+ */
+class FT_ReplicaFactory_i
+//FT_TEST::ReplicaFactory
+ : public virtual POA_PortableGroup::GenericFactory
+{
+ typedef ACE_Vector<FT_TestReplica_i *> ReplicaVec;
+ typedef ACE_Vector<ACE_CString> StringVec;
+
+ //////////////////////
+ // non-CORBA interface
+public:
+ /**
+ * Default constructor.
+ */
+ FT_ReplicaFactory_i ();
+
+ /**
+ * Virtual destructor.
+ */
+ virtual ~FT_ReplicaFactory_i ();
+
+ /**
+ * Parse command line arguments.
+ * @param argc traditional C argc
+ * @param argv traditional C argv
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object.
+ * @param orb our ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ int idle(int & result ACE_ENV_ARG_DECL);
+
+
+ /**
+ * Identify this replica factory.
+ * @return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ const char * location () const;
+
+ /**
+ * Remove pointer to individual replica; delete FT_TestReplica_i.
+ * See replica life cycle description.
+ * @param id the numerical id assigned to this replica.
+ * @param replica a pointer to the Replica object (redundant for safety.)
+ */
+ void remove_replica (CORBA::ULong id, FT_TestReplica_i * replica ACE_ENV_ARG_DECL);
+
+ //////////////////
+ // CORBA interface
+ // See IDL for documentation
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ /////////////////////////////////////////
+ // CORBA interface GenericFactory methods
+ virtual CORBA::Object_ptr create_object (
+ const char * type_id,
+ const PortableGroup::Criteria & the_criteria,
+ PortableGroup::GenericFactory::FactoryCreationId_out factory_creation_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::NoFactory
+ , PortableGroup::ObjectNotCreated
+ , PortableGroup::InvalidCriteria
+ , PortableGroup::InvalidProperty
+ , PortableGroup::CannotMeetCriteria
+ ));
+
+ virtual void delete_object (
+ const PortableGroup::GenericFactory::FactoryCreationId & factory_creation_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , PortableGroup::ObjectNotFound
+ ));
+
+ //////////////////////////////////////////
+ // CORBA interface PullMonitorable methods
+
+ virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /////////////////////////
+ // Implementation methods
+private:
+ /**
+ * Actual replica creation happens in this method.
+ * @param name becomes part of the objects identity.
+ */
+ FT_TestReplica_i * create_replica(const char * name ACE_ENV_ARG_DECL);
+
+ /**
+ * Find or allocate an ID for a new replica
+ */
+ CORBA::ULong allocate_id();
+
+ /**
+ * Write this factory's IOR to a file
+ */
+ int write_ior (const char * outputFile, const char * ior);
+
+ /**
+ * Clean house for factory shut down.
+ */
+ void shutdown_i ();
+
+ ///////////////
+ // Data Members
+private:
+
+ /**
+ * Protect internal state.
+ * Mutex should be locked by corba methods, or by
+ * external (public) methods before calling implementation
+ * methods.
+ * Implementation methods should assume the mutex is
+ * locked if necessary.
+ */
+ ACE_SYNCH_MUTEX internals_;
+ typedef ACE_Guard<ACE_SYNCH_MUTEX> InternalGuard;
+
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+ /**
+ * IOR of this object as assigned by poa
+ */
+ CORBA::String_var ior_;
+
+ /**
+ * A file to which the factory's IOR should be written.
+ */
+ const char * ior_output_file_;
+
+ /**
+ * A human-readable string to distinguish this from other Notifiers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * bool: true if we found a replication manager
+ */
+ int have_replication_manager_;
+
+ /**
+ * The replication manager
+ */
+
+ ::FT::ReplicationManager_var replication_manager_;
+
+
+ /**
+ * The factory registry IOR
+ */
+ const char * factory_registry_ior_;
+
+ /**
+ * The factory registry with which to register.
+ */
+ PortableGroup::FactoryRegistry_var factory_registry_;
+
+ /**
+ * true if registered with FactoryRegistry
+ */
+ int registered_; // bool
+
+ /**
+ * A file to which the test replica's IOR will be written
+ */
+ const char * test_output_file_;
+
+ /**
+ * A name to be used to register the factory with the name service.
+ */
+ const char * ns_name_;
+
+ CosNaming::NamingContext_var naming_context_;
+
+ CosNaming::Name this_name_;
+
+ /////////////////
+ // The roles used to register types
+ StringVec roles_;
+
+ /**
+ * the PortableGroup::Location within the domain
+ */
+ const char * location_;
+
+ /**
+ * bool: quit on idle flag.
+ */
+ int quit_on_idle_;
+
+ /**
+ * bool: use a single call to unregister.
+ */
+ int unregister_by_location_;
+
+ /**
+ * A vector of Replicas. Note that the Replica ID
+ * is an index into this vector.
+ */
+ ReplicaVec replicas_;
+
+ /**
+ * count of entries in Replicas_ that have been deleted.
+ * Used to determine when the factory is idle and to avoid futile
+ * searches for empty slots.
+ */
+ size_t empty_slots_;
+
+ /**
+ * boolean: starts false. Set to true when it's time to quit.
+ */
+ int quit_requested_;
+
+};
+
+#endif /* FT_REPLICAFACTORY_H_ */
diff --git a/TAO/orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp b/TAO/orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp
new file mode 100755
index 00000000000..96c660e4a7e
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_ReplicationManagerController.cpp
@@ -0,0 +1,197 @@
+// $Id$
+
+#include "orbsvcs/FT_ReplicationManagerC.h"
+#include <ace/Get_Opt.h>
+#include <iostream>
+
+// A simple class for building a client that "controls' the
+// Replication Manager (right now it just shuts it down).
+class TAO_FT_ReplicationManagerController
+{
+/////////////////////////////
+// Public interface.
+public:
+ TAO_FT_ReplicationManagerController ();
+ virtual ~TAO_FT_ReplicationManagerController ();
+
+ int init (int & argc, char * argv[]);
+ int parse_args (int & argc, char* argv[]);
+ int run ();
+
+/////////////////////////////
+// Forbidden.
+private:
+ TAO_FT_ReplicationManagerController (
+ const TAO_FT_ReplicationManagerController & rhs);
+ TAO_FT_ReplicationManagerController & operator = (
+ const TAO_FT_ReplicationManagerController & rhs);
+
+/////////////////////////////
+// Private implementation.
+private:
+ void usage (ostream & out) const;
+
+/////////////////////////////
+// Data members.
+private:
+ CORBA::ORB_var orb_;
+ FT::ReplicationManager_var replication_manager_;
+ const char * rm_ior_;
+ int shutdown_;
+
+};
+
+TAO_FT_ReplicationManagerController::TAO_FT_ReplicationManagerController ()
+ : orb_ (CORBA::ORB::_nil())
+ , replication_manager_ (FT::ReplicationManager::_nil())
+ , rm_ior_ (0)
+ , shutdown_ (0)
+{
+}
+
+TAO_FT_ReplicationManagerController::~TAO_FT_ReplicationManagerController ()
+{
+}
+
+int TAO_FT_ReplicationManagerController::init (int & argc, char * argv[])
+{
+ int result = 0;
+
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize the ORB.
+ this->orb_ = CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Parse arguments.
+ result = this->parse_args (argc, argv);
+ if (result == 0)
+ {
+ CORBA::Object_var obj = CORBA::Object::_nil ();
+ if (this->rm_ior_ != 0)
+ {
+ obj = this->orb_->string_to_object (
+ this->rm_ior_ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ else
+ {
+ obj = this->orb_->resolve_initial_references (
+ "ReplicationManager" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ this->replication_manager_ = FT::ReplicationManager::_narrow (
+ obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (CORBA::is_nil (this->replication_manager_.in()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (
+ "TAO_FT_ReplicationManagerController::init: "
+ "Could not get Replication Manager's IOR.\n")
+ ));
+ result = -1;
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ ACE_TEXT (
+ "TAO_FT_ReplicationManagerController::init: \n")
+ );
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+
+
+int TAO_FT_ReplicationManagerController::parse_args (int & argc, char * argv[])
+{
+ int result = 0;
+
+ ACE_Get_Opt get_opts (argc, argv, "k:x");
+ int c;
+
+ while (result == 0 && (c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'k':
+ {
+ this->rm_ior_ = get_opts.opt_arg ();
+ break;
+ }
+
+ case 'x':
+ {
+ this->shutdown_ = 1;
+ break;
+ }
+
+ default:
+ std::cerr << argv[0] << ": Unknown argument -" << (char) c << std::endl;
+ this->usage(std::cerr);
+ result = -1;
+ break;
+
+ case '?':
+ this->usage(std::cerr);
+ result = -1;
+ }
+ }
+
+ return result;
+}
+
+void TAO_FT_ReplicationManagerController::usage (ostream & out) const
+{
+ out << "usage"
+ << " -k <replication manager ior file>"
+ << " -x (shutdown the Replication Manager)"
+ << std::endl;
+}
+
+int TAO_FT_ReplicationManagerController::run ()
+{
+ int result = 0;
+
+ ACE_TRY_NEW_ENV
+ {
+ if (this->shutdown_ == 1)
+ {
+ this->replication_manager_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_Time_Value tv (0, 500000);
+ ACE_OS::sleep (tv);
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ ACE_TEXT (
+ "TAO_FT_ReplicationManagerController::run: \n")
+ );
+ result = -1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
+
+int main (int argc, char * argv[])
+{
+ int result = 0;
+ TAO_FT_ReplicationManagerController rmctrl;
+ result = rmctrl.init (argc, argv);
+ if (result == 0)
+ {
+ result = rmctrl.run ();
+ }
+ return result;
+}
+
diff --git a/TAO/orbsvcs/tests/FT_App/FT_TestReplica.idl b/TAO/orbsvcs/tests/FT_App/FT_TestReplica.idl
new file mode 100644
index 00000000000..b9d41ed7429
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_TestReplica.idl
@@ -0,0 +1,117 @@
+/* -*- IDL -*- */
+//=============================================================================
+/**
+ * @file FT_TestReplica.idl
+ *
+ * $Id$
+ *
+ * This file defines an interface used to test Fault Tolerant CORBA.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+//
+#ifndef FT_TESTREPLICA_IDL
+#define FT_TESTREPLICA_IDL
+
+#include "orbsvcs/FT_Replica.idl"
+
+module FT_TEST
+{
+ /**
+ * A FT_TEST::Replica provides a test target for a FT::FaultDetector
+ * It is Updateable (and therefore Checkpointable)
+ * and PullMonitorable
+ * It declares a simple counter that can be set, incremented, and read
+ * via method calls. The counter is also exposed as a property.
+ */
+ interface TestReplica : ::FT::Updateable, ::FT::PullMonitorable, ::PortableGroup::TAO_UpdateObjectGroup
+ {
+ /**
+ * set the counter to an specific value.
+ * @param value is the number to be set.
+ */
+ void set(in long value);
+
+ /**
+ * add delta to the counter.
+ * @param delta is the number to be added: (delta may be positive, negative or zero).
+ * @returns the new value of the counter.
+ */
+ long increment(in long delta);
+
+ /**
+ * retrieve the current counter.
+ * @returns the value of the counter.
+ */
+ long get();
+
+
+ /**
+ * enumerate the points at which
+ * the test replica might be convinced to die.
+ */
+ enum Bane
+ {
+ NOT_YET, // normal state, also used to revoke a previous request
+ RIGHT_NOW, // fault immediately during the die() call
+ WHILE_IDLE, // fault while not processing a request
+ // FT_TestReplica interface:
+ BEFORE_STATE_CHANGE, // after receiving request
+ BEFORE_REPLICATION, // after state change
+ BEFORE_REPLY, // after state replication
+ // FT::PullMonitorable interface:
+ DURING_IS_ALIVE,
+ DENY_IS_ALIVE,
+ // FT::Updatable interface:
+ DURING_GET_UPDATE,
+ BEFORE_SET_UPDATE,
+ AFTER_SET_UPDATE,
+ // FT::Checkpointable interface:
+ DURING_GET_STATE,
+ BEFORE_SET_STATE,
+ AFTER_SET_STATE,
+ // Reserved
+ CLEAN_EXIT // reserved for use by shutdown
+ };
+
+
+ /**
+ * die a horrid death.
+ * @param when is an arbitrary code to indicate how and when to die.
+ */
+ void die(in Bane when);
+
+
+ /**
+ * die a clean death.
+ */
+ oneway void shutdown();
+
+ /**
+ * provide direct access to the counter.
+ * Suports the same functionality as set and get.
+ * Can you say "Encapsulization???" this is a test, remember.
+ */
+ attribute long counter;
+ };
+
+ interface ReplicaFactory : ::PortableGroup::GenericFactory, ::FT::PullMonitorable
+ {
+ /**
+ * die a clean death.
+ */
+ oneway void shutdown();
+ };
+
+ ///////////////////////
+ // roles for unit tests
+ // A TestReplica can act as a...
+
+// typedef TestReplica Hobbit;
+// typedef TestReplica Elf;
+// typedef TestReplica Human;
+
+};
+
+#endif // for #ifndef FT_TESTREPLICA_IDL
diff --git a/TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.cpp b/TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.cpp
new file mode 100644
index 00000000000..806b065e274
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.cpp
@@ -0,0 +1,496 @@
+// $Id$
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_TestReplica_i.cpp
+ *
+ * $Id$
+ *
+ * Implements CORBA interface TestReplica.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+//
+
+#include "FT_TestReplica_i.h"
+#include "FT_ReplicaFactory_i.h"
+#include <tao/PortableServer/ORB_Manager.h>
+#include <tao/ORB_Constants.h>
+#include <iostream>
+#include "FT_TestReplicaC.h"
+
+//////////////////
+// TestReplica_i
+
+namespace
+{
+ /**
+ * Endian neutral store of long into indexable object.
+ * BUFFER can be sequence of Octet, unsigned char[], etc.
+ *
+ * TODO: Find this a good home.
+ *
+ * @param state an object that supports char & operator[] (size_t index);
+ * @param offset is the position within state where the first character should be stored.
+ * @param value is the data to be inserted into state.
+ */
+ template<typename BUFFER>
+ void storeLong(BUFFER & state, size_t offset, long value)
+ {
+ state[offset ] = ACE_static_cast (unsigned char, value >> 24);
+ state[offset + 1] = ACE_static_cast (unsigned char, value >> 16);
+ state[offset + 2] = ACE_static_cast (unsigned char, value >> 8);
+ state[offset + 3] = ACE_static_cast (unsigned char, value );
+ }
+
+ /**
+ * Endian neutral load of long from indexable object.
+ * BUFFER can be sequence of Octet, unsigned char[], etc.
+ *
+ * TODO: Find this a good home.
+ *
+ * @param state an object that supports const char & operator[] (size_t index) const;
+ * @param offset is the position within state where the first character can be found
+ * @returns value is the data loaded from state.
+ */
+ template<typename BUFFER>
+ long loadLong(const BUFFER & state, size_t offset)
+ {
+ long result
+ = ((state[offset ] & 0xFF) << 24)
+ | ((state[offset + 1] & 0xFF) << 16)
+ | ((state[offset + 2] & 0xFF) << 8)
+ | ((state[offset + 3] & 0xFF) );
+ return result;
+ }
+}
+
+// NO_RESPONSE ->no reinvocation
+
+#define FAULT_CODE CORBA::TRANSIENT
+
+// Macros to simplify suicide.
+#define KEVORKIAN(value, method) \
+ if (this->death_pending_ == (FT_TEST::TestReplica::value)){ \
+ suicide (#value " in method " #method); \
+ ACE_THROW (FAULT_CODE ( \
+ CORBA::SystemException::_tao_minor_code ( \
+ TAO_DEFAULT_MINOR_CODE, \
+ EFAULT), \
+ CORBA::COMPLETED_NO)); \
+ } else ;
+
+#define KEVORKIAN_DURING(method) \
+ if (this->death_pending_ == FT_TEST::TestReplica::BEFORE_REPLY ){\
+ suicide ("read-only method " #method); \
+ ACE_THROW (FAULT_CODE ( \
+ CORBA::SystemException::_tao_minor_code ( \
+ TAO_DEFAULT_MINOR_CODE, \
+ EFAULT), \
+ CORBA::COMPLETED_NO)); \
+ } else ;
+
+#define KEVORKIAN_RETURN(value, method, result) \
+ if (this->death_pending_ == (FT_TEST::TestReplica::value)){ \
+ suicide (#value " in method " #method); \
+ ACE_THROW_RETURN (FAULT_CODE ( \
+ CORBA::SystemException::_tao_minor_code ( \
+ TAO_DEFAULT_MINOR_CODE, \
+ EFAULT), \
+ CORBA::COMPLETED_NO), \
+ result); \
+ } else ;
+
+#define KEVORKIAN_DURING_RETURN(method, result) \
+ if (this->death_pending_ == FT_TEST::TestReplica::BEFORE_REPLY ){\
+ suicide ("read-only method " #method); \
+ ACE_THROW_RETURN (FAULT_CODE ( \
+ CORBA::SystemException::_tao_minor_code ( \
+ TAO_DEFAULT_MINOR_CODE, \
+ EFAULT), \
+ CORBA::COMPLETED_NO), \
+ result); \
+ } else ;
+
+
+//////////////////////////////////////////////////
+// class FT_TestReplica_i construction/destruction
+
+FT_TestReplica_i::FT_TestReplica_i (FT_ReplicaFactory_i * factory, const char * name, unsigned long factory_id)
+ : death_pending_ (FT_TEST::TestReplica::NOT_YET)
+ , verbose_ (1)
+ , name_ (name)
+ , factory_id_ (factory_id)
+ , factory_ (factory)
+ , orb_ (0)
+ , poa_ (0)
+ , object_id_ (0)
+{
+// std::cout << name_.c_str() << '@' << this->factory_->location() << '#' << this->factory_id_ << " Construct" << std::endl;
+}
+
+FT_TestReplica_i::~FT_TestReplica_i ()
+{
+// std::cout << name_.c_str() << '@' << this->factory_->location() << '#' << this->factory_id_ << " Destruct" << std::endl;
+}
+
+
+void FT_TestReplica_i::suicide(const char * note)
+{
+ std::cout << name_.c_str() << '@' << this->factory_->location() << '#' << this->factory_id_ << " Simulate FAULT_CODE fault: " << note << std::endl;
+
+ // Tell the poa we aren't accepting future calls
+ this->poa_->deactivate_object (this->object_id_.in ());
+}
+
+/////////////////////////////////////////////////////
+// class FT_TestReplica_i public, non-CORBA interface
+
+
+
+//static
+const char * FT_TestReplica_i::repository_id()
+{
+ return FT_TEST::_tc_TestReplica->id();
+}
+
+int
+FT_TestReplica_i::parse_args (int argc, char *argv[])
+{
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+ return 0;
+}
+
+//static
+const char *
+FT_TestReplica_i::usage_options()
+{
+ return "";
+}
+
+unsigned long FT_TestReplica_i::factory_id()const
+{
+ return this->factory_id_;
+}
+
+::PortableServer::POA_ptr FT_TestReplica_i::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return ::PortableServer::POA::_duplicate(this->poa_.in ());
+}
+
+PortableServer::ObjectId FT_TestReplica_i::object_id()const
+{
+ return this->object_id_.in();
+}
+
+
+/**
+ * Initialize this object.
+ * @param orbManager our ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+int FT_TestReplica_i::init (CORBA::ORB_var & orb ACE_ENV_ARG_DECL)
+{
+ this->orb_ = orb;
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+
+ // Register with the POA.
+
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+void FT_TestReplica_i::_remove_ref (ACE_ENV_SINGLE_ARG_DECL)
+{
+ //////////////////////////////////////////////////
+ // WARNING: The following call invokes fini then deletes this object
+ this->factory_->remove_replica(this->factory_id_, this ACE_ENV_ARG_PARAMETER);
+}
+
+int FT_TestReplica_i::fini (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return 0;
+}
+
+
+
+/////////////////////////////////////////////////////
+// class FT_TestReplica_i: PullMonitorable interface
+CORBA::Boolean FT_TestReplica_i::is_alive (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ KEVORKIAN_RETURN(DURING_IS_ALIVE, is_alive, 0)
+ ACE_ERROR ((LM_ERROR,
+ "%s@%s#%d: is_alive: %d\n",
+ this->name_.c_str(),
+ this->factory_->location(),
+ this->factory_id_,
+ (this->death_pending_ != FT_TEST::TestReplica::DENY_IS_ALIVE)
+ ));
+
+ return this->death_pending_ != FT_TEST::TestReplica::DENY_IS_ALIVE;
+}
+
+/////////////////////////////////////////////////////
+// class FT_TestReplica_i: Updateable interface
+FT::State * FT_TestReplica_i::get_update (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::NoUpdateAvailable))
+{
+ KEVORKIAN_RETURN(DURING_GET_UPDATE, get_update, 0)
+ long counter = load();
+ ::FT::State_var vState = new ::FT::State;
+ vState->length(sizeof(counter));
+ storeLong(vState, 0, counter);
+ return vState._retn();
+}
+
+void FT_TestReplica_i::set_update (const FT::State & s ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::InvalidUpdate))
+{
+#if defined(FT_TEST_LACKS_UPDATE)
+ ACE_THROW ( FT::InvalidUpdate () );
+#else // FT_TEST_LACKS_UPDATE
+ KEVORKIAN(BEFORE_SET_UPDATE, set_update)
+ long counter = loadLong<FT::State>(s, 0);
+ store(counter);
+ KEVORKIAN(AFTER_SET_UPDATE, set_update)
+#endif // FT_TEST_LACKS_UPDATE
+}
+
+/////////////////////////////////////////////////////
+// class FT_TestReplica_i: Checkpointable interface
+::FT::State * FT_TestReplica_i::get_state (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::NoStateAvailable))
+{
+#if defined(FT_TEST_LACKS_STATE)
+ ACE_THROW( FT::NoStateAvailable () );
+#else // FT_TEST_LACKS_STATE
+ KEVORKIAN_RETURN(DURING_GET_STATE, get_state, 0)
+ long counter = load();
+ ::FT::State_var vState = new ::FT::State;
+ vState->length(sizeof(counter));
+ storeLong(vState, 0, counter);
+ return vState._retn();
+#endif // FT_TEST_LACKS_STATE
+}
+
+void FT_TestReplica_i::set_state (const FT::State & s ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::InvalidState))
+{
+#if defined(FT_TEST_LACKS_STATE)
+ ACE_THROW ( FT::InvalidState () );
+#else // FT_TEST_LACKS_STATE
+ KEVORKIAN(BEFORE_SET_STATE, set_state)
+ long counter = loadLong<FT::State>(s, 0);
+ store(counter);
+ KEVORKIAN(AFTER_SET_STATE, set_state)
+#endif // FT_TEST_LACKS_STATE
+}
+
+void FT_TestReplica_i::tao_update_object_group (
+ const char * iogr,
+ PortableGroup::ObjectGroupRefVersion version,
+ CORBA::Boolean is_primary
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_UNUSED_ARG (iogr);
+ ACE_UNUSED_ARG (version);
+ ACE_UNUSED_ARG (is_primary);
+
+ ACE_THROW (CORBA::NO_IMPLEMENT());
+}
+
+//////////////////////////////
+// implement FT_TEST::Replica
+
+void FT_TestReplica_i::set (CORBA::Long value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ KEVORKIAN(BEFORE_STATE_CHANGE, set)
+ long counter = value;
+ store(counter);
+ KEVORKIAN(BEFORE_REPLY, set)
+}
+
+CORBA::Long FT_TestReplica_i::increment (CORBA::Long delta
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ KEVORKIAN_RETURN(BEFORE_STATE_CHANGE, increment, 0)
+ long counter = load ();
+ counter += delta;
+ store (counter);
+ KEVORKIAN_RETURN(BEFORE_REPLY, increment, 0)
+ return counter;
+}
+
+CORBA::Long FT_TestReplica_i::get (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ KEVORKIAN_DURING_RETURN(get, 0)
+ long counter = load ();
+ return counter;
+}
+
+CORBA::Long FT_TestReplica_i::counter (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ KEVORKIAN_DURING_RETURN([get]counter, 0)
+ long counter = load ();
+ return counter;
+}
+
+void FT_TestReplica_i::counter (CORBA::Long counter
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ KEVORKIAN(BEFORE_STATE_CHANGE, [set]counter)
+ store (counter);
+ KEVORKIAN(BEFORE_REPLY, [set]counter)
+}
+
+void FT_TestReplica_i::die (FT_TEST::TestReplica::Bane when
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ std::cout << name_.c_str() << '@' << this->factory_->location()
+ << '#' << this->factory_id_ << " Received death threat: " << when << std::endl;
+
+ this->death_pending_ = when;
+ KEVORKIAN(RIGHT_NOW, die)
+}
+
+void FT_TestReplica_i::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ std::cout << name_.c_str() << '@' << this->factory_->location()
+ << '#' << this->factory_id_ << " Shut down requested" << std::endl;
+ this->death_pending_ = FT_TEST::TestReplica::CLEAN_EXIT;
+}
+
+//////////////////////////////////////////////
+// FT_TestReplica_i public non-CORBA interface
+int FT_TestReplica_i::idle (int & result ACE_ENV_ARG_DECL)
+{
+ int quit = 0;
+ if (this->death_pending_ == FT_TEST::TestReplica::WHILE_IDLE)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%s@%s#%d: Simulated fault WHILE_IDLE",
+ this->name_.c_str(),
+ this->factory_->location(),
+ ACE_static_cast(int, this->factory_id_ )
+ ));
+ this->poa_->deactivate_object (this->object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ result = 0;
+ quit = 1;
+ }
+ else if (this->death_pending_ == FT_TEST::TestReplica::CLEAN_EXIT)
+ {
+ this->poa_->deactivate_object (this->object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ result = 0;
+ quit = 1;
+ }
+ return quit;
+}
+
+void FT_TestReplica_i::request_quit()
+{
+ this->death_pending_ = FT_TEST::TestReplica::WHILE_IDLE;
+}
+
+
+void FT_TestReplica_i::store(long counter)
+{
+ FILE * f = ACE_OS::fopen("Persistent.dat", "w");
+ if(f != 0)
+ {
+ unsigned char* buffer = 0;
+ ACE_NEW (buffer, unsigned char [sizeof(long)]);
+ storeLong(buffer, 0, counter);
+ ACE_OS::fwrite(buffer, 1, sizeof(long), f);
+ ACE_OS::fclose(f);
+ if (this->verbose_)
+ {
+ std::cout << name_.c_str() << '@' << this->factory_->location()
+ << '#' << this->factory_id_ << ": " << counter << std::endl;
+ }
+ delete[] buffer;
+ buffer = 0;
+ }
+}
+
+long FT_TestReplica_i::load ()
+{
+ long counter = 0;
+ FILE * f = ACE_OS::fopen("Persistent.dat","r");
+ if(f != 0)
+ {
+ unsigned char buffer[sizeof(long)];
+ ACE_OS::fread(buffer, 1, sizeof(long), f);
+ ACE_OS::fclose(f);
+ counter = loadLong<unsigned char *>(buffer, 0);
+ }
+ return counter;
+}
+
+///////////////////////////////////
+// Template instantiation for
+// competence-challenged compilers.
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template void storeLong <> (::FT::State_var & state, size_t offset, long value);
+ template long loadLong <> (const ::FT::State_var & state, size_t offset);
+
+ template void storeLong <> (unsigned char * & state, size_t offset, long value);
+ template long loadLong <> (const unsigned char * & state, size_t offset);
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate void storeLong(::FT::State_var & state, size_t offset, long value)
+# pragma long loadLong(const ::FT::State_var & state, size_t offset)
+
+# pragma instantiate void storeLong(unsigned char * & state, size_t offset, long value)
+# pragma long loadLong(const unsigned char * & state, size_t offset)
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.h b/TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.h
new file mode 100644
index 00000000000..052b676c81f
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/FT_TestReplica_i.h
@@ -0,0 +1,217 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file FT_TestReplica_i.h
+ *
+ * $Id$
+ *
+ * This file declares an implementation of CORBA interface TestReplica.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+//
+#ifndef FT_TESTREPLICA_I_H_
+#define FT_TESTREPLICA_I_H_
+#include /**/ <ace/pre.h>
+
+#include <ace/ACE.h>
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "FT_TestReplicaS.h"
+
+////////////////////
+// Forward Reference
+class FT_ReplicaFactory_i;
+
+/**
+ * Implement the TestReplica IDL interface.
+ *
+ * Persistent storage simulated by storing the counter
+ * in Persistent.dat.
+ */
+class FT_TestReplica_i : public virtual POA_FT_TEST::TestReplica
+{
+public:
+ FT_TestReplica_i (FT_ReplicaFactory_i * factory, const char * name, unsigned long factory_id);
+ virtual ~FT_TestReplica_i ();
+
+ /**
+ * parse command line arguments.
+ * remove any that are recognized, adjusting argc accordingly.
+ * @param argc classic C argc
+ * @param argv classic C argv
+ * @return 0 if ok, otherwise process exit code.
+ */
+ int parse_args (int argc, char *argv[]);
+
+ /**
+ * provide information to appear in a "usage" display.
+ * caller will display:
+ * usage: [program] &lt;usageMessage()&gt; [other usage]
+ * @returns c-style string containing "bare" usage options.
+ */
+ const char * usage_options();
+
+ /**
+ * Initialize this object.
+ * @param orbManager our ORB -- we keep var to it.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int init (CORBA::ORB_var & orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result ACE_ENV_ARG_DECL);
+
+ void request_quit();
+
+ unsigned long factory_id()const;
+
+ static const char * repository_id();
+
+ ::FT_TEST::TestReplica_ptr object_reference();
+
+ PortableServer::ObjectId object_id()const;
+
+ //////////////////////////////////////////
+ // Override CORBA servant virtual methods
+ virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL);
+
+ virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
+
+private:
+ ///////////////////////////
+ // override Replica methods
+ virtual void set (CORBA::Long value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC (( CORBA::SystemException));
+
+ virtual CORBA::Long increment (CORBA::Long delta
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Long get (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Long counter (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void counter (CORBA::Long counter
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void die (FT_TEST::TestReplica::Bane when
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ ///////////////////////////
+ // override PullMonitorable
+
+ virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ ///////////////////////////
+ // override Updatable
+
+ virtual ::FT::State * get_update (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::NoUpdateAvailable));
+
+ virtual void set_update (const FT::State & s ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::InvalidUpdate));
+
+ virtual ::FT::State * get_state (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::NoStateAvailable));
+
+ virtual void set_state (const FT::State & s ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, FT::InvalidState));
+
+ ////////////////
+ // Implement TAO_UpdateObjectGroup
+
+ virtual void tao_update_object_group (
+ const char * iogr,
+ PortableGroup::ObjectGroupRefVersion version,
+ CORBA::Boolean is_primary
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /////////////////
+ // implementation
+private:
+ /**
+ * Load the persistent data.
+ * returns the data loaded.
+ */
+ long load();
+ /**
+ * Store the persistent data.
+ * @param the data to be stored.
+ */
+ void store(long value);
+
+ void suicide(const char *);
+
+ ///////////////
+ // data members
+private:
+ /**
+ * a bane code for when we should die.
+ */
+ FT_TEST::TestReplica::Bane death_pending_;
+
+ /**
+ * verbosity level, settable by client.
+ */
+ int verbose_;
+
+ /**
+ * who am I?
+ */
+ ACE_CString name_;
+
+ /**
+ * The ID number assigned by the factory
+ */
+ unsigned long factory_id_;
+
+ /**
+ * the factory that created thsi replica
+ */
+ FT_ReplicaFactory_i * factory_;
+
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+};
+
+#include /**/ "ace/post.h"
+
+#endif /* FT_TESTREPLICA_I_H_ */
diff --git a/TAO/orbsvcs/tests/FT_App/README b/TAO/orbsvcs/tests/FT_App/README
new file mode 100644
index 00000000000..33b790044b6
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/README
@@ -0,0 +1,88 @@
+$Id$
+
+This is a simple application intended to test Fault Tolerant Corba.
+
+The server implements GenericFactory as a factory that creates TestReplicas.
+TestReplicas are defined in the IDL in FT_TestReplica.idl.
+
+FT_TEST::TestReplica inherits from PullMonitorable and Checkpointable
+to provide access needed by FT Corba's FaultDetector and Orb.
+
+An FT_TEST::TestReplica contains a long counter. Methods are defined
+to set, increment, and get the value of the counter. The counter
+is also exposed as an attribute named counter. (i.e. set(x) is
+exactly equivalent to counter(x), and get() is exactly equivalent
+to counter())
+
+In addition there is a method named die that lets the client request
+a server "failure" at a variety of interesting times. See the "die"
+command to find out when death can be scheduled.
+
+The client provides a command interface to operate on the server.
+Tests may be run manually by typing commands, or may be automated by
+reading the commands from a file.
+
+Commands consist of a single character followed by an optional number
+(with no space between). For example: =10 sets the value of the counter
+to 10. +5 increments the counter by 5 (thereby setting the value to 15).
+
+The '?' commmand lists the possible commands and their options.
+
+Additional programs:
+ ft_notifier is a stub implementation of a fault notifier for testing fault detectors.
+ ft_analyzer is a stub implementation of a fault analyzer for testing the fault notifier
+ ft_registry is an implementation of FactoryRegistry for testing GenericFactories.
+
+To run:
+Start one or more FT_Replicas. Use a -o <filename> to tell the replica
+where to write its ior..
+
+Start the FT_Client with -f file1<,filen>... (i.e. a comma separated list
+of replica IOR files. To read commands from a file, use -c <command file>
+
+The counter is persistent and will survive server failures. It's
+stored in a file named persistent.dat.
+
+Replicas of the server may be run in separate directories to simulate
+replicated stateful objects (each replica has its own distinct state), or
+multiple replicas can be run in the same directory to simulate a server
+with a shared state or one that executes real-world unsafe-to-repeat
+action (i.e. "fire the retro rockets" or "expose the patient to
+theraputic radiation.")
+
+Unit Tests based on this application:
+
+ run_test_basic.pl
+ tests ft_client and ft_replica, thereby answering the question,
+ "who will test the tester?".
+
+ run_test_detector.pl
+ uses ft_client, ft_replica, and ft_notifier (a "stub" fault notifier)
+ to test the Fault_Detector (from orbsvcs)
+
+ run_test_notifier.pl
+ uses ft_client, ft_replica, Fault_Detector and ft_analyzer (a "stub" fault analyzer)
+ to test the Fault_Notifier (from orbsvcs)
+
+ run_test_fault_consumer.pl
+ uses ft_client, ft_replica, Fault_Detector, Fault_Notifier to test
+ ft_fault_consumer (the implementation of a fault consumer)
+
+ run_test_registry.pl
+ uses ft_client, ft_replica, and ft_creator to test ft_registry
+ (i.e. to test the implementation of PortableServer::FactoryRegistry)
+
+ run_test_rmregistry.pl
+ uses ft_client, ft_replica, and ft_creator to test the FactoryRegistery
+ implementation in the ReplicationManager.
+
+
+ run_test_rmnotifier.pl
+ uses ft_client, ft_replica, Fault_Detector to test the connection between
+ the Fault_Notifier and the ReplicationManager
+
+ demo.pl
+ tests the entire FT system.
+
+
+See the internal documentation of the .pl files for more details.
diff --git a/TAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp b/TAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp
new file mode 100755
index 00000000000..dc0128cc1ec
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp
@@ -0,0 +1,384 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "ReplicationManagerFaultConsumerAdapter.h"
+#include "ace/Get_Opt.h"
+#include "orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h"
+#include "orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h"
+#include <iostream>
+#include <fstream>
+
+ReplicationManagerFaultConsumerAdapter::ReplicationManagerFaultConsumerAdapter()
+ : orb_(CORBA::ORB::_nil())
+ , quit_(0)
+ , readyFile_(0)
+ , detector_ior_(0)
+ , factory_(FT::FaultDetectorFactory::_nil())
+ , notifier_ior_(0)
+ , notifier_(FT::FaultNotifier::_nil())
+ , p_fault_consumer_(0)
+ , consumer_servant_(0)
+{
+}
+
+
+ReplicationManagerFaultConsumerAdapter::~ReplicationManagerFaultConsumerAdapter()
+{
+}
+
+size_t ReplicationManagerFaultConsumerAdapter::notifications () const
+{
+ // Delegate to the FT_FaultConsumer.
+ return this->p_fault_consumer_->notifications ();
+}
+
+
+int ReplicationManagerFaultConsumerAdapter::parse_args (int argc, char * argv[])
+{
+ int optionError = 0;
+ ACE_Get_Opt get_opts (argc, argv, "o:r:d:n:");
+ int c;
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'r':
+ {
+ this->replica_iors_.push_back (get_opts.opt_arg ());
+ break;
+ }
+ case 'd':
+ {
+ this->detector_ior_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'n':
+ {
+ this->notifier_ior_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'o':
+ {
+ this->readyFile_ = get_opts.opt_arg ();
+ break;
+ }
+
+ default:
+ // fall thru
+ case '?':
+ {
+ break;
+ }
+ }
+ }
+
+ if(! optionError)
+ {
+ if (0 == this->replica_iors_.size())
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-r option is required.\n"
+ ));
+ optionError = -1;
+ }
+ if (0 == this->detector_ior_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-d option is required.\n"
+ ));
+ optionError = -1;
+ }
+ }
+
+ if(optionError)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "usage: %s"
+ " -r <replica.ior[ -r replica.ior]>"
+ " -d <detector.ior>"
+ " -o <this.ior>"
+ " -n <nameService name>"
+ "\n",
+ argv [0]
+ ));
+ }
+ return optionError;
+}
+
+/**
+ * Register this object.
+ */
+int ReplicationManagerFaultConsumerAdapter::init (
+ CORBA::ORB_ptr orb
+ ACE_ENV_ARG_DECL)
+{
+ ACE_DEBUG ((
+ LM_DEBUG,
+ ACE_TEXT ("Entered ReplicationManagerFaultConsumerAdapter::init.\n")
+ ));
+
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ //////////////////////////////////////////
+ // resolve reference to detector factory
+ ACE_DEBUG ((
+ LM_DEBUG,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Getting ready to read iorDetectorFile.\n")
+ ));
+
+ CORBA::Object_var detector_obj = this->orb_->string_to_object (
+ this->detector_ior_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->factory_ = ::FT::FaultDetectorFactory::_narrow (
+ detector_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil (this->factory_.in()))
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("FaultDetectorFactory IOR is nil: %s\n"),
+ this->detector_ior_),
+ -1);
+ }
+
+ //////////////////////////////////////////
+ // resolve references to notifier
+ ACE_DEBUG ((
+ LM_DEBUG,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Getting ready to read Notifier IOR file.\n")
+ ));
+
+ CORBA::Object_var notifier_ior = this->orb_->string_to_object (
+ this->notifier_ior_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ this->notifier_ = ::FT::FaultNotifier::_narrow (
+ notifier_ior.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil (this->notifier_.in()))
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("FaultNotifier IOR is nil: %s\n"),
+ this->notifier_ior_),
+ -1);
+ }
+
+ // Create the real FaultConsumer.
+ //
+ // Note: We have to hang onto the servant class pointer so we can
+ // invoke member functions on it, but we also give ownership of it
+ // to a PortableServer::ServantBase_var.
+ ACE_DEBUG ((
+ LM_DEBUG,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Getting ready to create the real FaultConsumer.\n")
+ ));
+
+ ACE_NEW_RETURN (this->p_fault_consumer_, TAO::FT_FaultConsumer (), -1);
+ if (this->p_fault_consumer_ != 0)
+ {
+ this->consumer_servant_ = this->p_fault_consumer_;
+ }
+
+ //////////////////////////
+ // Get ready to initialize the consumer. We need to provide it
+ // with the following:
+ // - The POA in which it is to be activated.
+ // - FT::FaultNotifier IOR.
+ // - FT::ReplicationManager IOR (fake it for now).
+
+ // Get the RootPOA from the ORB.
+ CORBA::Object_var poa_obj = this->orb_->resolve_initial_references (
+ "RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ PortableServer::POA_var poa = PortableServer::POA::_narrow (
+ poa_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Create a fault analyzer.
+ TAO::FT_FaultAnalyzer * analyzer = 0;
+ ACE_NEW_RETURN (analyzer, TAO::FT_DefaultFaultAnalyzer (), -1);
+
+ // Initialize the FaultConsumer.
+ // It will activate itself in the POA we pass it and connect to the
+ // Fault Notifier we pass it.
+ ACE_DEBUG ((
+ LM_DEBUG,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Getting ready to initialize the real FaultConsumer.\n")
+ ));
+
+ result = this->p_fault_consumer_->init (
+ poa.in(),
+ this->notifier_.in(),
+ analyzer
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (result != 0)
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Unable to initialize the real FaultConsumer.\n")),
+ result);
+ }
+
+ this->identity_ = "ReplicationManagerFaultConsumerAdapter";
+
+ // Activate the RootPOA.
+ PortableServer::POAManager_var poa_manager =
+ poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ /////////////////////////
+ // Set up fault detectors
+ if (result == 0)
+ {
+ ////////////////////////////////////
+ // resolve references to replicas
+ // create a fault detector for each replica
+ size_t replicaCount = this->replica_iors_.size();
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Number of replicas being monitored: (%u)\n"),
+ ACE_static_cast (unsigned int, replicaCount)
+ ));
+ for (size_t nRep = 0; result == 0 && nRep < replicaCount; ++nRep)
+ {
+ const char * iorName = this->replica_iors_[nRep];
+ CORBA::Object_var replica_obj = this->orb_->string_to_object (
+ iorName ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ FT::PullMonitorable_var replica = FT::PullMonitorable::_narrow (
+ replica_obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil(replica.in()))
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Can't resolve Replica IOR: %s\n"),
+ iorName),
+ -1);
+ }
+ else
+ {
+ this->replicas_.push_back(replica);
+
+ CORBA::String_var type_id = CORBA::string_dup("FaultDetector");
+
+ TAO_PG::Properties_Encoder encoder;
+
+ PortableGroup::Value value;
+ value <<= notifier_.in ();
+ encoder.add(::FT::FT_NOTIFIER, value);
+
+ value <<= replica.in ();
+ encoder.add(::FT::FT_MONITORABLE, value);
+
+ FT::FTDomainId domain_id = 0;
+ value <<= domain_id;
+ encoder.add(::FT::FT_DOMAIN_ID, value);
+
+ PortableGroup::Location object_location;
+ object_location.length(2);
+ object_location[0].id = CORBA::string_dup("test");
+ object_location[1].id = CORBA::string_dup("Location_A");
+ value <<= object_location;
+ encoder.add(::FT::FT_LOCATION, value);
+
+ PortableGroup::TypeId_var object_type = CORBA::string_dup (
+ "IDL:org.omg/CosNaming/NamingContextExt:1.0");
+ value <<= object_type;
+ encoder.add(::FT::FT_TYPE_ID, value);
+
+ PortableGroup::ObjectGroupId group_id =
+ ACE_static_cast (PortableGroup::ObjectGroupId, 6191982);
+ value <<= group_id;
+ encoder.add(::FT::FT_GROUP_ID, value);
+
+ // allocate and populate the criteria
+ PortableGroup::Criteria_var criteria;
+ ACE_NEW_NORETURN (criteria,
+ PortableGroup::Criteria);
+ if (criteria.ptr() == 0)
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("ReplicationManagerFaultConsumerAdapter::init: ")
+ ACE_TEXT ("Error cannot allocate criteria.\n")),
+ -1);
+ }
+ else
+ {
+ encoder.encode(criteria);
+ PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id;
+
+ this->factory_->create_object (
+ type_id.in(),
+ criteria.in(),
+ factory_creation_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+ }
+
+ // Signal that we are ready to go.
+ if (result == 0 && this->readyFile_ != 0)
+ {
+ std::ofstream ready (this->readyFile_, ios::out);
+ ready << "ready" << std::endl;
+ ready.close();
+ }
+ }
+
+ return result;
+}
+
+/**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+const char * ReplicationManagerFaultConsumerAdapter::identity () const
+{
+ return this->identity_.c_str();
+}
+
+/**
+ * Clean house for process shut down.
+ */
+int ReplicationManagerFaultConsumerAdapter::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ // Delegate to the FT_FaultConsumer.
+ return this->p_fault_consumer_->fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+
+int ReplicationManagerFaultConsumerAdapter::idle(int & result
+ ACE_ENV_ARG_DECL_NOT_USED)
+{
+ ACE_UNUSED_ARG(result);
+ int quit = 0;
+
+ if (this->replicas_.size() == this->p_fault_consumer_->notifications())
+ {
+ quit = 1;
+ }
+ return quit;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector < const char * >;
+ template class ACE_Vector < FT::PullMonitorable_var > ;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Vector < const char * >
+# pragma instantiate ACE_Vector < FT::PullMonitorable_var >
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h b/TAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h
new file mode 100755
index 00000000000..0d0833f7755
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.h
@@ -0,0 +1,150 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef REPLICATION_MANAGER_FAULT_CONSUMER_ADAPTER_H
+#define REPLICATION_MANAGER_FAULT_CONSUMER_ADAPTER_H
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h>
+#include <orbsvcs/FT_NotifierC.h>
+#include <orbsvcs/FT_FaultDetectorFactoryC.h>
+#include <ace/Vector_T.h>
+
+/////////////////////
+// Class declarations
+
+/**
+ * An adapter to the Replication Manager's fault consumer
+ * for use in unit testing Fault Notifier and Fault Consumer.
+ */
+class ReplicationManagerFaultConsumerAdapter
+{
+public:
+ /**
+ * Default constructor.
+ */
+ ReplicationManagerFaultConsumerAdapter ();
+
+ /**
+ * virtual destructor.
+ */
+ virtual ~ReplicationManagerFaultConsumerAdapter ();
+
+ /**
+ * Parse command line arguments.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ /**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result ACE_ENV_ARG_DECL);
+
+ /**
+ * Clean house for process shut down.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+
+ size_t notifications() const;
+
+ /////////////////
+ // Implementation
+private:
+
+ ////////////////////
+ // Forbidden methods
+private:
+ ReplicationManagerFaultConsumerAdapter (
+ const ReplicationManagerFaultConsumerAdapter & rhs);
+ ReplicationManagerFaultConsumerAdapter & operator =
+ (const ReplicationManagerFaultConsumerAdapter & rhs);
+
+ /////////////////////////
+ // Implementation methods
+private:
+
+ ///////////////
+ // Data Members
+private:
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * A human-readable string to distinguish this from other FaultConsumers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * boolean: request quit
+ */
+ int quit_;
+
+ /**
+ * a file to write to to signal "ready"
+ */
+ const char * readyFile_;
+
+ /**
+ * Detecor's IOR
+ */
+ const char * detector_ior_;
+
+ /**
+ * The FaultDetectorFactory object reference.
+ */
+ ::FT::FaultDetectorFactory_var factory_;
+
+ /**
+ * A collection of replica IORs
+ */
+ ACE_Vector < const char * > replica_iors_;
+
+ /**
+ * A collection of replica references.
+ */
+ ACE_Vector < FT::PullMonitorable_var > replicas_;
+
+ /**
+ * A file from which the notifier's IOR should be read.
+ */
+ const char * notifier_ior_;
+
+ /**
+ * the fault notifier
+ */
+ ::FT::FaultNotifier_var notifier_;
+
+ /**
+ * consumer id assigned by the notifier
+ */
+ ::FT::FaultNotifier::ConsumerId consumerId_;
+
+ /**
+ * the real fault consumer
+ */
+ TAO::FT_FaultConsumer* p_fault_consumer_;
+ PortableServer::ServantBase_var consumer_servant_;
+
+};
+#include /**/ <ace/post.h>
+
+#endif /* REPLICATION_MANAGER_FAULT_CONSUMER_ADAPTER_H */
diff --git a/TAO/orbsvcs/tests/FT_App/StubBatchConsumer.cpp b/TAO/orbsvcs/tests/FT_App/StubBatchConsumer.cpp
new file mode 100644
index 00000000000..630c15e2456
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubBatchConsumer.cpp
@@ -0,0 +1,180 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "StubBatchConsumer.h"
+#include <ace/Get_Opt.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include <orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+
+StubBatchConsumer::StubBatchConsumer ()
+ : quit_(0)
+{
+}
+
+
+StubBatchConsumer::~StubBatchConsumer ()
+{
+}
+
+
+int StubBatchConsumer::parse_args (int argc, char * argv[])
+{
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+ int optionError = 0;
+ // No options for now
+ return optionError;
+}
+
+
+::PortableServer::POA_ptr StubBatchConsumer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return ::PortableServer::POA::_duplicate(this->poa_.in ());
+}
+
+PortableServer::ObjectId StubBatchConsumer::objectId()const
+{
+ return this->object_id_.in();
+}
+
+
+/**
+ * register this object
+ */
+int StubBatchConsumer::init (CORBA::ORB_ptr orb, ::FT::FaultNotifier_var & notifier ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+ this->notifier_ = notifier;
+ this->identity_ = "StubBatchConsumer";
+
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA .
+ this->poa_ = PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Register with the POA.
+
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // find my identity as an object
+
+ CORBA::Object_var this_obj =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ CosNotifyFilter::Filter_var filter = CosNotifyFilter::Filter::_nil();
+
+ this->consumer_id_ = notifier->connect_sequence_fault_consumer(
+ CosNotifyComm::SequencePushConsumer::_narrow(this_obj.in ()),
+ filter.in ());
+
+ return result;
+}
+
+/**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+const char * StubBatchConsumer::identity () const
+{
+ return this->identity_.c_str();
+}
+
+/**
+ * Clean house for process shut down.
+ */
+void StubBatchConsumer::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ this->notifier_->disconnect_consumer(this->consumer_id_ ACE_ENV_ARG_PARAMETER);
+}
+
+
+int StubBatchConsumer::idle(int & result)
+{
+ ACE_UNUSED_ARG(result);
+ return this->quit_;
+}
+
+////////////////
+// CORBA methods
+
+
+//virtual
+void StubBatchConsumer::push_structured_events (
+ const CosNotification::EventBatch & notifications
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosEventComm::Disconnected
+ ))
+{
+ ACE_UNUSED_ARG (notifications);
+ //@@ sequence of structured event handling not written yet
+}
+
+void StubBatchConsumer::offer_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyComm::InvalidEventType))
+{
+ ACE_UNUSED_ARG (added);
+ ACE_UNUSED_ARG (removed);
+ ACE_ERROR ((LM_ERROR,
+ "StubBatchConsumer: offer_change call ignored.\n"
+ ));
+ // @@ not implemented (not likely to be needed)
+}
+
+//virtual
+void StubBatchConsumer::disconnect_sequence_push_consumer (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ ACE_ERROR ((LM_ERROR,
+ "StubBatchConsumer:disconnect_sequence_push_consumer interpreted as quit request.\n"
+ ));
+ this->quit_ = 1;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+// template instantiate ACE_Vector < const char * >;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+//# pragma instantiate ACE_Vector < const char * >
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/tests/FT_App/StubBatchConsumer.h b/TAO/orbsvcs/tests/FT_App/StubBatchConsumer.h
new file mode 100644
index 00000000000..d81d9fa061c
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubBatchConsumer.h
@@ -0,0 +1,149 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef STUBBATCHCONSUMER_H
+#define STUBBATCHCONSUMER_H
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <orbsvcs/CosNotifyChannelAdminS.h>
+#include <orbsvcs/FT_NotifierC.h>
+
+//////////////////////
+// Forward references
+
+/////////////////////
+// Class declarations
+
+/**
+ * A stub fault consumer for use in unit testing Fault Notifier.
+ */
+class StubBatchConsumer
+ : public virtual POA_CosNotifyComm::SequencePushConsumer
+{
+public:
+ /**
+ * Default constructor.
+ */
+ StubBatchConsumer ();
+
+ /**
+ * virtual destructor.
+ */
+ virtual ~StubBatchConsumer ();
+
+ ::PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL);
+ ::PortableServer::ObjectId objectId()const;
+
+ /**
+ * Parse command line arguments.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Publish this objects IOR.
+ */
+ int init (CORBA::ORB_ptr orbManager, ::FT::FaultNotifier_var & notifier ACE_ENV_ARG_DECL);
+
+ /**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result);
+
+ /**
+ * Clean house for process shut down.
+ */
+ void fini (ACE_ENV_SINGLE_ARG_DECL);
+
+
+public:
+
+ ////////////////
+ // CORBA methods
+
+ virtual void push_structured_events (
+ const CosNotification::EventBatch & notifications
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosEventComm::Disconnected
+ ));
+
+ virtual void disconnect_sequence_push_consumer (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void offer_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ throw (CORBA::SystemException, CosNotifyComm::InvalidEventType);
+
+ ////////////////////
+ // Forbidden methods
+private:
+ StubBatchConsumer (const StubBatchConsumer & rhs);
+ StubBatchConsumer & operator = (const StubBatchConsumer & rhs);
+
+ /////////////////////////
+ // Implementation methods
+private:
+
+ ///////////////
+ // Data Members
+private:
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+ /**
+ * A human-readable string to distinguish this from other FaultConsumers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * boolean: request quit
+ */
+ int quit_;
+
+ /**
+ * the notifier
+ */
+ ::FT::FaultNotifier_var notifier_;
+
+ /**
+ * consumer id assigned by the notifier
+ */
+ ::FT::FaultNotifier::ConsumerId consumer_id_;
+};
+
+#include /**/ <ace/post.h>
+
+#endif /* STUBBATCHCONSUMER_H */
diff --git a/TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp b/TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp
new file mode 100644
index 00000000000..e4590091e56
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp
@@ -0,0 +1,279 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "StubFaultAnalyzer.h"
+#include <ace/Get_Opt.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include <orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+#include <iostream>
+#include <fstream>
+
+StubFaultAnalyzer::StubFaultAnalyzer ()
+ : readyFile_(0)
+ , detector_ior_(0)
+ , notifier_ior_(0)
+{
+}
+
+
+StubFaultAnalyzer::~StubFaultAnalyzer ()
+{
+}
+
+
+int StubFaultAnalyzer::parse_args (int argc, char * argv[])
+{
+ int optionError = 0;
+ ACE_Get_Opt get_opts (argc, argv, "o:r:d:n:");
+ int c;
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'r':
+ {
+ this->replicaIORs.push_back (get_opts.opt_arg ());
+ break;
+ }
+ case 'd':
+ {
+ this->detector_ior_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'n':
+ {
+ this->notifier_ior_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'o':
+ {
+ this->readyFile_ = get_opts.opt_arg ();
+ break;
+ }
+
+ default:
+ // fall thru
+ case '?':
+ {
+ break;
+ }
+ }
+ }
+
+ if(! optionError)
+ {
+ if (0 == replicaIORs.size())
+ {
+ ACE_ERROR ((LM_ERROR,
+ "at least one -r option is required.\n"
+ ));
+ optionError = -1;
+ }
+
+ if (0 == this->detector_ior_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-d option is required.\n"
+ ));
+ optionError = -1;
+ }
+ if (0 == this->notifier_ior_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-n option is required.\n"
+ ));
+ optionError = -1;
+ }
+ }
+
+ if(optionError)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "usage: %s"
+ " -r <replica.ior[,replica.ior]>"
+ " -d <detector.ior>"
+ " -o <ready.file>" // note: not an IOR file. just an "I'm alive" indicator."
+ " -n <notifier.ior>"
+ "\n",
+ argv [0]
+ ));
+ }
+ return optionError;
+}
+
+/**
+ * Register this object as necessary
+ */
+int StubFaultAnalyzer::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+ //////////////////////////////////////////
+ // resolve reference to detector factory
+ CORBA::Object_var detector_obj = this->orb_->string_to_object(this->detector_ior_);
+ this->factory_ = ::FT::FaultDetectorFactory::_narrow(detector_obj.in ());
+ if (CORBA::is_nil(this->factory_.in ()))
+ {
+ std::cerr << "Can't resolve Detector Factory IOR " << this->detector_ior_ << std::endl;
+ result = -1;
+ }
+
+ //////////////////////////////////////////
+ // resolve references to notifier
+ CORBA::Object_var not_obj = this->orb_->string_to_object(this->notifier_ior_);
+ this->notifier_ = ::FT::FaultNotifier::_narrow(not_obj.in ());
+ if (CORBA::is_nil(this->notifier_.in ()))
+ {
+ std::cerr << "Can't resolve Notifier IOR " << this->notifier_ior_ << std::endl;
+ result = -1;
+ }
+
+
+ //////////////////////////////////
+ // register fault consumers
+ if (result == 0)
+ {
+ result = this->faultConsumer_.init (orb, this->notifier_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ if (result == 0)
+ {
+ result = this->batchConsumer_.init (orb, this->notifier_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ /////////////////////////
+ // Set up fault detectors
+ if (result == 0)
+ {
+ ////////////////////////////////////
+ // resolve references to replicas
+ // create a fault detector for each replica
+ size_t replicaCount = this->replicaIORs.size();
+ for(size_t nRep = 0; result == 0 && nRep < replicaCount; ++nRep)
+ {
+ const char * iorName = this->replicaIORs[nRep];
+ CORBA::Object_var rep_obj = this->orb_->string_to_object(iorName);
+ FT::PullMonitorable_var replica = FT::PullMonitorable::_narrow(rep_obj.in ());
+ if (CORBA::is_nil(replica.in ()))
+ {
+ std::cerr << "Can't resolve Replica IOR " << iorName << std::endl;
+ result = -1;
+ }
+ else
+ {
+ this->replicas_.push_back(replica);
+
+ CORBA::String_var type_id = CORBA::string_dup("FaultDetector");
+
+ TAO_PG::Properties_Encoder encoder;
+
+ PortableGroup::Value value;
+ value <<= this->notifier_.in ();
+ encoder.add(::FT::FT_NOTIFIER, value);
+
+ value <<= replica.in ();
+ encoder.add(::FT::FT_MONITORABLE, value);
+
+ FT::FTDomainId domain_id = 0;
+ value <<= domain_id;
+ encoder.add(::FT::FT_DOMAIN_ID, value);
+
+ PortableGroup::Location object_location;
+ object_location.length(1);
+ object_location[0].id = CORBA::string_dup("Test location");
+ value <<= object_location;
+ encoder.add(::FT::FT_LOCATION, value);
+
+ PortableGroup::TypeId object_type = CORBA::string_dup("dummy_type");
+ value <<= object_type;
+ encoder.add(::FT::FT_TYPE_ID, value);
+
+ FT::ObjectGroupId group_id = 0;
+ value <<= group_id;
+ encoder.add(::FT::FT_GROUP_ID, value);
+
+ // allocate and populate the criteria
+ PortableGroup::Criteria_var criteria;
+ ACE_NEW_NORETURN (criteria,
+ PortableGroup::Criteria);
+ if (criteria.ptr() == 0)
+ {
+ ACE_ERROR((LM_ERROR,
+ "Error cannot allocate criteria.\n"
+ ));
+ result = -1;
+ }
+ else
+ {
+ encoder.encode(criteria);
+ PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id;
+
+ ACE_DEBUG((LM_DEBUG,
+ "Call create_object with type: %s\n", type_id.in()
+ ));
+ this->factory_->create_object (
+ type_id.in(),
+ criteria.in(),
+ factory_creation_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+ }
+
+ if (result == 0 && this->readyFile_ != 0)
+ {
+ std::ofstream ready(this->readyFile_, ios::out);
+ ready << "ready" << std::endl;
+ ready.close();
+ }
+ }
+ return result;
+}
+
+
+/**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+const char * StubFaultAnalyzer::identity () const
+{
+ return this->identity_.c_str();
+}
+
+/**
+ * Clean house for process shut down.
+ */
+int StubFaultAnalyzer::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ this->faultConsumer_.fini(ACE_ENV_SINGLE_ARG_PARAMETER);
+ this->batchConsumer_.fini(ACE_ENV_SINGLE_ARG_PARAMETER);
+ return 0;
+}
+
+
+int StubFaultAnalyzer::idle(int & result ACE_ENV_ARG_DECL_NOT_USED)
+{
+ ACE_UNUSED_ARG(result);
+ int quit = 0;
+
+ if (this->replicas_.size() == this->faultConsumer_.notifications())
+ {
+ quit = 1;
+ }
+ return quit;
+}
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector < const char * >;
+ template class ACE_Vector < FT::PullMonitorable_var > ;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Vector < const char * >
+# pragma instantiate ACE_Vector < FT::PullMonitorable_var >
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.h b/TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.h
new file mode 100644
index 00000000000..7da34e52cba
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubFaultAnalyzer.h
@@ -0,0 +1,132 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef STUBFAULTANALYZER_H
+#define STUBFAULTANALYZER_H
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "StubFaultConsumer.h"
+#include "StubBatchConsumer.h"
+#include <orbsvcs/FT_NotifierC.h>
+#include <orbsvcs/FT_FaultDetectorFactoryC.h>
+
+#include "ace/Vector_T.h"
+
+//////////////////////
+// Forward references
+
+/////////////////////
+// Class declarations
+
+/**
+ * A stub fault analyzer for use in unit testing.
+ */
+class StubFaultAnalyzer
+{
+public:
+ /**
+ * Default constructor.
+ */
+ StubFaultAnalyzer ();
+
+ /**
+ * destructor.
+ */
+ ~StubFaultAnalyzer ();
+
+ /**
+ * Parse command line arguments.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize this object
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ * @return zero for success; nonzero is process return code for failure.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /////////////////
+ // Implementation
+private:
+ int readIORFile(const char * fileName, CORBA::String_var & ior);
+
+ ///////////////
+ // Data Members
+private:
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var objectId_;
+
+ /**
+ * A human-readable string to distinguish this from other Notifiers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * a file to write to to signal "ready"
+ */
+ const char * readyFile_;
+
+ /**
+ * The detecor's IOR (-d option)
+ */
+ const char * detector_ior_;
+
+ ::FT::FaultDetectorFactory_var factory_;
+
+ /**
+ * The notifier's IOR (-n option)
+ */
+ const char * notifier_ior_;
+
+ ::FT::FaultNotifier_var notifier_;
+
+ /**
+ * A collection of files containing replica IORs
+ */
+ ACE_Vector < const char * > replicaIORs;
+
+ ACE_Vector < FT::PullMonitorable_var > replicas_;
+
+
+ StubFaultConsumer faultConsumer_;
+ StubBatchConsumer batchConsumer_;
+
+};
+
+#include /**/ <ace/post.h>
+
+#endif /* STUBFAULTANALYZER_H */
diff --git a/TAO/orbsvcs/tests/FT_App/StubFaultConsumer.cpp b/TAO/orbsvcs/tests/FT_App/StubFaultConsumer.cpp
new file mode 100644
index 00000000000..e87352717bc
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubFaultConsumer.cpp
@@ -0,0 +1,318 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "StubFaultConsumer.h"
+#include <ace/Get_Opt.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include <orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+
+StubFaultConsumer::StubFaultConsumer ()
+ : quit_(0)
+ , notifications_(0)
+{
+}
+
+
+StubFaultConsumer::~StubFaultConsumer ()
+{
+}
+
+::PortableServer::POA_ptr StubFaultConsumer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return ::PortableServer::POA::_duplicate(this->poa_.in ());
+}
+
+PortableServer::ObjectId StubFaultConsumer::objectId()const
+{
+ return this->object_id_.in();
+}
+
+size_t StubFaultConsumer::notifications () const
+{
+ return this->notifications_;
+}
+
+
+int StubFaultConsumer::parse_args (int argc, char * argv[])
+{
+ int optionError = 0;
+#ifndef NO_ARGS_FOR_NOW
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+#else // NO_ARGS_FOR_NOW
+ ACE_Get_Opt get_opts (argc, argv, "");
+ int c;
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'r':
+ {
+ if (this->replicaIorBuffer_ == 0)
+ {
+ const char * repNames = get_opts.opt_arg ();
+ size_t repNameLen = ACE_OS::strlen(repNames);
+
+ // make a working copy of the string
+ ACE_NEW_NORETURN(this->replicaIorBuffer_,
+ char[repNameLen + 1]);
+ if ( this->replicaIorBuffer_ != 0)
+ {
+ ACE_OS::memcpy(this->replicaIorBuffer_, repNames, repNameLen+1);
+
+ // tokenize the string on ','
+ // into iorReplicaFiles_
+ char * pos = this->replicaIorBuffer_;
+ while (pos != 0)
+ {
+ this->iorReplicaFiles_.push_back(pos);
+ // find a comma delimiter, and
+ // chop the string there.
+ pos = ACE_OS::strchr (pos, ',');
+ if (pos != 0)
+ {
+ *pos = '\0';
+ pos += 1;
+ }
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Command line option error: -r can't allocate buffer.\n"
+ ));
+ optionError = -1;
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Command line option error: -r specified more than once.\n"
+ ));
+ optionError = -1;
+ }
+ break;
+ }
+ case 'd':
+ {
+ this->iorDetectorFile_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'n':
+ {
+ this->nsName_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'o':
+ {
+ this->iorOutputFile_ = get_opts.opt_arg ();
+ break;
+ }
+
+ default:
+ // fall thru
+ case '?':
+ {
+ break;
+ }
+ }
+ }
+
+ if(! optionError)
+ {
+ if (0 == this->replicaIorBuffer_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-r option is required.\n"
+ ));
+ optionError = -1;
+ }
+ if (0 == this->iorDetectorFile_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-d option is required.\n"
+ ));
+ optionError = -1;
+ }
+ }
+
+ if(optionError)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "usage: %s"
+ " -r <replica.ior[,replica.ior]>"
+ " -d <detector.ior>"
+ " -o <this.ior>"
+ " -n <nameService name>"
+ "\n",
+ argv [0]
+ ));
+ }
+#endif /* NO_ARGS_FOR_NOW */
+ return optionError;
+}
+
+/**
+ * Register this object.
+ */
+int StubFaultConsumer::init (CORBA::ORB_ptr orb,
+ ::FT::FaultNotifier_var & notifier
+ ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+ this->notifier_ = notifier;
+ this->identity_ = "StubFaultConsumer";
+
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Register with the POA.
+
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // find my identity as an object
+
+ CORBA::Object_var this_obj =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ CosNotifyFilter::Filter_var filter = CosNotifyFilter::Filter::_nil();
+
+ this->consumer_id_ = notifier->connect_structured_fault_consumer(
+ CosNotifyComm::StructuredPushConsumer::_narrow(this_obj.in ()),
+ filter.in ());
+
+ return result;
+}
+
+/**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+const char * StubFaultConsumer::identity () const
+{
+ return this->identity_.c_str();
+}
+
+/**
+ * Clean house for process shut down.
+ */
+int StubFaultConsumer::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ this->notifier_->disconnect_consumer(this->consumer_id_ ACE_ENV_ARG_PARAMETER);
+ return 0;
+}
+
+
+int StubFaultConsumer::idle(int & result)
+{
+ ACE_UNUSED_ARG(result);
+ return this->quit_;
+}
+
+////////////////
+// CORBA methods
+void StubFaultConsumer::push_structured_event(
+ const CosNotification::StructuredEvent &notification
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ throw (CORBA::SystemException, CosEventComm::Disconnected)
+{
+ ////////////////////////////////////////
+ // keep track of how many we've received
+ this->notifications_ += 1;
+ ACE_ERROR ((LM_ERROR,
+ "FaultConsumer: Received Fault notification(%d):\n"
+ "FaultConsumer: Header EventType domain: %s\n"
+ "FaultConsumer: Header EventType type: %s\n"
+ "FaultConsumer: Header EventName: %s\n",
+ ACE_static_cast (unsigned int, this->notifications_),
+ ACE_static_cast (const char *, notification.header.fixed_header.event_type.domain_name),
+ ACE_static_cast (const char *, notification.header.fixed_header.event_type.type_name),
+ ACE_static_cast (const char *, notification.header.fixed_header.event_name)
+ ));
+ const CosNotification::FilterableEventBody & filterable = notification.filterable_data;
+
+ size_t propertyCount = filterable.length ();
+ for (size_t nProp = 0; nProp < propertyCount; ++nProp)
+ {
+ const CosNotification::Property & property = filterable[nProp];
+
+ const char * property_name = ACE_static_cast (const char *, property.name);
+ const char * value = "<unknown>";
+ if (property.value >>= value )
+ {
+ // ok!
+ }
+ ACE_ERROR ((LM_ERROR,
+ "FaultConsumer: Property Name: %s=%s\n",
+ property_name,
+ value
+ ));
+
+
+// int todo_finish_decode;
+ }
+
+}
+
+void StubFaultConsumer::offer_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyComm::InvalidEventType))
+{
+ ACE_UNUSED_ARG (added);
+ ACE_UNUSED_ARG (removed);
+ ACE_ERROR ((LM_ERROR,
+ "StubFaultConsumer: offer_change call ignored.\n"
+ ));
+}
+
+void StubFaultConsumer::disconnect_structured_push_consumer(ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_ERROR ((LM_ERROR,
+ "StubFaultConsumer:disconnect_structured_push_consumer interpreted as quit request.\n"
+ ));
+ this->quit_ = 1;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+// template instantiate ACE_Vector < const char * >;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+//# pragma instantiate ACE_Vector < const char * >
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/StubFaultConsumer.h b/TAO/orbsvcs/tests/FT_App/StubFaultConsumer.h
new file mode 100644
index 00000000000..374b2e7b588
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubFaultConsumer.h
@@ -0,0 +1,149 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef STUBFAULTCONSUMER_H
+#define STUBFAULTCONSUMER_H
+#include /**/ <ace/pre.h>
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "orbsvcs/CosNotifyChannelAdminS.h"
+#include <orbsvcs/FT_NotifierC.h>
+
+//////////////////////
+// Forward references
+
+/////////////////////
+// Class declarations
+
+/**
+ * A stub fault consumer for use in unit testing Fault Notifier.
+ */
+class StubFaultConsumer
+ : public virtual POA_CosNotifyComm::StructuredPushConsumer
+{
+public:
+ /**
+ * Default constructor.
+ */
+ StubFaultConsumer ();
+
+ /**
+ * virtual destructor.
+ */
+ virtual ~StubFaultConsumer ();
+
+
+ ::PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL);
+ ::PortableServer::ObjectId objectId()const;
+
+ /**
+ * Parse command line arguments.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Publish this objects IOR.
+ */
+ int init (CORBA::ORB_ptr orb, ::FT::FaultNotifier_var & notifier
+ ACE_ENV_ARG_DECL);
+
+ /**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result);
+
+ /**
+ * Clean house for process shut down.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+
+ size_t notifications() const;
+
+public:
+
+ ////////////////
+ // CORBA methods
+ virtual void push_structured_event(
+ const CosNotification::StructuredEvent &notification
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ throw (CORBA::SystemException, CosEventComm::Disconnected);
+
+ virtual void offer_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ throw (CORBA::SystemException, CosNotifyComm::InvalidEventType);
+
+ virtual void disconnect_structured_push_consumer(ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ throw (CORBA::SystemException);
+
+ ////////////////////
+ // Forbidden methods
+private:
+ StubFaultConsumer (const StubFaultConsumer & rhs);
+ StubFaultConsumer & operator = (const StubFaultConsumer & rhs);
+
+ /////////////////////////
+ // Implementation methods
+private:
+
+ ///////////////
+ // Data Members
+private:
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+
+ /**
+ * A human-readable string to distinguish this from other FaultConsumers.
+ */
+ ACE_CString identity_;
+
+ /**
+ * boolean: request quit
+ */
+ int quit_;
+
+ /**
+ * the notifier
+ */
+ ::FT::FaultNotifier_var notifier_;
+
+ /**
+ * consumer id assigned by the notifier
+ */
+ ::FT::FaultNotifier::ConsumerId consumer_id_;
+
+ size_t notifications_;
+
+};
+
+#include /**/ <ace/post.h>
+
+#endif /* STUBFAULTCONSUMER_H */
diff --git a/TAO/orbsvcs/tests/FT_App/StubFaultNotifier.cpp b/TAO/orbsvcs/tests/FT_App/StubFaultNotifier.cpp
new file mode 100644
index 00000000000..2f40dda2dc5
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubFaultNotifier.cpp
@@ -0,0 +1,493 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "StubFaultNotifier.h"
+#include <ace/Get_Opt.h>
+#include <ace/OS_NS_stdio.h>
+#include <tao/PortableServer/ORB_Manager.h>
+#include <orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+#include <iostream>
+
+StubFaultNotifier::StubFaultNotifier ()
+ : ior_output_file_(0)
+ , detector_ior_(0)
+ , ns_name_(0)
+{
+}
+
+
+StubFaultNotifier::~StubFaultNotifier ()
+{
+}
+
+
+::PortableServer::POA_ptr StubFaultNotifier::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return ::PortableServer::POA::_duplicate(this->poa_.in ());
+}
+
+PortableServer::ObjectId StubFaultNotifier::objectId()const
+{
+ return this->object_id_.in();
+}
+
+int StubFaultNotifier::parse_args (int argc, char * argv[])
+{
+ int optionError = 0;
+ ACE_Get_Opt get_opts (argc, argv, "o:r:d:n:");
+ int c;
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'r':
+ {
+ this->iorReplicaFiles_.push_back( get_opts.opt_arg ());
+ break;
+ }
+ case 'd':
+ {
+ this->detector_ior_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'n':
+ {
+ this->ns_name_ = get_opts.opt_arg ();
+ break;
+ }
+ case 'o':
+ {
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+ }
+
+ default:
+ // fall thru
+ case '?':
+ {
+ break;
+ }
+ }
+ }
+
+ if(! optionError)
+ {
+ if (iorReplicaFiles_.size() == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-r option is required.\n"
+ ));
+ optionError = -1;
+ }
+ if (0 == this->detector_ior_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "-d option is required.\n"
+ ));
+ optionError = -1;
+ }
+ }
+
+ if(optionError)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "usage: %s"
+ " -r <replica.ior [-r <replica2.ior]...>"
+ " -d <detector.ior>"
+ " -o <this.ior>"
+ " -n <nameService name>"
+ "\n",
+ argv [0]
+ ));
+ }
+ return optionError;
+}
+
+/**
+ * Prepare to exit.
+ */
+int StubFaultNotifier::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if(this->ns_name_ != 0)
+ {
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (CORBA::is_nil(naming_obj.in ())){
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+
+ CosNaming::NamingContext_var naming_context =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+
+ CosNaming::Name this_name (1);
+ this_name.length (1);
+ this_name[0].id = CORBA::string_dup (this->ns_name_);
+
+ naming_context->unbind (this_name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ }
+ return 0;
+}
+
+
+/**
+ * Publish this objects IOR.
+ */
+int StubFaultNotifier::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ // Use the ROOT POA for now
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")),
+ -1);
+
+ // Get the POA object.
+ this->poa_ =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(this->poa_.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")),
+ -1);
+ }
+
+ PortableServer::POAManager_var poa_manager =
+ this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Register with the POA.
+
+ this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // find my identity as a corba object
+ CORBA::Object_var this_obj =
+ this->poa_->id_to_reference (object_id_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ //////////////////////////////////////////
+ // resolve references to detector factory
+
+ CORBA::Object_var obj = this->orb_->string_to_object(detector_ior_);
+ this->factory_ = ::FT::FaultDetectorFactory::_narrow(obj.in ());
+ if (CORBA::is_nil(this->factory_.in ()))
+ {
+ std::cerr << "Can't resolve Detector Factory IOR " << this->detector_ior_ << std::endl;
+ result = -1;
+ }
+ if (result == 0)
+ {
+ ////////////////////////////////////
+ // resolve references to replicas
+ size_t replicaCount = this->iorReplicaFiles_.size();
+ for(size_t nRep = 0; result == 0 && nRep < replicaCount; ++nRep)
+ {
+ const char * iorName = this->iorReplicaFiles_[nRep];
+ CORBA::Object_var obj = this->orb_->string_to_object(iorName);
+ FT::PullMonitorable_var replica = FT::PullMonitorable::_narrow(obj.in ());
+ if (CORBA::is_nil(replica.in ()))
+ {
+ std::cerr << "Can't resolve Replica IOR " << iorName << std::endl;
+ result = -1;
+ }
+ else
+ {
+ this->replicas_.push_back(replica);
+
+ CORBA::String_var type_id = CORBA::string_dup("FaultDetector");
+
+ TAO_PG::Properties_Encoder encoder;
+
+ PortableGroup::Value value;
+ //////////////////
+ // FaultDetectorFactory gets picky about FaultNotifier's object type.
+ // coddle it.
+ ::FT::FaultNotifier_var notifier = ::FT::FaultNotifier::_narrow(this_obj.in ());
+ value <<= notifier.in ();
+ encoder.add(::FT::FT_NOTIFIER, value);
+
+
+ value <<= replica.in ();
+ encoder.add(::FT::FT_MONITORABLE, value);
+
+ FT::FTDomainId domain_id = 0;
+ value <<= domain_id;
+ encoder.add(::FT::FT_DOMAIN_ID, value);
+
+ PortableGroup::Location object_location;
+ object_location.length(1);
+ object_location[0].id = CORBA::string_dup("Test location");
+ value <<= object_location;
+ encoder.add(::FT::FT_LOCATION, value);
+
+ PortableGroup::TypeId object_type = 0;
+ value <<= object_type;
+ encoder.add(::FT::FT_TYPE_ID, value);
+
+ PortableGroup::ObjectGroupId group_id = 0;
+ value <<= group_id;
+ encoder.add(::FT::FT_GROUP_ID, value);
+
+ // allocate and populate the criteria
+ PortableGroup::Criteria_var criteria;
+ ACE_NEW_NORETURN (criteria,
+ PortableGroup::Criteria);
+ if (criteria.ptr() == 0)
+ {
+ ACE_ERROR((LM_ERROR,
+ "Error cannot allocate criteria.\n"
+ ));
+ result = -1;
+ }
+ else
+ {
+ encoder.encode(criteria);
+ PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id;
+
+ this->factory_->create_object (
+ type_id.in(),
+ criteria.in(),
+ factory_creation_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+ }
+
+ if (this->ior_output_file_ != 0)
+ {
+ this->identity_ = "file:";
+ this->identity_ += this->ior_output_file_;
+ result = write_ior_file();
+ }
+ else
+ {
+ // if no IOR file specified,
+ // then always try to register with name service
+ this->ns_name_ = "FT_FaultNotifier";
+ }
+
+ if(this->ns_name_ != 0)
+ {
+ this->identity_ = "name:";
+ this->identity_ += this->ns_name_;
+
+ CORBA::Object_var naming_obj =
+ this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil(naming_obj.in ())){
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%T %n (%P|%t) Unable to find the Naming Service\n"),
+ 1);
+ }
+
+ CosNaming::NamingContext_var naming_context =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ CosNaming::Name this_name (1);
+ this_name.length (1);
+ this_name[0].id = CORBA::string_dup (this->ns_name_);
+
+ naming_context->rebind (this_name, this_obj.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ }
+ }
+ return result;
+}
+
+int StubFaultNotifier::write_ior_file()
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (this->ior_output_file_, "w");
+ if (out)
+ {
+ ACE_OS::fprintf (out, "%s", ACE_static_cast(const char *, this->ior_));
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ return result;
+}
+
+/**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+const char * StubFaultNotifier::identity () const
+{
+ return this->identity_.c_str();
+}
+
+/**
+ * Clean house for process shut down.
+ */
+void StubFaultNotifier::shutdown_i (ACE_ENV_SINGLE_ARG_DECL)
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
+
+void StubFaultNotifier::push_structured_fault (
+ const CosNotification::StructuredEvent & event
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_ERROR ((LM_ERROR,
+ "FaultNotifier: Received Fault notification:\n"
+ "FaultNotifier: Header EventType domain: %s\n"
+ "FaultNotifier: Header EventType type: %s\n"
+ "FaultNotifier: Header EventName: %s\n",
+ ACE_static_cast (const char *, event.header.fixed_header.event_type.domain_name),
+ ACE_static_cast (const char *, event.header.fixed_header.event_type.type_name),
+ ACE_static_cast (const char *, event.header.fixed_header.event_name)
+ ));
+ const CosNotification::FilterableEventBody & filterable = event.filterable_data;
+
+ size_t propertyCount = filterable.length ();
+ for (size_t nProp = 0; nProp < propertyCount; ++nProp)
+ {
+ const CosNotification::Property & property = filterable[nProp];
+ ACE_ERROR ((LM_ERROR,
+ "FaultNotifier: Property Name: %s\n",
+ ACE_static_cast (const char *, property.name)
+ ));
+ //@@ we could stand to decode more--just for completeness
+ }
+}
+
+
+void StubFaultNotifier::push_sequence_fault (
+ const CosNotification::EventBatch & events
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ ACE_UNUSED_ARG (events);
+ ACE_THROW (CORBA::NO_IMPLEMENT());
+}
+
+::CosNotifyFilter::Filter_ptr StubFaultNotifier::create_subscription_filter (
+ const char * constraint_grammar
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotifyFilter::InvalidGrammar
+ ))
+{
+ ACE_UNUSED_ARG (constraint_grammar);
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT(), 0);
+ return 0;
+}
+
+
+FT::FaultNotifier::ConsumerId StubFaultNotifier::connect_structured_fault_consumer (
+ CosNotifyComm::StructuredPushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ ACE_UNUSED_ARG(push_consumer);
+ ACE_UNUSED_ARG(filter);
+
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT(), 0);
+ return 0;
+}
+
+
+FT::FaultNotifier::ConsumerId StubFaultNotifier::connect_sequence_fault_consumer (
+ CosNotifyComm::SequencePushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ ACE_UNUSED_ARG(push_consumer);
+ ACE_UNUSED_ARG(filter);
+
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT(), 0);
+ return 0;
+}
+
+void StubFaultNotifier::disconnect_consumer (
+ FT::FaultNotifier::ConsumerId connection
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosEventComm::Disconnected
+ ))
+{
+ ACE_UNUSED_ARG(connection);
+
+ ACE_THROW (CORBA::NO_IMPLEMENT());
+}
+
+CORBA::Boolean StubFaultNotifier::is_alive (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return 1;
+}
+
+int StubFaultNotifier::idle(int & result ACE_ENV_ARG_DECL_NOT_USED)
+{
+ ACE_UNUSED_ARG(result);
+ int quit = 0;
+ ACE_TRY_NEW_ENV
+ {
+ if(!CORBA::is_nil(this->factory_.in ()))
+ {
+ int ok = this->factory_->is_alive( ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!ok)
+ {
+ quit = 1;
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ quit = 1;
+ }
+ ACE_ENDTRY;
+ return quit;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Vector < const char * >;
+ template class ACE_Vector < FT::PullMonitorable_var > ;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Vector < const char * >
+# pragma instantiate ACE_Vector < FT::PullMonitorable_var >
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/StubFaultNotifier.h b/TAO/orbsvcs/tests/FT_App/StubFaultNotifier.h
new file mode 100644
index 00000000000..b939dbdf74b
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/StubFaultNotifier.h
@@ -0,0 +1,187 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef STUBFAULTNOTIFIER_H_
+#define STUBFAULTNOTIFIER_H_
+
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+#include /**/ <ace/pre.h>
+
+#include <orbsvcs/FT_NotifierS.h>
+#include <orbsvcs/FT_FaultDetectorFactoryC.h>
+#include <ace/Vector_T.h>
+
+//////////////////////
+// Forward references
+
+/////////////////////
+// Class declarations
+
+/**
+ * A stub implementation of the FaultNotifier interface
+ */
+class StubFaultNotifier : public virtual POA_FT::FaultNotifier
+{
+ //////////////////////
+ // non-CORBA interface
+public:
+ /**
+ * Default constructor.
+ */
+ StubFaultNotifier ();
+
+ /**
+ * Virtual destructor.
+ */
+ virtual ~StubFaultNotifier ();
+
+ /**
+ * Parse command line arguments.
+ */
+ int parse_args (int argc, char * argv[]);
+
+ /**
+ * Initialize.
+ */
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /**
+ * Prepare to exit.
+ */
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
+
+ /**
+ * Return a string to identify this object for logging/console message purposes.
+ */
+ const char * identity () const;
+
+ /**
+ * idle time activity.
+ * @param result [out] status code to return from process
+ * @returns 0 to continue; nonzero to quit
+ */
+ int idle(int &result ACE_ENV_ARG_DECL);
+
+ // override virtuals
+::PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL);
+
+ PortableServer::ObjectId objectId()const;
+
+
+ /**
+ * Clean house for process shut down.
+ */
+ void shutdown_i (ACE_ENV_SINGLE_ARG_DECL);
+
+ ////////////////////////////////
+ // CORBA interface FaultNotifier
+
+
+ virtual void push_structured_fault (
+ const CosNotification::StructuredEvent & event
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void push_sequence_fault (
+ const CosNotification::EventBatch & events
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::CosNotifyFilter::Filter_ptr create_subscription_filter (
+ const char * constraint_grammar
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosNotifyFilter::InvalidGrammar));
+
+ virtual FT::FaultNotifier::ConsumerId connect_structured_fault_consumer (
+ CosNotifyComm::StructuredPushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual FT::FaultNotifier::ConsumerId connect_sequence_fault_consumer (
+ CosNotifyComm::SequencePushConsumer_ptr push_consumer,
+ CosNotifyFilter::Filter_ptr filter
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void disconnect_consumer (
+ FT::FaultNotifier::ConsumerId connection
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException, CosEventComm::Disconnected));
+
+ //////////////////////////////////////////
+ // CORBA interface PullMonitorable methods
+ virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /////////////////
+ // Implementation
+private:
+ int write_ior_file();
+
+ ///////////////
+ // Data Members
+private:
+ /**
+ * The orb
+ */
+ CORBA::ORB_var orb_;
+
+ /**
+ * The POA used to activate this object.
+ */
+ PortableServer::POA_var poa_;
+
+ /**
+ * The CORBA object id assigned to this object.
+ */
+ PortableServer::ObjectId_var object_id_;
+
+ /**
+ * IOR of this object as assigned by poa
+ */
+ CORBA::String_var ior_;
+
+ /**
+ * A file to which the factory's IOR should be written.
+ */
+ const char * ior_output_file_;
+
+ /**
+ * A file from which the detecor's IOR should be read.
+ */
+ const char * detector_ior_;
+
+ ::FT::FaultDetectorFactory_var factory_;
+
+ /**
+ * A collection of files containing replica IORs
+ */
+ ACE_Vector < const char * > iorReplicaFiles_;
+
+
+ ACE_Vector < FT::PullMonitorable_var > replicas_;
+ /**
+ * A name to be used to register with the name service.
+ */
+ const char * ns_name_;
+
+ /**
+ * A human-readable string to distinguish this from other Notifiers.
+ */
+ ACE_CString identity_;
+};
+
+#include /**/ <ace/post.h>
+
+#endif /* STUBFAULTNOTIFIER_H_ */
diff --git a/TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp b/TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp
new file mode 100644
index 00000000000..0f0b29fd6ad
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp
@@ -0,0 +1,478 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file TAO_Object_Group_Creator.cpp
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * Utility to Create Object Group
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#include "TAO_Object_Group_Creator.h"
+#include <ace/OS_NS_stdio.h>
+#include <iostream>
+#include <fstream>
+#include <orbsvcs/PortableGroup/PG_Properties_Encoder.h>
+#include <orbsvcs/FT_FaultDetectorFactoryC.h>
+#include <orbsvcs/PortableGroup/PG_Operators.h>
+
+#include <ace/Get_Opt.h>
+
+TAO::Object_Group_Creator::Object_Group_Creator ()
+ : orb_(CORBA::ORB::_nil ())
+ , registry_ (PortableGroup::FactoryRegistry::_nil ())
+ , replication_manager_ (FT::ReplicationManager::_nil ())
+ , detector_infos_ (0)
+ , have_replication_manager_ (0)
+{
+}
+
+TAO::Object_Group_Creator::~Object_Group_Creator ()
+{
+}
+
+int TAO::Object_Group_Creator::set_factory_registry (PortableGroup::FactoryRegistry_ptr factory)
+{
+ this->registry_ = PortableGroup::FactoryRegistry::_duplicate (factory);
+ return CORBA::is_nil (this->registry_.in ()) ? -1 : 0 ;
+}
+
+
+int TAO::Object_Group_Creator::init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL_NOT_USED)
+{
+ int result = 0;
+ this->orb_ = CORBA::ORB::_duplicate (orb);
+
+ if (CORBA::is_nil (this->registry_.in ()))
+ {
+ ///////////////////////////////
+ // Find the ReplicationManager
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var rm_obj
+ = orb->resolve_initial_references (
+ "ReplicationManager" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->replication_manager_
+ = ::FT::ReplicationManager::_narrow (
+ rm_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!CORBA::is_nil (this->replication_manager_.in ()))
+ {
+ this->have_replication_manager_ = 1;
+ // empty criteria
+ ::PortableGroup::Criteria criteria;
+ this->registry_
+ = this->replication_manager_->get_factory_registry (
+ criteria ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (!CORBA::is_nil (this->registry_.in ()))
+ {
+ this->detector_infos_
+ = this->registry_->list_factories_by_role (
+ FT::FAULT_DETECTOR_ROLE_NAME,
+ this->detector_type_id_.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ CORBA::ULong count = this->detector_infos_->length ();
+ ACE_DEBUG ( (LM_DEBUG,
+ "%T %n (%P|%t)Object_Group_Creator: found %u factories for FaultDetectors\n",
+ ACE_static_cast (unsigned, count)
+ ));
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t) Object_Group_Creator: ReplicationManager failed to return FactoryRegistry.\n"
+ ));
+ ACE_TRY_THROW (CORBA::NO_IMPLEMENT ());
+ }
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t) Object_Group_Creator: resolve_initial_references for ReplicationManager failed.\n"
+ ));
+ ACE_TRY_THROW (CORBA::OBJECT_NOT_EXIST ());
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Creator: Exception resolving ReplicationManager,\n");
+
+ result = 1;
+ }
+ ACE_ENDTRY;
+ }
+
+ return result;
+}
+
+int TAO::Object_Group_Creator::unregister_role (const char * role ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+ ACE_ERROR ( (LM_INFO,
+ "%T %n (%P|%t) Object_Group_Creator: Unregistering all factories for %s\n",
+ role
+ ));
+ this->registry_->unregister_factory_by_role (role ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ return result;
+}
+
+
+
+int TAO::Object_Group_Creator::create_detector_for_replica (
+ CORBA::Object_ptr replica,
+ const char * role,
+ const char * type_id,
+ PortableGroup::ObjectGroupId group_id,
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL)
+{
+ int result = 0;
+
+ if (this->have_replication_manager_)
+ {
+ CORBA::ULong detector_count = this->detector_infos_->length ();
+ for (CORBA::ULong n_detector = 0; result == 0 && n_detector < detector_count; ++n_detector)
+ {
+ PortableGroup::FactoryInfo & info = (*this->detector_infos_)[n_detector];
+ if ( info.the_location == location || n_detector + 1 == detector_count)
+ {
+ TAO_PG::Properties_Encoder encoder;
+
+ PortableGroup::Value value;
+
+ FT::PullMonitorable_ptr monitorable = FT::PullMonitorable::_narrow (replica);
+ value <<= monitorable;
+ encoder.add (::FT::FT_MONITORABLE, value);
+
+ FT::FTDomainId domain_id = 0;
+ value <<= domain_id;
+ encoder.add (::FT::FT_DOMAIN_ID, value);
+
+ value <<= location;
+ encoder.add (::FT::FT_LOCATION, value);
+
+ value <<= type_id;
+ encoder.add (::FT::FT_TYPE_ID, value);
+
+ value <<= group_id;
+ encoder.add (::FT::FT_GROUP_ID, value);
+
+ value <<= CORBA::string_dup (role);
+ encoder.add (PortableGroup::role_criterion, value);
+
+ // allocate and populate the criteria
+ PortableGroup::Criteria_var criteria;
+ ACE_NEW_NORETURN (criteria,
+ PortableGroup::Criteria);
+ if (criteria.ptr () == 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t)Object_Group_Creater: Error cannot allocate criteria.\n"
+ ));
+ result = -1;
+ }
+ else
+ {
+ encoder.encode (criteria);
+ PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id;
+
+ info.the_factory->create_object (
+ type_id,
+ criteria.in (),
+ factory_creation_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ result = 1;
+ }
+ }
+ }
+ }
+ return result;
+}
+
+
+CORBA::Object_ptr TAO::Object_Group_Creator::create_infrastructure_managed_group (
+ const char * type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException ))
+{
+ CORBA::Object_var group = CORBA::Object::_nil ();
+
+ if (this->have_replication_manager_)
+ {
+ // set typeid properties
+ PortableGroup::Properties properties (1);
+ properties.length (3);
+
+ properties[0].nam.length (1);
+ properties[0].nam[0].id = PortableGroup::PG_MEMBERSHIP_STYLE;
+ properties[0].val <<= PortableGroup::MEMB_INF_CTRL;
+
+ PortableGroup::InitialNumberMembersValue inm(2);
+ properties[1].nam.length (1);
+ properties[1].nam[0].id = PortableGroup::PG_INITIAL_NUMBER_MEMBERS;
+ properties[1].val <<= inm;
+
+ PortableGroup::MinimumNumberMembersValue mnm(1);
+ properties[2].nam.length (1);
+ properties[2].nam[0].id = PortableGroup::PG_MINIMUM_NUMBER_MEMBERS;
+ properties[2].val <<= mnm;
+
+ this->replication_manager_->set_type_properties (
+ type_id,
+ properties
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (group._retn ());
+
+ ::PortableGroup::GenericFactory::FactoryCreationId_var creation_id;
+ PortableGroup::Criteria criteria (1);
+ criteria.length (1);
+ criteria[0].nam.length (1);
+ criteria[0].nam[0].id = PortableGroup::PG_MEMBERSHIP_STYLE;
+ criteria[0].val <<= PortableGroup::MEMB_APP_CTRL;
+
+ group = this->replication_manager_->create_object (
+ type_id,
+ criteria,
+ creation_id
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("%T %n (%P|%t): Object_Group_Creator: infrastructure managed group requires Replication Manager\n")
+ ));
+ }
+ return group._retn ();
+}
+
+CORBA::Object_ptr TAO::Object_Group_Creator::create_group (
+ const char * role,
+ int write_iors
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ( (CORBA::SystemException ))
+{
+ CORBA::Object_var group = CORBA::Object::_nil ();
+
+ PortableGroup::ObjectGroupId group_id = 0;
+ CORBA::String_var type_id;
+ ::PortableGroup::FactoryInfos_var infos = this->registry_->list_factories_by_role (role, type_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ CORBA::ULong count = infos->length ();
+ ACE_ERROR ( (LM_INFO,
+ ACE_TEXT("%T %n (%P|%t): Object_Group_Creator: found %u factories for %s : %s\n"),
+ ACE_static_cast (unsigned, count),
+ role,
+ ACE_static_cast (const char *, type_id)
+ ));
+
+ if (count > 0)
+ {
+ ///////////////////////////
+ // Begin with an empty IOGR
+ ::PortableGroup::GenericFactory::FactoryCreationId_var creation_id;
+ if (this->have_replication_manager_)
+ {
+
+ //////////////////////////////////////////////////////
+ // note infrastructure controlled because we want the
+ // ReplicationManager to manage the object after it's created.
+ // Initial number members = 0 because we do not want the Replication
+ // Manager to populate the group.
+ // Minimum number of members = 0 because we do not want the
+ // Replication Manager to replace failed members.
+ // Semi-active, because that's what we do.
+ PortableGroup::Criteria criteria (3);
+ criteria.length (4);
+ criteria[0].nam.length (1);
+ criteria[0].nam[0].id = PortableGroup::PG_MEMBERSHIP_STYLE;
+ criteria[0].val <<= PortableGroup::MEMB_INF_CTRL;
+
+ criteria[1].nam.length (1);
+ criteria[1].nam[0].id = PortableGroup::PG_INITIAL_NUMBER_MEMBERS;
+ criteria[1].val <<= PortableGroup::InitialNumberMembersValue (0);
+
+ criteria[2].nam.length (1);
+ criteria[2].nam[0].id = PortableGroup::PG_MINIMUM_NUMBER_MEMBERS;
+ criteria[2].val <<= PortableGroup::MinimumNumberMembersValue (0);
+
+ criteria[3].nam.length (1);
+ criteria[3].nam[0].id = FT::FT_REPLICATION_STYLE;
+ criteria[3].val <<= FT::SEMI_ACTIVE;
+
+ group = this->replication_manager_->create_object (
+ type_id.in (),
+ criteria,
+ creation_id
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ //@@ this is a bit of a hack
+ creation_id >>= group_id;
+
+ }
+
+ const PortableGroup::Location * first_location = 0;
+
+ for (CORBA::ULong nFact = 0; nFact < count; ++nFact)
+ {
+ ::PortableGroup::FactoryInfo & info = infos[nFact];
+
+ const char * loc_name = info.the_location[0].id;
+ ACE_ERROR ( (LM_INFO,
+ "%T %n (%P|%t) Object_Group_Creator: Creating %s@%s\n",
+ role,
+ loc_name
+ ));
+
+ PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id;
+ CORBA::Object_var created_obj = info.the_factory->create_object (
+ type_id.in (),
+ info.the_criteria,
+ factory_creation_id.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ if ( !CORBA::is_nil (created_obj.in ()) )
+ {
+// that which was first shall now be last if (nFact == 0)
+ {
+ first_location = & info.the_location;
+ }
+
+ // try to create a detector, but don't worry if it doesn't happen
+ (void) create_detector_for_replica (
+ created_obj.in (),
+ role,
+ type_id.in (),
+ group_id,
+ info.the_location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ const char * replica_ior = orb_->object_to_string (created_obj.in () ACE_ENV_ARG_PARAMETER );
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+
+ if (write_iors)
+ {
+ ////////////////////////////////////
+ // Somewhat of a hack
+ // guess at role of factory creation id
+ CORBA::ULong ulong_id = 0;
+ CORBA::Long long_id = 0;
+ if (factory_creation_id >>= ulong_id)
+ {
+ // ok
+ }
+ else if (factory_creation_id >>= long_id)
+ {
+ ulong_id = ACE_static_cast (CORBA::ULong, long_id);
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t) Object_Group_Creator: Can't decypher factory creation id.\n"
+ ));
+ // Guessed wrong. Just use default value
+ }
+
+ char replica_ior_filename[200]; // "${role}_$ (location)_${factory_id}.ior"
+
+ ACE_OS::snprintf (replica_ior_filename, sizeof (replica_ior_filename)-1, "%s_%s_%lu.ior",
+ role,
+ loc_name,
+ ACE_static_cast (unsigned long, ulong_id));
+ replica_ior_filename[sizeof (replica_ior_filename)-1] = '\0';
+
+ ACE_ERROR ( (LM_INFO,
+ "%T %n (%P|%t) Object_Group_Creator: Writing ior for created object to %s\n",
+ replica_ior_filename
+ ));
+
+ if (write_ior_file (replica_ior_filename, replica_ior) != 0)
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t) Object_Group_Creator: Error writing ior [%s] to %s\n",
+ replica_ior,
+ replica_ior_filename
+ ));
+ }
+ }
+
+ if (this->have_replication_manager_)
+ {
+ group = this->replication_manager_->add_member (
+ group.in (),
+ info.the_location,
+ created_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ }
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t) Object_Group_Creator: create_object returned nil????\n"
+ ));
+ }
+ }
+
+ if (first_location != 0 && this->have_replication_manager_)
+ {
+ group = this->replication_manager_->set_primary_member (group.in (), * first_location ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+ }
+ ACE_ERROR ( (LM_INFO,
+ "%T %n (%P|%t) Object_Group_Creator: Successfully created group of %s\n",
+ role
+ ));
+ }
+
+ return group._retn ();
+}
+
+
+int TAO::Object_Group_Creator::fini ()
+{
+ return 0;
+}
+
+int TAO::Object_Group_Creator::write_ior_file (const char * outputFile, const char * ior)
+{
+ int result = -1;
+ FILE* out = ACE_OS::fopen (outputFile, "w");
+ if (out)
+ {
+ ACE_OS::fprintf (out, "%s", ior);
+ ACE_OS::fclose (out);
+ result = 0;
+ }
+ else
+ {
+ ACE_ERROR ( (LM_ERROR,
+ "%T %n (%P|%t) Object_Group_Creator: Open failed for %s\n", outputFile
+ ));
+ }
+ return result;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+// template ACE_Vector<ACE_CString>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+//# pragma instantiate ACE_Vector<ACE_CString>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h b/TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h
new file mode 100644
index 00000000000..5bf6c6aae58
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h
@@ -0,0 +1,108 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file TAO_Object_Group_Creator.h
+ *
+ * $Id$
+ *
+ * This file is part of Fault Tolerant CORBA.
+ * Utility to Create Object Group
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_OBJECT_GROUP_CREATOR_H
+#define TAO_OBJECT_GROUP_CREATOR_H
+#include <ace/ACE.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include <orbsvcs/FT_ReplicationManagerC.h>
+#include <orbsvcs/PortableGroupC.h>
+#include <ace/SString.h>
+#include <ace/Vector_T.h>
+
+namespace TAO
+{
+ class Object_Group_Creator
+ {
+ typedef ACE_Vector<ACE_CString> StringVec;
+ public:
+ ///////////////////////////
+ // construction/destruction
+ Object_Group_Creator ();
+
+ ~Object_Group_Creator ();
+
+ /////////////////
+ // pre-init methods
+ int set_factory_registry (PortableGroup::FactoryRegistry_ptr factory);
+
+ /////////////////
+ // initialization
+ int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
+
+ /////////////////
+ // functionality
+ CORBA::Object_ptr create_group(
+ const char * role,
+ int write_iors
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /////////////////
+ // functionality
+ CORBA::Object_ptr create_infrastructure_managed_group(
+ const char * type_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ int unregister_role(const char * role ACE_ENV_ARG_DECL);
+
+ ////////////
+ // shut down
+ int fini ();
+
+ /////////////////
+ // implementation
+ private:
+ int write_ior_file(const char * outputFile, const char * ior);
+
+ int create_detector_for_replica (
+ CORBA::Object_ptr replica,
+ const char * role,
+ const char * type_id,
+ PortableGroup::ObjectGroupId group_id,
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_DECL);
+
+ ////////////////////
+ // forbidden methods
+ private:
+ Object_Group_Creator (const Object_Group_Creator & rhs);
+ Object_Group_Creator & operator = (const Object_Group_Creator & rhs);
+
+ ////////////////
+ // Data members
+ private:
+ CORBA::ORB_var orb_;
+ PortableGroup::FactoryRegistry_var registry_;
+
+ ::FT::ReplicationManager_var replication_manager_;
+
+ ::PortableGroup::FactoryInfos_var detector_infos_;
+ CORBA::String_var detector_type_id_;
+
+
+ /**
+ * bool: true if we have a real replication manager
+ */
+ int have_replication_manager_;
+ };
+
+} // namespace TAO
+
+#endif // TAO_OBJECT_GROUP_CREATOR_H
diff --git a/TAO/orbsvcs/tests/FT_App/replica.cmd b/TAO/orbsvcs/tests/FT_App/replica.cmd
new file mode 100755
index 00000000000..6c242ad4a00
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/replica.cmd
@@ -0,0 +1,9 @@
+@if "%1a" == "a" goto error
+@if "%2a" == "a" goto error
+release\ft_replica -o %1.ior -q -f none -l %1 -i %2 %3 %4 %5 %6 %7 %8 %9
+@goto end
+@:error
+@echo Usage %0 location role [options]
+@:end
+pause
+exit
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_basic.pl b/TAO/orbsvcs/tests/FT_App/run_test_basic.pl
new file mode 100755
index 00000000000..dea17745fb6
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_basic.pl
@@ -0,0 +1,107 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+}
+
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($replica1_ior) = PerlACE::LocalFile ("replica1.ior");
+my($replica2_ior) = PerlACE::LocalFile ("replica2.ior");
+my($data_file) = PerlACE::LocalFile ("persistent.dat");
+
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $data_file;
+my($status) = 0;
+
+my($SV1) = new PerlACE::Process ("./$build_directory/ft_replica", "-o $factory1_ior -t $replica1_ior -q -f none");
+my($SV2) = new PerlACE::Process ("./$build_directory/ft_replica", "-o $factory2_ior -t $replica2_ior -q -f none");
+my($CL) = new PerlACE::Process ("./$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+
+print "\nTest: Starting replica 1 " . $SV1->CommandLine . "\n" if ($verbose);
+$SV1->Spawn ();
+
+print "waiting for replica 1's IOR\n" if ($verbose);
+
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find replica 1 file <$replica1_ior>\n";
+ $SV1->Kill (); $SV1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTest: Starting replica 2 " . $SV2->CommandLine . "\n" if ($verbose);
+$SV2->Spawn ();
+
+print "waiting for replica 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find replica 2 file <$replica2_ior>\n";
+ $SV1->Kill (); $SV1->TimedWait (1);
+ $SV2->Kill (); $SV2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTest: Starting client " . $CL->CommandLine . "\n" if ($verbose);
+
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "wait for server 1.\n" if ($verbose);
+$server = $SV1->WaitKill (60);
+
+print "wait for server 2.\n" if ($verbose);
+$server = $SV2->WaitKill (60);
+
+if ($server != 0) {
+ print STDERR "TEST ERROR: server returned $server\n";
+ $status = 1;
+}
+
+if ($status == 0) {
+print "Clean up scratch files\n" if ($verbose);
+
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $data_file;
+}
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_demo.pl b/TAO/orbsvcs/tests/FT_App/run_test_demo.pl
new file mode 100755
index 00000000000..eb18a88023a
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_demo.pl
@@ -0,0 +1,433 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# Integration test for all FT services.
+#
+# Command line options:
+# --debug_build use exes from this directory
+# if not specified use exes from ./release
+# --no_simulate
+# use real IOGR-based recovery.
+# -v display test progress messages (repeating option increases verbosity
+# Process being tested:
+# FT_ReplicationManager
+# Fault_Detector
+# Fault_Notifier
+#
+# Processes used in test:
+# FT_Replica * 3
+# implements GenericFactory interface to create TestReplicas
+# TestReplica implements TestReplica interface.
+# TestReplica implements PullMonitorable interface.
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+# Object Group Creator
+# Creates groups of objects.
+#
+# Test Scenario
+#
+# 1) Start the ReplicationManager (RM),
+# 2) Start the Fault Notification Server(FN)
+# 2.1) FN registers with RM.
+# 2.2) RM registers as consumer with FN
+# 3) Start FaultDetectorFactory at location shire (FD@shire)
+# 3.1) FD@shire registers with RM
+# 4) Start FaultDetectorFactory at location bree (FD@bree)
+# 4.1) FD@bree registers with RM
+# 5) Start Replica Factory at location shire (RF@shire) that can create hobbits
+# 5.1) RF@shire registers with RM to create hobbit@shire
+# 6) Start Replica Factory at location bree (RF@bree) that can create hobbits and elves.
+# 6.1) RF@bree registers with RM to create hobbit@bree
+# 6.1) RF@bree registers with RM to create elf@bree
+# 6) Start Replica Factory at location rivendell (RF@rivendell) that can create elves.
+# 6.1) RF@bree registers with RM to create elf@rivendell
+# 7) Start ObjectGroupCreator (OGC)
+# 7.1) OGC calls RM to create group of hobbits (IOGR1)
+# 7.1.1) OGC calls RF@shire to create hobbit@shire[1]
+# 7.1.1.1) OGC calls FD@shire to create FaultDetector for hobbit@shire[1]
+# 7.1.1.2) OGC adds hobbit@shire[1] to IOGR1.
+# 7.1.2) OGC calls RF@bree to craate hobbit@bree[1]
+# 7.1.2.1) OGC calls FD@bree to create FaultDetector for hobbit@bree[1]
+# 7.1.2.2) OGC adds hobbit@bree[1] to IOGR1.
+# 7.2) OGC calls RM to create group of elves (IOGR2)
+# 7.2.1) OGC calls RF@bree to create elf@bree[2]
+# 7.2.1.1) OGC calls FD@bree to create FaultDetector for elf@bree[2]
+# 7.2.1.2) OGC adds elf@bree[2] to IOGR2.
+# 7.2.2) OGC calls RF@rivendell to create elf@rivendell[1]
+# 7.2.2.1) OGC calls FD@shire to create FaultDetector for elf@rivendell[1]
+# 7.2.2.2) OGC adds elf@rivendell[1] to IOGR2.
+# 7.3) OGC calls RM to create group of hobbits (IOGR3)
+# 7.3.1) OGC calls RF@shire to create hobbit@shire[2]
+# 7.3.1.1) OGC calls FD@shire to create FaultDetector for hobbit@shire[2]
+# 7.3.1.2) OGC adds hobbit@shire[2] to IOGR2.
+# 7.3.2) OGC calls RF@bree to craate hobbit@bree[3]
+# 7.3.2.1) OGC calls FD@bree to create FaultDetector for hobbit@bree[3]
+# 7.3.2.2) OGC adds hobbit@bree[3] to IOGR3.
+# 8) Start client1 with IOGR1
+# 8.1) Hobbit@shire[1] fails. FD sends notification FN.
+# 8.1.1) FN sends notification to RM.
+# 8.1.2) RM removes hobbit@shire[1] from IOGR1.
+# 8.2) Client1 terminates itself and hobbit@bree[1].
+# 9) Start Cient2 with IOGR2.
+# 9.1) Repeat 8.1 & 8.2 using IOGR3.
+# 10) Start Cient3 with IOGR3.
+# 10.1) Repeat 8.1 & 8.2 using IOGR3.
+# 11) System manages to shut itself down.
+
+use lib '../../../../bin';
+#use lib '$ENV{ACE_ROOT}/bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+my($simulated) = 1; # 1: use "client simulated" fault tolerance
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "--no_simulate") # reverse this once we have FT ORB support
+ {
+ $simulated = 0;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+ print "simulated: $simulated\n";
+}
+
+my($role1) = "hobbit";
+my($role2) = "elf";
+
+my($location1) = "shire";
+my($location2) = "bree";
+my($location3) = "rivendell";
+
+my ($rm_endpoint) = "-ORBEndpoint iiop://localhost:2833";
+my ($rm_initref) = "-ORBInitRef ReplicationManager=corbaloc::localhost:2833/ReplicationManager";
+
+#define temp files
+my($rm_ior) = PerlACE::LocalFile ("rm.ior");
+my($notifier_ior) = PerlACE::LocalFile ("notifier.ior");
+my($detector1_ior) = PerlACE::LocalFile ("detector1.ior");
+my($detector2_ior) = PerlACE::LocalFile ("detector2.ior");
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($factory3_ior) = PerlACE::LocalFile ("factory3.ior");
+my($replica1_ior) = PerlACE::LocalFile ("${role1}_${location1}_0.ior");
+my($replica2_ior) = PerlACE::LocalFile ("${role1}_${location2}_0.ior");
+my($replica3_ior) = PerlACE::LocalFile ("${role2}_${location2}_1.ior");
+my($replica4_ior) = PerlACE::LocalFile ("${role2}_${location3}_0.ior");
+my($replica5_ior) = PerlACE::LocalFile ("${role1}_${location1}_1.ior");
+my($replica6_ior) = PerlACE::LocalFile ("${role1}_${location2}_2.ior");
+
+my($replica1_iogr) = PerlACE::LocalFile ("${role1}_0.iogr");
+my($replica2_iogr) = PerlACE::LocalFile ("${role2}_1.iogr");
+my($replica3_iogr) = PerlACE::LocalFile ("${role1}_2.iogr");
+
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $rm_ior;
+unlink $notifier_ior;
+unlink $detector1_ior;
+unlink $detector2_ior;
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $factory3_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $replica3_ior;
+unlink $replica4_ior;
+unlink $replica5_ior;
+unlink $replica6_ior;
+unlink $replica1_iogr;
+unlink $replica2_iogr;
+
+unlink $client_data;
+
+my($status) = 0;
+
+my($RM) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/FT_ReplicationManager$build_directory/FT_ReplicationManager", "-o $rm_ior $rm_endpoint");
+my($RMC) = new PerlACE::Process (".$build_directory/replmgr_controller", "$rm_initref -x");
+my($NOT) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Notifier$build_directory/Fault_Notifier", "$rm_initref -o $notifier_ior -q");
+my($DET1) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Detector$build_directory/Fault_Detector", "$rm_initref -o $detector1_ior -l $location1 -q");
+my($DET2) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Detector$build_directory/Fault_Detector", "$rm_initref -o $detector2_ior -l $location2 -q");
+my($FAC1) = new PerlACE::Process (".$build_directory/ft_replica", "$rm_initref -o $factory1_ior -l $location1 -i $role1 -q");
+my($FAC2) = new PerlACE::Process (".$build_directory/ft_replica", "$rm_initref -o $factory2_ior -l $location2 -i $role1 -i $role2 -q");
+my($FAC3) = new PerlACE::Process (".$build_directory/ft_replica", "$rm_initref -o $factory3_ior -l $location3 -i $role2 -q");
+
+my($OGC);
+my($CL1);
+my($CL2);
+my($CL3);
+if ($simulated) {
+ print "\nTEST: Preparing Client Mediated Fault Tolerance test.\n" if ($verbose);
+ $OGC= new PerlACE::Process (".$build_directory/ft_create", "$rm_initref -r $role1 -r $role2 -r $role1 -i -n");
+ $CL1 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+ $CL2 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica3_ior -f file://$replica4_ior -c testscript");
+ $CL3 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica5_ior -f file://$replica6_ior -c testscript");
+}else{
+ print "\nTEST: Preparing IOGR based test.\n" if ($verbose);
+ $OGC = new PerlACE::Process (".$build_directory/ft_create", "$rm_initref -r $role1 -r $role2 -r $role1 -g -n");
+ $CL1 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_iogr -c testscript");
+ $CL2 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica2_iogr -c testscript");
+ $CL3 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica3_iogr -c testscript");
+}
+
+#######################
+# Start ReplicationManager
+
+print "\nTEST: Starting ReplicationManager " . $RM->CommandLine . "\n" if ($verbose);
+$RM->Spawn ();
+
+print "TEST: waiting for registry's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($rm_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$rm_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ exit 1;
+}
+
+#######################
+# Start FaultNotifier
+print "\nTEST: Starting FaultNotifier " . $NOT->CommandLine . "\n" if ($verbose);
+$NOT->Spawn ();
+
+print "TEST: waiting for FaultNotifier's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($notifier_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$notifier_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ exit 1;
+}
+
+
+##############################
+# Start FaultDetectorFactory 1
+print "\nTEST: Starting FaultDetectorFactory at $location1 " . $DET1->CommandLine . "\n" if ($verbose);
+$DET1->Spawn ();
+
+print "TEST: waiting for FaultDetector's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($detector1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$detector1_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ $DET1->Kill (); $DET1->TimedWait (1);
+ exit 1;
+}
+
+##############################
+# Start FaultDetectorFactory 2
+print "\nTEST: Starting FaultDetectorFactory at $location2 " . $DET2->CommandLine . "\n" if ($verbose);
+$DET2->Spawn ();
+
+print "TEST: waiting for FaultDetector's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($detector2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$detector2_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ $DET1->Kill (); $DET1->TimedWait (1);
+ $DET2->Kill (); $DET2->TimedWait (1);
+ exit 1;
+}
+
+
+#################
+# Start Factories
+
+print "\nTEST: Starting replica factory at $location1 " . $FAC1->CommandLine . "\n" if ($verbose);
+$FAC1->Spawn ();
+
+print "TEST: waiting for factory 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory1_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ $DET1->Kill (); $DET1->TimedWait (1);
+ $DET2->Kill (); $DET2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: Starting replica factory at $location2 " . $FAC2->CommandLine . "\n" if ($verbose);
+$FAC2->Spawn ();
+
+print "TEST: waiting for factory 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory2_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ $DET1->Kill (); $DET1->TimedWait (1);
+ $DET2->Kill (); $DET2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: Starting replica factory at $location3 " . $FAC3->CommandLine . "\n" if ($verbose);
+$FAC3->Spawn ();
+
+print "TEST: waiting for factory 3's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory3_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory3_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ $DET1->Kill (); $DET1->TimedWait (1);
+ $DET2->Kill (); $DET2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ exit 1;
+}
+
+######################
+# Create object groups
+
+print "\nTEST: Starting object group creator " . $OGC->CommandLine . "\n" if ($verbose);
+$OGC->Spawn ();
+
+print "\nTEST: wait for object group creator.\n" if ($verbose);
+$config = $OGC->WaitKill (30);
+if ($config != 0) {
+ print STDERR "TEST ERROR: Object Group Creator returned $config\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait (1);
+ $DET1->Kill (); $DET1->TimedWait (1);
+ $DET2->Kill (); $DET2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ exit 1;
+}
+
+#############
+# Run clients
+
+print "\nTEST: Starting client using first group of hobbits " . $CL1->CommandLine . "\n" if ($verbose);
+$client = $CL1->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: Starting client using group of elves " . $CL2->CommandLine . "\n" if ($verbose);
+$client2 = $CL2->SpawnWaitKill (60);
+
+if ($client2 != 0) {
+ print STDERR "TEST ERROR: client returned $client2\n";
+ $status = 1;
+}
+
+print "\nTEST: Starting client using second group of hobbits " . $CL3->CommandLine . "\n" if ($verbose);
+$client3 = $CL3->SpawnWaitKill (60);
+
+if ($client3 != 0) {
+ print STDERR "TEST ERROR: client returned $client3\n";
+ $status = 1;
+}
+
+######################
+# Clean house and exit
+
+print "\nTEST: wait for factory 1.\n" if ($verbose);
+$factory1 = $FAC1->WaitKill (30);
+if ($factory1 != 0) {
+ print STDERR "TEST ERROR: replica returned $factory 1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for factory 2.\n" if ($verbose);
+$factory2 = $FAC2->WaitKill (30);
+if ($factory2 != 0) {
+ print STDERR "TEST ERROR: factory 2 returned $factory2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for factory 3.\n" if ($verbose);
+$factory3 = $FAC3->WaitKill (30);
+if ($factory3 != 0) {
+ print STDERR "TEST ERROR: factory 3 returned $factory3\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for FaultDetectorFactory 1.\n" if ($verbose);
+$detector1 = $DET1->WaitKill (30);
+if ($detector1 != 0) {
+ print STDERR "TEST ERROR: FaultDetectorFactory returned $detector1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for FaultDetectorFactory 2.\n" if ($verbose);
+$detector2 = $DET2->WaitKill (30);
+if ($detector2 != 0) {
+ print STDERR "TEST ERROR: FaultDetectorFactory returned $detector2\n";
+ $status = 1;
+}
+
+print "\nTEST: shutting down the replication manager.\n" if ($verbose);
+$controller = $RMC->SpawnWaitKill (300);
+if ($controller != 0) {
+ print STDERR "TEST ERROR: replication manager controller returned $controller\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for ReplicationManager.\n" if ($verbose);
+#$RM->Kill ();
+$repmgr = $RM->WaitKill (30);
+if ($repmgr != 0) {
+ print STDERR "TEST ERROR: ReplicationManager returned $repmgr\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for FaultNotifier.\n" if ($verbose);
+$notifier = $NOT->WaitKill (30);
+if ($notifier != 0) {
+ print STDERR "TEST ERROR: FaultNotifier returned $notifier\n";
+ $status = 1;
+}
+
+if ($status == 0 && 0) {
+ print "\nTEST: releasing scratch files.\n" if ($verbose);
+ unlink $rm_ior;
+ unlink $detector1_ior;
+ unlink $detector2_ior;
+ unlink $notifier_ior;
+ unlink $factory1_ior;
+ unlink $factory2_ior;
+ unlink $factory3_ior;
+ unlink $replica1_ior;
+ unlink $replica2_ior;
+ unlink $replica3_ior;
+ unlink $replica4_ior;
+ unlink $replica5_ior;
+ unlink $replica6_ior;
+ unlink $replica1_iogr;
+ unlink $replica2_iogr;
+
+ unlink $client_data;
+}
+
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_detector.pl b/TAO/orbsvcs/tests/FT_App/run_test_detector.pl
new file mode 100755
index 00000000000..f7886fb6dab
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_detector.pl
@@ -0,0 +1,221 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# To test the FaultDetectorFactory and FaultDetectors
+#
+# Command line options:
+# --debug_build use exes from this directory
+# if not specified use exes from ./release
+# -v display test progress messages (repeating option increases verbosity
+#
+# Process being tested:
+# Fault_Detector
+# implements FaultDetectorFactory interface
+# implements PullMonitorable interface
+#
+# Processes used in test:
+# FT_Replica
+# implements TestReplica interface.
+# implements PullMonitorable.
+# StubNotifier
+# implements FaultNotifier interface (as a stub.)
+# implements PullMonitorable.
+# client for FaultDetectorFactory interface.
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+#
+# Test Scenario ( ***Test: marks behavior being tested):
+# Start two FT_Replicas
+# FT_Replicas write TestReplica IORs (FR#1 and FR#2) to files
+# Start the Fault_Detector
+# Fault_Detector writes its IOR (FDF) to a file
+# Wait for IORs: FR#1, FR#2, and FDF
+# Start the StubNotifier giving it IORS: FR#1, FR#2 and FDF
+# StubNotifier calls FDF to create a FaultDetector
+# for each Replica.
+# StubNotifier writes FaultNotifier IOR (FN) to a file.
+# Wait for IOR: FN
+# Start FT_Client giving it IORS: FR#1 and FR#2.
+# FT_Client interacts with FR#1.
+# FT_Client asks FR#1 to fault. It does so.
+# FT_Client notices fault and switches to FR#2.
+# ***Test: FD#1 notices fault and notifies StubNotifier
+# ***Test: FD#1 terminates
+# FT_Client interacts with FR#2.
+# FT_Client asks FR#2 to shut down.
+# FT_Client shuts down.
+# ***Test: FD#2 notices FR2 is gone, interprets this
+# as a fault, and notifies StubNotifier.
+# ***Test: FD#2 terminates.
+# Shut down
+# ***Test: FDF is idle, so it terminates.
+# StubNotifier sees FDF terminate, so it terminates
+# Cleanup
+# Wait for all processes to terminate.
+# Check termination status.
+# Delete temp files.
+#
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them; 2 display settings from command line
+my($debug_builds) = 0; # 0: use exes from Release directories
+my($simulated) = 1; # 1: use "client simulated" fault tolerance
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+ print "simulated: $simulated\n";
+}
+
+
+#define temp files
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($replica1_ior) = PerlACE::LocalFile ("replica1.ior");
+my($replica2_ior) = PerlACE::LocalFile ("replica2.ior");
+my($detector_ior) = PerlACE::LocalFile ("detector.ior");
+my($notifier_ior) = PerlACE::LocalFile ("notifier.ior");
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink #client_data
+
+my($status) = 0;
+
+my ($rm_endpoint) = "-ORBEndpoint iiop://localhost:2833";
+my ($rm_initref) = "-ORBInitRef ReplicationManager=corbaloc::localhost:2833/ReplicationManager";
+
+
+my($REP1) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory1_ior -f none -t $replica1_ior -l loc1 -i type1 -q");
+my($REP2) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory2_ior -f none -t $replica2_ior -l loc2 -i type1 -q");
+my($DET) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Detector$build_directory/Fault_Detector", "$rm_initref -o $detector_ior -q");
+my($NOT) = new PerlACE::Process (".$build_directory/ft_notifier", "-o $notifier_ior -q -d file://$detector_ior -r file://$replica1_ior -r file://$replica2_ior");
+my($CL) = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+
+print "TEST: starting replica1 ". $REP1->CommandLine . "\n" if ($verbose);
+$REP1->Spawn ();
+
+print "TEST: waiting for replica 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica1_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting replica2 " . $REP2->CommandLine . "\n" if ($verbose);
+$REP2->Spawn ();
+
+print "TEST: waiting for replica 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica2_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting detector factory " . $DET->CommandLine . "\n" if ($verbose);
+$DET->Spawn ();
+
+print "TEST: waiting for detector's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($detector_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$detector_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting notifier " . $NOT->CommandLine . "\n" if ($verbose);
+$NOT->Spawn ();
+
+print "TEST: waiting for notifier's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($notifier_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$notifier_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting client." . $CL->CommandLine . "\n" if ($verbose);
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 1.\n" if ($verbose);
+$replica1 = $REP1->WaitKill (60);
+if ($replica1 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 2.\n" if ($verbose);
+$replica2 = $REP2->WaitKill (60);
+if ($replica2 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for detector factory to leave.\n" if ($verbose);
+$detector = $DET->WaitKill (60);
+if ($detector != 0) {
+ print STDERR "TEST ERROR: detector returned $detector\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for notifier to leave.\n" if ($verbose);
+$notifier = $NOT->WaitKill (60);
+if ($notifier != 0) {
+ print STDERR "TEST ERROR: notifier returned $notifier\n";
+ $status = 1;
+}
+
+print "\nTEST: releasing scratch files.\n" if ($verbose);
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+
+#client's work file
+unlink #client_data;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_fault_consumer.pl b/TAO/orbsvcs/tests/FT_App/run_test_fault_consumer.pl
new file mode 100755
index 00000000000..bfb3f98db2a
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_fault_consumer.pl
@@ -0,0 +1,270 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# To test the FaultConsumer
+#
+# Process being tested:
+# Fault_Consumer
+# implements FaultConsumer interface.
+# Processes used in test:
+# FT_Replica
+# implements TestReplica interface.
+# implements PullMonitorable.
+# Fault_Detector
+# implements FaultDetectorFactory interface
+# implements PullMonitorable interface
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+# Fault_Notifier
+# implements the FaultNotifier interface.
+# propagates fault reports to the FaultConsumer.
+#
+# Test Scenario (***Test: marks behavior being tested):
+# Phase 1:
+# Start two FT_Replicas
+# FT_Replicas write TestReplica IORs (FR#1 and FR#2) to files
+# Start the Fault_Detector
+# Fault_Detector writes its IOR (FDF) to a file
+# Start the Fault_Notifier
+# Fault_Notifier writes its IOR (FN) to a file.
+# Start the Fault_Consumer
+# Subscribes to the Fault_Notifier for fault reports.
+# Phase 2:
+# Wait for IORs: FR#1, FR#2, FDF, and FN
+# Start the StubAnalyzer giving it IORS: FR#1, FR#2 FDF, FN
+# StubAnalyzer calls FDF to create a FaultDetector
+# for each Replica.
+# StubAnalyzer subscribes to Fault_Notifier
+# StubAnalyzer writes dummy message(READY) to a file.
+# Phase 3:
+# Wait for READY
+# Start FT_Client giving it IORS: FR#1 and FR#2. [1]
+# FT_Client interacts with FR#1.
+# FT_Client asks FR#1 to fault. It does so.
+# FT_Client notices fault and switches to FR#2. [1]
+# FD#1 notices fault and notifies Fault_Notifier
+# FD#1 terminates
+# ***Test: Fault_Notifier forwards notification to StubAnalyzer
+# StubAnalyzer prints notification.
+# FT_Client interacts with FR#2.
+# FT_Client asks FR#2 to shut down.
+# FT_Client shuts down.
+# FD#2 notices FR2 is gone, interprets this
+# as a fault, and sends notification to Fault_Notifier
+# FD#2 terminates.
+# ***Test: Fault_Notifier forwards notification to StubAnalyzer
+# StubAnalyzer prints notification.
+# Phase 4: shutting down.
+# All FaultDetectors have terminated so the FaultDetectorFactory
+# honors the "quit-on-idle" option on it's command line and exits.
+# StubAnalyzer compares # fault notifications to # replicas. When
+# they match, it "knows" that the test is over, so it shuts down.
+# As it does so, it disconnects its fault consumers from the FaultNotifier.
+# FaultNotifier notices the last fault consumer disconnecting and exits because
+# the "quit-on-idle" option was specified on the command line.
+# Phase 5: housekeeping
+# Wait for all processes to terminate.
+# Check termination status.
+# Delete temp files.
+#
+# [1] Client mediated fault tolerance. These points will
+# change when IOGR support is available.
+use lib '../../../../bin';
+#use lib '$ENV{ACE_ROOT}/bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+my($simulated) = 1; # 1: use "client simulated" fault tolerance
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "--no_simulate") # reverse this once we have FT ORB support
+ {
+ $simulated = 0;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+ print "simulated: $simulated\n";
+}
+
+
+#define temp files
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($replica1_ior) = PerlACE::LocalFile ("replica1.ior");
+my($replica2_ior) = PerlACE::LocalFile ("replica2.ior");
+my($detector_ior) = PerlACE::LocalFile ("detector.ior");
+my($notifier_ior) = PerlACE::LocalFile ("notifier.ior");
+my($ready_file) = PerlACE::LocalFile ("ready.file");
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink $ready_file;
+unlink $client_data;
+
+my ($rm_endpoint) = "-ORBEndpoint iiop://localhost:2833";
+my ($rm_initref) = "-ORBInitRef ReplicationManager=corbaloc::localhost:2833/ReplicationManager";
+
+my($status) = 0;
+
+my($REP1) = new PerlACE::Process (".$build_directory/ft_replica", "-f none -o $factory1_ior -t $replica1_ior -l loc1 -i type1 -q");
+my($REP2) = new PerlACE::Process (".$build_directory/ft_replica", "-f none -o $factory2_ior -t $replica2_ior -l loc2 -i type1 -q");
+my($DET) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Detector$build_directory/Fault_Detector", "-r -o $detector_ior -q");
+my($NOT) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Notifier$build_directory/Fault_Notifier", "-r -o $notifier_ior -q");
+my($CONS) = new PerlACE::Process (".$build_directory/ft_fault_consumer", "-o $ready_file -n file://$notifier_ior -q -d file://$detector_ior -r file://$replica1_ior -r file://$replica2_ior");
+
+my($CL);
+if ($simulated) {
+ print "\nTEST: Preparing Client Mediated Fault Tolerance test.\n" if ($verbose);
+ $CL = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+}else{
+ print "\nTEST: Preparing IOGR based test.\n" if ($verbose);
+ $CL = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_iogr -c testscript");
+}
+
+print "TEST: starting replica1 " . $REP1->CommandLine . "\n" if ($verbose);
+$REP1->Spawn ();
+
+print "TEST: waiting for replica 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica1_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting replica2 " . $REP2->CommandLine . "\n" if ($verbose);
+$REP2->Spawn ();
+
+print "TEST: waiting for replica 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica2_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting detector factory " . $DET->CommandLine . "\n" if ($verbose);
+$DET->Spawn ();
+
+print "TEST: waiting for detector's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($detector_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$detector_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting notifier " . $NOT->CommandLine . "\n" if ($verbose);
+$NOT->Spawn ();
+
+print "TEST: waiting for notifier's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($notifier_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$notifier_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET->TimedWait(1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting fault consumer " . $CONS->CommandLine . "\n" if ($verbose);
+$CONS->Spawn ();
+
+print "TEST: waiting for READY.FILE from fault consumer\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($ready_file, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$ready_file>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET->TimedWait(1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $CONS->Kill (); $CONS->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting client " . $CL->CommandLine . "\n" if ($verbose);
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 1.\n" if ($verbose);
+$replica1 = $REP1->WaitKill (5);
+if ($replica1 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 2.\n" if ($verbose);
+$replica2 = $REP2->WaitKill (5);
+if ($replica2 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for detector factory to leave.\n" if ($verbose);
+$detector = $DET->WaitKill (20);
+if ($detector != 0) {
+ print STDERR "TEST ERROR: detector returned $detector\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for notifier to leave.\n" if ($verbose);
+$notifier = $NOT->WaitKill (20);
+if ($notifier != 0) {
+ print STDERR "TEST ERROR: notifier returned $notifier\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for fault consumer to leave.\n" if ($verbose);
+$consumer = $CONS->WaitKill (20);
+if ($consumer != 0) {
+ print STDERR "TEST ERROR: fault consumer returned $consumer\n";
+ $status = 1;
+}
+
+print "\nTEST: releasing scratch files.\n" if ($verbose);
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink $ready_file;
+
+#client's work file
+unlink $client_data;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_notifier.pl b/TAO/orbsvcs/tests/FT_App/run_test_notifier.pl
new file mode 100755
index 00000000000..521860b7ac3
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_notifier.pl
@@ -0,0 +1,248 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# To test the FaultNotifier
+#
+# Command line options:
+# --debug_build use exes from this directory
+# if not specified use exes from ./release
+# -v display test progress messages (repeating option increases verbosity
+#
+# Process being tested:
+# Fault_Notifier
+# implements FaultNotifier interface.
+# Processes used in test:
+# FT_Replica
+# implements TestReplica interface.
+# implements PullMonitorable.
+# Fault_Detector
+# implements FaultDetectorFactory interface
+# implements PullMonitorable interface
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+# StubAnalyzer
+# Subscribes to Fault_Notfier
+#
+# Test Scenario (***Test: marks behavior being tested):
+# Start two FT_Replicas
+# FT_Replicas write TestReplica IORs (FR#1 and FR#2) to files
+# Start the Fault_Detector
+# Fault_Detector writes its IOR (FDF) to a file
+# Start the Fault_Notifier
+# Fault_Notifier writes its IOR (FN) to a file.
+# Start the StubAnalyzer giving it IORS: FR#1, FR#2 FDF, FN
+# StubAnalyzer calls FDF to create a FaultDetector
+# for each Replica.
+# StubAnalyzer subscribes to Fault_Notifier
+# StubAnalyzer writes dummy message(READY) to a file.
+# Wait for READY
+# Start FT_Client giving it IORS: FR#1 and FR#2.
+# FT_Client interacts with FR#1.
+# FT_Client asks FR#1 to fault. It does so.
+# FT_Client notices fault and switches to FR#2.
+# FD#1 notices fault and notifies Fault_Notifier
+# FD#1 terminates
+# ***Test: Fault_Notifier forwards notification to StubAnalyzer
+# StubAnalyzer prints notification.
+# FT_Client interacts with FR#2.
+# FT_Client asks FR#2 to shut down.
+# FT_Client shuts down.
+# FD#2 notices FR2 is gone, interprets this
+# as a fault, and sends notification to Fault_Notifier
+# FD#2 terminates.
+# ***Test: Fault_Notifier forwards notification to StubAnalyzer
+# StubAnalyzer prints notification.
+# Shutting down.
+# All FaultDetectors have terminated so the FaultDetectorFactory
+# honors the "quit-on-idle" option on it's command line and exits.
+# StubAnalyzer compares # fault notifications to # replicas. When
+# they match, it knows that the test is over, so it shuts down.
+# As it does so, it disconnects its fault consumers from the FaultNotifier.
+# FaultNotifier notices the last fault consumer disconnecting and exits because
+# the "quit-on-idle" option was specified on the command line.
+# Housekeeping
+# Wait for all processes to terminate.
+# Check termination status.
+# Delete temp files.
+#
+use lib '../../../../bin';
+#use lib '$ENV{ACE_ROOT}/bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+}
+
+
+#define temp files
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($replica1_ior) = PerlACE::LocalFile ("replica1.ior");
+my($replica2_ior) = PerlACE::LocalFile ("replica2.ior");
+my($detector_ior) = PerlACE::LocalFile ("detector.ior");
+my($notifier_ior) = PerlACE::LocalFile ("notifier.ior");
+my($ready_file) = PerlACE::LocalFile ("ready.file");
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink $ready_file;
+unlink $client_data;
+
+my($status) = 0;
+
+my($REP1) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory1_ior -f none -t $replica1_ior -l loc1 -i type1 -q");
+my($REP2) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory2_ior -f none -t $replica2_ior -l loc2 -i type1 -q");
+my($DET) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Detector$build_directory/Fault_Detector", "-r -o $detector_ior -q");
+my($NOT) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Notifier$build_directory/Fault_Notifier", "-r -o $notifier_ior -q");
+my($ANA) = new PerlACE::Process (".$build_directory/ft_analyzer", "-o $ready_file -n file://$notifier_ior -d file://$detector_ior -r file://$replica1_ior -r file://$replica2_ior -q");
+my($CL) = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+
+print "TEST: starting replica1 " . $REP1->CommandLine . "\n" if ($verbose);
+$REP1->Spawn ();
+
+print "TEST: waiting for replica 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica1_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting replica2 " . $REP2->CommandLine . "\n" if ($verbose);
+$REP2->Spawn ();
+
+print "TEST: waiting for replica 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica2_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting detector factory " . $DET->CommandLine . "\n" if ($verbose);
+$DET->Spawn ();
+
+print "TEST: waiting for detector's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($detector_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$detector_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting notifier " . $NOT->CommandLine . "\n" if ($verbose);
+$NOT->Spawn ();
+
+print "TEST: waiting for notifier's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($notifier_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$notifier_ior>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ $ANA->Kill (); $ANA->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting analyzer " . $ANA->CommandLine . "\n" if ($verbose);
+$ANA->Spawn ();
+
+print "TEST: waiting for READY.FILE from analyzer\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($ready_file, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$ready_file>\n";
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $ANA->Kill (); $ANA->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: starting client " . $CL->CommandLine . "\n" if ($verbose);
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 1.\n" if ($verbose);
+$replica1 = $REP1->WaitKill (5);
+if ($replica1 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 2.\n" if ($verbose);
+$replica2 = $REP2->WaitKill (5);
+if ($replica2 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for detector factory to leave.\n" if ($verbose);
+$detector = $DET->WaitKill (20);
+if ($detector != 0) {
+ print STDERR "TEST ERROR: detector returned $detector\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for notifier to leave.\n" if ($verbose);
+$notifier = $NOT->WaitKill (20);
+if ($notifier != 0) {
+ print STDERR "TEST ERROR: notifier returned $notifier\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for analyzer to leave.\n" if ($verbose);
+$analyzer = $ANA->WaitKill (20);
+if ($analyzer != 0) {
+ print STDERR "TEST ERROR: analyzer returned $analyzer\n";
+ $status = 1;
+}
+
+print "\nTEST: releasing scratch files.\n" if ($verbose);
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink $ready_file;
+
+#client's work file
+unlink $client_data;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_registry.pl b/TAO/orbsvcs/tests/FT_App/run_test_registry.pl
new file mode 100755
index 00000000000..dd73b739a52
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_registry.pl
@@ -0,0 +1,438 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# To test the FactoryRegistry either as a stand-alone application or as part
+# of the replication manager
+#
+# Command line options:
+# --debug_build use exes from this directory
+# if not specified use exes from ./release
+# -r use ReplicationManager rather than stand-alone factory
+# --no_simulate
+# use real IOGR-based recovery.
+# -v display test progress messages (repeating option increases verbosity
+#
+# Process being tested:
+# FT_Registry
+# implements PortableGroup::FactoryRegistry interface.
+# or
+# FT_ReplicationManager (if -r option is used)
+#
+# Processes used in test:
+# FT_Replica * 3
+# implements GenericFactory interface to create TestReplicas
+# TestReplica implements TestReplica interface.
+# TestReplica implements PullMonitorable interface.
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+# Object Group Creator
+# Creates groups of objects.
+#
+# Test Scenario (***Test: marks behavior being tested):
+#
+# First the test starts a factory registry,
+# Then starts three factories. Each factory exists at a separate location.
+# The locations are named shire, bree, and rivendell. In a "real" system
+# these locations would be on separate computers.
+#
+# The factory at the shire location knows how to create hobbits.
+# The factory at the bree location knows how to create hobbits, elves, and humans.
+# The factory at rivendell can create elves.
+# Hobbits, elves, and humans are actually TestReplica objects. A creation parameter
+# included as part of the registration information specifies which species they are.
+#
+# ***Test: The factories register themselves with the factory registry. Registration
+# information includes the location, the type of object created, a object reference
+# to the factory and set of parameters to be passed to the factory's create_object
+# method.
+#
+# An object group creator is started and asked to create three object groups:
+# a group of hobbits, a group of elves; and another group of hobbits.
+#
+# ***Test: the object group creator asks the registry for the set of factories
+# that can create the type of object needed, then uses the create_object method
+# for each factory to create the actual object.
+#
+# [temporary until IOGR's are working: The object group creator writes the
+# IOR's of the create objects to files -- using a file naming convention to
+# distinguish members of the group. It will be enhanced to assemble these
+# IORs into an IOGR and either write the IOGR to a file or register it with
+# the Naming Service.]
+#
+# The object group creator is also told to unregister all factories that create humans.
+# ***Test: It does so using the unregister_factory_by_type method.
+#
+# Three clients are started, one at a time. Each client is given a reference
+# to an object group
+#
+# [temporary until IOGRs and transparent reinvocaton work: each client is
+# given references to the members of the group and manages its own recovery
+# (client mediated fault tolerance)]
+#
+# Each client sends a few requests to first member of the object group. Eventually
+# this member fails and the requests are then rerouted to the second (and last)
+# member of the group.
+#
+# When a clients job is done, it exits and asks the remaining group member to
+# exit, too.
+#
+# The factories are run with the quit-on-idle option so when the last object
+# created at that location goes away, the factory exits.
+#
+# ***Test: As it exits the factory unregisters itself with the factory registry.
+# ***Test: A command line option determines whether it uses a single
+# unregister_factory_by_location call, or separate unregister_factory calles for
+# each type of object created. In this test, the shire location uses unregister_factory,
+# and bree and rivendell use unregister_factory_by_location.
+#
+# The factory registry is also run with the quit-on-idle option so when the last
+# factory unregisters itself, the factory registry shuts down to end the test.
+
+use lib '../../../../bin';
+#use lib '$ENV{ACE_ROOT}/bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+my($simulated) = 1; # 1: use "client simulated" fault tolerance
+my($use_rm) = 0; # 1: use replication manager; 0 use stand-alone factory registry
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "-r") # use RegistrationManager
+ {
+ $use_rm = 1
+ }
+ elsif ($i eq "--no_simulate") # reverse this once we have FT ORB support
+ {
+ $simulated = 0;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+ else
+ {
+ print "unknown option $i. Expecting: --debug_build, -r --no_simulate, -v\n";
+ exit(-1);
+ }
+}
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+ print "simulated: $simulated\n";
+}
+
+my($species1) = "hobbit";
+my($species2) = "elf";
+my($species3) = "human";
+my($location1) = "shire";
+my($location2) = "bree";
+my($location3) = "rivendell";
+my($location4) = "rohan";
+
+#define temp files
+my($rm_ior) = PerlACE::LocalFile ("rm.ior");
+my($registry_ior) = PerlACE::LocalFile ("registry.ior");
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($factory3_ior) = PerlACE::LocalFile ("factory3.ior");
+my($replica1_ior) = PerlACE::LocalFile ("${species1}_${location1}_0.ior");
+my($replica2_ior) = PerlACE::LocalFile ("${species1}_${location2}_0.ior");
+my($replica3_ior) = PerlACE::LocalFile ("${species2}_${location2}_1.ior");
+my($replica4_ior) = PerlACE::LocalFile ("${species2}_${location3}_0.ior");
+my($replica5_ior) = PerlACE::LocalFile ("${species1}_${location1}_1.ior");
+my($replica6_ior) = PerlACE::LocalFile ("${species1}_${location2}_2.ior");
+
+my($replica1_iogr) = PerlACE::LocalFile ("${species1}_0.iogr");
+my($replica2_iogr) = PerlACE::LocalFile ("${species2}_1.iogr");
+my($replica3_iogr) = PerlACE::LocalFile ("${species1}_2.iogr");
+
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $rm_ior;
+unlink $registry_ior;
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $factory3_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $replica3_ior;
+unlink $replica4_ior;
+unlink $replica5_ior;
+unlink $replica6_ior;
+unlink $replica1_iogr;
+unlink $replica2_iogr;
+
+unlink $client_data;
+
+my($status) = 0;
+
+my ($rm_endpoint) = "-ORBEndpoint iiop://localhost:2833";
+my ($registry_opt) = "-f file://$registry_ior";
+
+if ($use_rm) {
+ $registry_opt = "-ORBInitRef ReplicationManager=corbaloc::localhost:2833/ReplicationManager";
+}
+
+my($RM) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/FT_ReplicationManager$build_directory/FT_ReplicationManager", "-ORBDebugLevel 0 -o $rm_ior $rm_endpoint");
+my($RMC) = new PerlACE::Process (".$build_directory/replmgr_controller", "$registry_opt -x");
+my($REG) = new PerlACE::Process (".$build_directory/ft_registry", "-o $registry_ior -q");
+my($FAC1) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory1_ior $registry_opt -l $location1 -i $species1 -q");
+my($FAC2) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory2_ior $registry_opt -l $location2 -i $species1 -i $species2 -i $species3 -q -u");
+my($FAC3) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory3_ior $registry_opt -l $location3 -i $species2 -q -u");
+ # -n means no name service -i means write individual iors
+my($CTR) = new PerlACE::Process (".$build_directory/ft_create", "$registry_opt -r $species1 -r $species2 -r $species1 -u $species3 -n -i");
+
+my($CL1);
+my($CL2);
+my($CL3);
+if ($simulated)
+{
+ print "\nTEST: Preparing Client Mediated Fault Tolerance test.\n" if ($verbose);
+ $CL1 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+ $CL2 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica3_ior -f file://$replica4_ior -c testscript");
+ $CL3 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica5_ior -f file://$replica6_ior -c testscript");
+}
+else
+{
+ print "\nTEST: Preparing IOGR based test.\n" if ($verbose);
+ $CL1 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_iogr -c testscript");
+ $CL2 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica2_iogr -c testscript");
+ $CL3 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica3_iogr -c testscript");
+}
+
+#######################
+# Start FactoryRegistry
+if ($use_rm)
+{
+ print "\nTEST: starting ReplicationManager " . $RM->CommandLine . "\n" if ($verbose);
+ $RM->Spawn ();
+
+ print "TEST: waiting for registry's IOR\n" if ($verbose);
+ if (PerlACE::waitforfile_timed ($rm_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$rm_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ exit 1;
+ }
+}
+else
+{
+ print "\nTEST: starting registry " . $REG->CommandLine . "\n" if ($verbose);
+ $REG->Spawn ();
+
+ print "TEST: waiting for registry's IOR\n" if ($verbose);
+ if (PerlACE::waitforfile_timed ($registry_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$registry_ior>\n";
+ $REG->Kill (); $REG->TimedWait (1);
+ exit 1;
+ }
+}
+
+#################
+# Start Factories
+
+print "\nTEST: starting factory 1 " . $FAC1->CommandLine . "\n" if ($verbose);
+$FAC1->Spawn ();
+
+print "TEST: waiting for factory 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory1_ior>\n";
+ $REG->Kill (); $REG->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting factory 2 " . $FAC2->CommandLine . "\n" if ($verbose);
+$FAC2->Spawn ();
+
+print "TEST: waiting for factory 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory2_ior>\n";
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $REG->Kill (); $REG->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting factory 3 " . $FAC3->CommandLine . "\n" if ($verbose);
+$FAC3->Spawn ();
+
+print "TEST: waiting for factory 3's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory3_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory3_ior>\n";
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $REG->Kill (); $REG->TimedWait (1);
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ exit 1;
+}
+
+######################
+# Create object groups
+
+print "\nTEST: starting object group creator " . $CTR->CommandLine . "\n" if ($verbose);
+$CTR->Spawn ();
+
+print "TEST: waiting for Replica IOR files from object group creator\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica1_ior>\n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica2_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica3_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica3_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica4_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica4_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica5_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica5_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica6_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica6_ior> \n";
+ $status = 1;
+}
+
+if($status != 0){
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $REG->Kill (); $REG->TimedWait (1);
+ $CTR->Kill (); $CTR->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: wait for object group creator.\n" if ($verbose);
+$config = $CTR->WaitKill (5);
+if ($config != 0) {
+ print STDERR "TEST ERROR: configuration manager returned $config\n";
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $REG->Kill (); $REG->TimedWait (1);
+ exit 1;
+}
+
+
+#############
+# Run clients
+
+print "\nTEST: starting client " . $CL1->CommandLine . "\n" if ($verbose);
+$client = $CL1->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: starting client again " . $CL2->CommandLine . "\n" if ($verbose);
+$client2 = $CL2->SpawnWaitKill (60);
+
+if ($client2 != 0) {
+ print STDERR "TEST ERROR: client returned $client2\n";
+ $status = 1;
+}
+
+print "\nTEST: starting client, one more time with feeling " . $CL3->CommandLine . "\n" if ($verbose);
+$client3 = $CL3->SpawnWaitKill (60);
+
+if ($client3 != 0) {
+ print STDERR "TEST ERROR: client returned $client3\n";
+ $status = 1;
+}
+
+######################
+# Clean house and exit
+
+print "\nTEST: wait for factory 1.\n" if ($verbose);
+$factory1 = $FAC1->WaitKill (30);
+if ($factory1 != 0) {
+ print STDERR "TEST ERROR: replica returned $factory 1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for factory 2.\n" if ($verbose);
+$factory2 = $FAC2->WaitKill (30);
+if ($factory2 != 0) {
+ print STDERR "TEST ERROR: factory 2 returned $factory2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for factory 3.\n" if ($verbose);
+$factory3 = $FAC3->WaitKill (30);
+if ($factory3 != 0) {
+ print STDERR "TEST ERROR: factory 3 returned $factory3\n";
+ $status = 1;
+}
+
+if ($use_rm)
+{
+ print "\nTEST: shutting down the replication manager.\n" if ($verbose);
+ $controller = $RMC->SpawnWaitKill (300);
+ if ($controller != 0) {
+ print STDERR "TEST ERROR: replication manager controller returned $controller\n";
+ $status = 1;
+ }
+
+ print "\nTEST: wait for ReplicationManager.\n" if ($verbose);
+ #$RM->Kill ();
+ $repmgr = $RM->WaitKill (30);
+ if ($repmgr != 0) {
+ print STDERR "TEST ERROR: ReplicationManager returned $repmgr\n";
+ $status = 1;
+ }
+}
+else
+{
+ print "\nTEST: wait for FactoryRegistry.\n" if ($verbose);
+ $registry = $REG->WaitKill (30);
+ if ($registry != 0) {
+ print STDERR "TEST ERROR: FactoryRegistry returned $registry\n";
+ $status = 1;
+ }
+}
+print "\nTEST: releasing scratch files.\n" if ($verbose);
+unlink $rm_ior;
+unlink $registry_ior;
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $factory3_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $replica3_ior;
+unlink $replica4_ior;
+unlink $replica5_ior;
+unlink $replica6_ior;
+unlink $replica1_iogr;
+unlink $replica2_iogr;
+
+unlink $client_data;
+
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_rmnotifier.pl b/TAO/orbsvcs/tests/FT_App/run_test_rmnotifier.pl
new file mode 100755
index 00000000000..b5023240650
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_rmnotifier.pl
@@ -0,0 +1,319 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# To test the FaultNotifier
+#
+# Process being tested:
+# Fault_Notifier
+# implements FaultNotifier interface.
+# Processes used in test:
+# ReplicationManager
+#
+# FT_Replica
+# implements TestReplica interface.
+# implements PullMonitorable.
+# Fault_Detector
+# implements FaultDetectorFactory interface
+# implements PullMonitorable interface
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+# StubAnalyzer
+# Subscribes to Fault_Notfier
+#
+# Test Scenario (***Test: marks behavior being tested):
+# Phase 1:
+# Start two FT_Replicas
+# FT_Replicas write TestReplica IORs (FR#1 and FR#2) to files
+# Start the Fault_Detector
+# Fault_Detector writes its IOR (FDF) to a file
+# Start the Fault_Notifier
+# Fault_Notifier writes its IOR (FN) to a file.
+# Phase 2:
+# Wait for IORs: FR#1, FR#2, FDF, and FN
+# Start the StubAnalyzer giving it IORS: FR#1, FR#2 FDF, FN
+# StubAnalyzer calls FDF to create a FaultDetector
+# for each Replica.
+# StubAnalyzer subscribes to Fault_Notifier
+# StubAnalyzer writes dummy message(READY) to a file.
+# Phase 3:
+# Wait for READY
+# Start FT_Client giving it IORS: FR#1 and FR#2. [1]
+# FT_Client interacts with FR#1.
+# FT_Client asks FR#1 to fault. It does so.
+# FT_Client notices fault and switches to FR#2. [1]
+# FD#1 notices fault and notifies Fault_Notifier
+# FD#1 terminates
+# ***Test: Fault_Notifier forwards notification to StubAnalyzer
+# StubAnalyzer prints notification.
+# FT_Client interacts with FR#2.
+# FT_Client asks FR#2 to shut down.
+# FT_Client shuts down.
+# FD#2 notices FR2 is gone, interprets this
+# as a fault, and sends notification to Fault_Notifier
+# FD#2 terminates.
+# ***Test: Fault_Notifier forwards notification to StubAnalyzer
+# StubAnalyzer prints notification.
+# Phase 4: shutting down.
+# All FaultDetectors have terminated so the FaultDetectorFactory
+# honors the "quit-on-idle" option on it's command line and exits.
+# StubAnalyzer compares # fault notifications to # replicas. When
+# they match, it "knows" that the test is over, so it shuts down.
+# As it does so, it disconnects its fault consumers from the FaultNotifier.
+# FaultNotifier notices the last fault consumer disconnecting and exits because
+# the "quit-on-idle" option was specified on the command line.
+# Phase 5: housekeeping
+# Wait for all processes to terminate.
+# Check termination status.
+# Delete temp files.
+#
+# [1] Client mediated fault tolerance. These points will
+# change when IOGR support is available.
+use lib '../../../../bin';
+#use lib '$ENV{ACE_ROOT}/bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+my($simulated) = 1; # 1: use "client simulated" fault tolerance
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "--no_simulate") # reverse this once we have FT ORB support
+ {
+ $simulated = 0;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+ print "simulated: $simulated\n";
+}
+
+#define temp files
+my ($rm_endpoint) = "-ORBEndpoint iiop://localhost:2833";
+my ($rm_initref) = "-ORBInitRef ReplicationManager=corbaloc::localhost:2833/ReplicationManager";
+my($rm_ior) = PerlACE::LocalFile ("rm.ior");
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($replica1_ior) = PerlACE::LocalFile ("replica1.ior");
+my($replica2_ior) = PerlACE::LocalFile ("replica2.ior");
+my($detector_ior) = PerlACE::LocalFile ("detector.ior");
+my($notifier_ior) = PerlACE::LocalFile ("notifier.ior");
+my($ready_file) = PerlACE::LocalFile ("ready.file");
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $rm_ior;
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink $ready_file;
+unlink $client_data;
+
+my($status) = 0;
+
+my($RM) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/FT_ReplicationManager$build_directory/FT_ReplicationManager", "-o $rm_ior $rm_endpoint");
+my($RMC) = new PerlACE::Process (".$build_directory/replmgr_controller", "$rm_initref -x");
+my($REP1) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory1_ior -f none -t $replica1_ior -l loc1 -i type1 -q");
+my($REP2) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory2_ior -f none -t $replica2_ior -l loc2 -i type1 -q");
+my($DET) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Detector$build_directory/Fault_Detector", "$rm_initref -o $detector_ior -q");
+my($NOT) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/Fault_Notifier$build_directory/Fault_Notifier", "$rm_initref -o $notifier_ior -q");
+my($ANA) = new PerlACE::Process (".$build_directory/ft_analyzer", "-o $ready_file -n file://$notifier_ior -d file://$detector_ior -r file://$replica1_ior -r file://$replica2_ior -q");
+
+my($CL);
+if ($simulated) {
+ print "\nTEST: Preparing Client Mediated Fault Tolerance test.\n" if ($verbose);
+ $CL = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+}else{
+ print "\nTEST: Preparing IOGR based test.\n" if ($verbose);
+ $CL = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_iogr -c testscript");
+}
+
+#######################
+# ReplicationManager
+
+print "\nTEST: starting ReplicationManager " . $RM->CommandLine . "\n" if ($verbose);
+$RM->Spawn ();
+
+print "TEST: waiting for registry's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($rm_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$rm_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ exit 1;
+}
+
+##########
+# Notifier
+print "\nTEST: starting notifier " . $NOT->CommandLine . "\n" if ($verbose);
+$NOT->Spawn ();
+
+print "TEST: waiting for notifier's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($notifier_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$notifier_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ exit 1;
+}
+
+##########
+# Detector
+print "\nTEST: starting detector factory " . $DET->CommandLine . "\n" if ($verbose);
+$DET->Spawn ();
+
+print "TEST: waiting for detector's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($detector_ior, 20) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$detector_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ exit 1;
+}
+
+###########
+# Replica 1
+print "\nTEST: starting replica1 " . $REP1->CommandLine . "\n" if ($verbose);
+$REP1->Spawn ();
+
+print "TEST: waiting for replica 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica1_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $DET->Kill (); $DET->TimedWait(1);
+ $REP1->Kill (); $REP1->TimedWait (1);
+ exit 1;
+}
+
+###########
+# Replica 2
+print "\nTEST: starting replica2 " . $REP2->CommandLine . "\n" if ($verbose);
+$REP2->Spawn ();
+
+print "TEST: waiting for replica 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$replica2_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $DET->Kill (); $DET->TimedWait(1);
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ exit 1;
+}
+
+##########
+# Analyzer
+print "\nTEST: starting analyzer " . $ANA->CommandLine . "\n" if ($verbose);
+$ANA->Spawn ();
+
+print "TEST: waiting for READY.FILE from analyzer\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($ready_file, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$ready_file>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $DET->Kill (); $DET->TimedWait(1);
+ $REP1->Kill (); $REP1->TimedWait (1);
+ $REP2->Kill (); $REP2->TimedWait (1);
+ $DET->Kill (); $DET2->TimedWait(1);
+ $NOT->Kill (); $NOT->TimedWait(1);
+ $ANA->Kill (); $ANA->TimedWait(1);
+ exit 1;
+}
+
+########
+# Client
+print "\nTEST: starting client " . $CL->CommandLine . "\n" if ($verbose);
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 1.\n" if ($verbose);
+$replica1 = $REP1->WaitKill (5);
+if ($replica1 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for replica 2.\n" if ($verbose);
+$replica2 = $REP2->WaitKill (5);
+if ($replica2 != 0) {
+ print STDERR "TEST ERROR: replica returned $replica2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for detector factory to leave.\n" if ($verbose);
+$detector = $DET->WaitKill (20);
+if ($detector != 0) {
+ print STDERR "TEST ERROR: detector returned $detector\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for analyzer to leave.\n" if ($verbose);
+$analyzer = $ANA->WaitKill (20);
+if ($analyzer != 0) {
+ print STDERR "TEST ERROR: analyzer returned $analyzer\n";
+ $status = 1;
+}
+
+print "\nTEST: shutting down the replication manager.\n" if ($verbose);
+$controller = $RMC->SpawnWaitKill (300);
+if ($controller != 0) {
+ print STDERR "TEST ERROR: replication manager controller returned $controller\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for ReplicationManager.\n" if ($verbose);
+#$RM->Kill ();
+$repmgr = $RM->WaitKill (30);
+if ($repmgr != 0) {
+ print STDERR "TEST ERROR: ReplicationManager returned $repmgr\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for notifier to leave.\n" if ($verbose);
+$notifier = $NOT->WaitKill (20);
+if ($notifier != 0) {
+ print STDERR "TEST ERROR: notifier returned $notifier\n";
+ $status = 1;
+}
+
+print "\nTEST: releasing scratch files.\n" if ($verbose);
+unlink $rm_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $detector_ior;
+unlink $notifier_ior;
+unlink $ready_file;
+
+#client's work file
+unlink $client_data;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/run_test_rmregistry.pl b/TAO/orbsvcs/tests/FT_App/run_test_rmregistry.pl
new file mode 100755
index 00000000000..5facd17d085
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/run_test_rmregistry.pl
@@ -0,0 +1,385 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# Purpose:
+# To test the FactoryRegistry as a component of ReplicationManager
+#
+# Process being tested:
+# FT_ReplicationManager
+# implements PortableGroup::FactoryRegistry interface.
+# Processes used in test:
+# FT_Replica * 3
+# implements GenericFactory interface to create TestReplicas
+# TestReplica implements TestReplica interface.
+# TestReplica implements PullMonitorable interface.
+# FT_Client
+# client for TestReplica interface.
+# client for PullMonitorable.
+# Object Group Creator
+# Creates groups of objects.
+#
+# Test Scenario (***Test: marks behavior being tested):
+#
+# First the test starts The ReplicationManager,
+# Then starts three factories. Each factory exists at a separate location.
+# The locations are named shire, bree, and rivendell. In a "real" system
+# these locations would be on separate computers.
+#
+# The factory at the shire location knows how to create hobbits.
+# The factory at the bree location knows how to create hobbits, elves, and humans.
+# The factory at rivendell can create elves.
+# Hobbits, elves, and humans are roles for TestReplica objects. A creation parameter
+# included as part of the registration information specifies which role they are playing.
+#
+# ***Test: The factories register themselves with the factory registry in the ReplicationManager.
+# Registration information includes:
+# the role,
+# the type of object created,
+# the location,
+# an object reference to the factory and
+# a set of parameters to be passed to the factory's create_object method.
+#
+# An object group creator is started and asked to create three object groups:
+# a group of hobbits, a group of elves; and another group of hobbits.
+#
+# ***Test: the object group creator asks the ReplicationManager::FactoryRegistry
+# for the set of factories that can create objects for the desired role.
+# Then it uses the create_object method for each factory to create the actual object.
+#
+# [temporary until IOGR's are working: The object group creator writes the
+# IOR's of the create objects to files -- using a file naming convention to
+# distinguish members of the group. It will be enhanced to assemble these
+# IORs into an IOGR and either write the IOGR to a file or register it with
+# the Naming Service.]
+#
+# The object group creator is also told to unregister all factories that create humans.
+# ***Test: It does so using the unregister_factory_by_role method.
+#
+# Three clients are started, one at a time. Each client is given a reference
+# to an object group
+#
+# [temporary until IOGRs and transparent reinvocaton work: each client is
+# given references to the members of the group and manages its own recovery
+# (client mediated fault tolerance)]
+#
+# Each client sends a few requests to first member of the object group. Eventually
+# this member fails and the requests are then rerouted to the second (and last)
+# member of the group.
+#
+# When a clients job is done, it exits and asks the remaining group member to
+# exit, too.
+#
+# The factories are run with the quit-on-idle option so when the last object
+# created at that location goes away, the factory exits.
+#
+# ***Test: As it exits the factory unregisters itself with the ReplicationManager::FactoryRegistry.
+# ***Test: A command line option determines whether it uses a single
+# unregister_factory_by_location call, or separate unregister_factory calles for
+# each type of object created. In this test, the shire location uses unregister_factory,
+# and bree and rivendell use unregister_factory_by_location.
+#
+# The factory registry is also run with the quit-on-idle option so when the last
+# factory unregisters itself.
+# The ReplicationManager is killed because it doesn't have a quit-on-idle option.
+
+use lib '../../../../bin';
+#use lib '$ENV{ACE_ROOT}/bin';
+use PerlACE::Run_Test;
+
+########################
+#command line options
+#set defaults:
+my($verbose) = 0; # 1: report perl actions before executing them
+my($debug_builds) = 0; # 0: use exes from Release directories
+my($simulated) = 1; # 1: use "client simulated" fault tolerance
+
+foreach $i (@ARGV) {
+ if ($i eq "--debug_build")
+ {
+ $debug_builds = 1;
+ }
+ elsif ($i eq "--no_simulate") # reverse this once we have FT ORB support
+ {
+ $simulated = 0;
+ }
+ elsif ($i eq "-v")
+ {
+ $verbose += 1;
+ }
+}
+
+my($build_directory) = "/Release";
+if ( $debug_builds ) {
+ $build_directory = "";
+}
+
+if ( $verbose > 1) {
+ print "verbose: $verbose\n";
+ print "debug_builds: $debug_builds -> $build_directory\n";
+ print "simulated: $simulated\n";
+}
+
+my($role1) = "hobbit";
+my($role2) = "elf";
+my($role3) = "human";
+
+my($location1) = "shire";
+my($location2) = "bree";
+my($location3) = "rivendell";
+my($location4) = "rohan";
+
+my ($rm_endpoint) = "-ORBEndpoint iiop://localhost:2833";
+my ($rm_initref) = "-ORBInitRef ReplicationManager=corbaloc::localhost:2833/ReplicationManager";
+
+#define temp files
+my($rm_ior) = PerlACE::LocalFile ("rm.ior");
+my($factory1_ior) = PerlACE::LocalFile ("factory1.ior");
+my($factory2_ior) = PerlACE::LocalFile ("factory2.ior");
+my($factory3_ior) = PerlACE::LocalFile ("factory3.ior");
+my($replica1_ior) = PerlACE::LocalFile ("${role1}_${location1}_0.ior");
+my($replica2_ior) = PerlACE::LocalFile ("${role1}_${location2}_0.ior");
+my($replica3_ior) = PerlACE::LocalFile ("${role2}_${location2}_1.ior");
+my($replica4_ior) = PerlACE::LocalFile ("${role2}_${location3}_0.ior");
+my($replica5_ior) = PerlACE::LocalFile ("${role1}_${location1}_1.ior");
+my($replica6_ior) = PerlACE::LocalFile ("${role1}_${location2}_2.ior");
+
+my($replica1_iogr) = PerlACE::LocalFile ("${role1}_0.iogr");
+my($replica2_iogr) = PerlACE::LocalFile ("${role2}_1.iogr");
+my($replica3_iogr) = PerlACE::LocalFile ("${role1}_2.iogr");
+
+my($client_data) = PerlACE::LocalFile ("persistent.dat");
+
+#discard junk from previous tests
+unlink $rm_ior;
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $factory3_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $replica3_ior;
+unlink $replica4_ior;
+unlink $replica5_ior;
+unlink $replica6_ior;
+unlink $replica1_iogr;
+unlink $replica2_iogr;
+
+unlink $client_data;
+
+my($status) = 0;
+
+my($RM) = new PerlACE::Process ("$ENV{'TAO_ROOT'}/orbsvcs/FT_ReplicationManager$build_directory/FT_ReplicationManager", "-ORBDebugLevel 0 -o $rm_ior $rm_endpoint");
+my($RMC) = new PerlACE::Process (".$build_directory/replmgr_controller", "$rm_initref -x");
+my($FAC1) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory1_ior $rm_initref -l $location1 -i $role1 -q");
+my($FAC2) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory2_ior $rm_initref -l $location2 -i $role1 -i $role2 -i $role3 -q -u");
+my($FAC3) = new PerlACE::Process (".$build_directory/ft_replica", "-o $factory3_ior $rm_initref -l $location3 -i $role2 -q -u");
+my($CTR) = new PerlACE::Process (".$build_directory/ft_create", "$rm_initref -n -r $role1 -r $role2 -r $role1 -u $role3 -i");
+
+my($CL1);
+my($CL2);
+my($CL3);
+if ($simulated) {
+ print "\nTEST: Preparing Client Mediated Fault Tolerance test.\n" if ($verbose);
+ $CL1 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_ior -f file://$replica2_ior -c testscript");
+ $CL2 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica3_ior -f file://$replica4_ior -c testscript");
+ $CL3 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica5_ior -f file://$replica6_ior -c testscript");
+}else{
+ print "\nTEST: Preparing IOGR based test.\n" if ($verbose);
+ $CL1 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica1_iogr -c testscript");
+ $CL2 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica2_iogr -c testscript");
+ $CL3 = new PerlACE::Process (".$build_directory/ft_client", "-f file://$replica3_iogr -c testscript");
+}
+
+#######################
+# Start ReplicationManager
+
+print "\nTEST: starting ReplicationManager " . $RM->CommandLine . "\n" if ($verbose);
+$RM->Spawn ();
+
+print "TEST: waiting for registry's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($rm_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$rm_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ exit 1;
+}
+
+
+#################
+# Start Factories
+
+print "\nTEST: starting factory 1 " . $FAC1->CommandLine . "\n" if ($verbose);
+$FAC1->Spawn ();
+
+print "TEST: waiting for factory 1's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory1_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory1_ior>\n";
+ $RM->Kill (); $RM->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting factory 2 " . $FAC2->CommandLine . "\n" if ($verbose);
+$FAC2->Spawn ();
+
+print "TEST: waiting for factory 2's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory2_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory2_ior>\n";
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $RM->Kill (); $RM->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ exit 1;
+}
+
+print "\nTEST: starting factory 3 " . $FAC3->CommandLine . "\n" if ($verbose);
+$FAC3->Spawn ();
+
+print "TEST: waiting for factory 3's IOR\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($factory3_ior, 5) == -1) {
+ print STDERR "TEST ERROR: cannot find file <$factory3_ior>\n";
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $RM->Kill (); $RM->TimedWait (1);
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ exit 1;
+}
+
+######################
+# Create object groups
+
+print "\nTEST: starting object group creator " . $CTR->CommandLine . "\n" if ($verbose);
+$CTR->Spawn ();
+
+print "TEST: waiting for Replica IOR files from object group creator\n" if ($verbose);
+if (PerlACE::waitforfile_timed ($replica1_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica1_ior>\n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica2_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica2_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica3_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica3_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica4_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica4_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica5_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica5_ior> \n";
+ $status = 1;
+}
+elsif (PerlACE::waitforfile_timed ($replica6_ior, 5) == -1){
+ print STDERR "TEST ERROR: cannot find file <$replica6_ior> \n";
+ $status = 1;
+}
+
+if($status != 0){
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $RM->Kill (); $RM->TimedWait (1);
+ $CTR->Kill (); $CTR->TimedWait(1);
+ exit 1;
+}
+
+print "\nTEST: wait for object group creator.\n" if ($verbose);
+$config = $CTR->WaitKill (5);
+if ($config != 0) {
+ print STDERR "TEST ERROR: configuration manager returned $config\n";
+ $FAC3->Kill (); $FAC3->TimedWait (1);
+ $FAC2->Kill (); $FAC2->TimedWait (1);
+ $FAC1->Kill (); $FAC1->TimedWait (1);
+ $RM->Kill (); $RM->TimedWait (1);
+ exit 1;
+}
+
+
+#############
+# Run clients
+
+print "\nTEST: starting client " . $CL1->CommandLine . "\n" if ($verbose);
+$client = $CL1->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "TEST ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nTEST: starting client again " . $CL2->CommandLine . "\n" if ($verbose);
+$client2 = $CL2->SpawnWaitKill (60);
+
+if ($client2 != 0) {
+ print STDERR "TEST ERROR: client returned $client2\n";
+ $status = 1;
+}
+
+print "\nTEST: starting client, one more time with feeling " . $CL3->CommandLine . "\n" if ($verbose);
+$client3 = $CL3->SpawnWaitKill (60);
+
+if ($client3 != 0) {
+ print STDERR "TEST ERROR: client returned $client3\n";
+ $status = 1;
+}
+
+######################
+# Clean house and exit
+
+print "\nTEST: wait for factory 1.\n" if ($verbose);
+$factory1 = $FAC1->WaitKill (30);
+if ($factory1 != 0) {
+ print STDERR "TEST ERROR: replica returned $factory 1\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for factory 2.\n" if ($verbose);
+$factory2 = $FAC2->WaitKill (30);
+if ($factory2 != 0) {
+ print STDERR "TEST ERROR: factory 2 returned $factory2\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for factory 3.\n" if ($verbose);
+$factory3 = $FAC3->WaitKill (30);
+if ($factory3 != 0) {
+ print STDERR "TEST ERROR: factory 3 returned $factory3\n";
+ $status = 1;
+}
+
+print "\nTEST: shutting down the replication manager.\n" if ($verbose);
+$controller = $RMC->SpawnWaitKill (300);
+if ($controller != 0) {
+ print STDERR "TEST ERROR: replication manager controller returned $controller\n";
+ $status = 1;
+}
+
+print "\nTEST: wait for ReplicationManager.\n" if ($verbose);
+#$RM->Kill ();
+$repmgr = $RM->WaitKill (30);
+if ($repmgr != 0) {
+ print STDERR "TEST ERROR: ReplicationManager returned $repmgr\n";
+ $status = 1;
+}
+
+print "\nTEST: releasing scratch files.\n" if ($verbose);
+unlink $rm_ior;
+unlink $factory1_ior;
+unlink $factory2_ior;
+unlink $factory3_ior;
+unlink $replica1_ior;
+unlink $replica2_ior;
+unlink $replica3_ior;
+unlink $replica4_ior;
+unlink $replica5_ior;
+unlink $replica6_ior;
+unlink $replica1_iogr;
+unlink $replica2_iogr;
+
+unlink $client_data;
+
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/FT_App/testscript b/TAO/orbsvcs/tests/FT_App/testscript
new file mode 100644
index 00000000000..a428a227ef3
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_App/testscript
@@ -0,0 +1,10 @@
+v3 echo commands
+=0
++5
+d3 FMI: d3 is before state change; d4 is before replication;d5 is before reply
++5
+c10
++5
+z3 sleep for a while
++7
+q1 quit and bring down current primary replica
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Application_Controlled.mpc b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Application_Controlled.mpc
new file mode 100644
index 00000000000..6646715fa4e
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Application_Controlled.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*server): orbsvcsexe, portablegroup, loadbalancing, naming, svc_utils {
+ Source_Files {
+ server.cpp
+ LB_server.cpp
+ Basic.cpp
+ }
+}
+
+project(*client): orbsvcsexe, portablegroup, loadbalancing, naming, svc_utils {
+ Source_Files {
+ client.cpp
+ }
+} \ No newline at end of file
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.cpp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.cpp
new file mode 100644
index 00000000000..b858c9947a5
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.cpp
@@ -0,0 +1,81 @@
+#include "Basic.h"
+#include "LB_server.h"
+
+
+ACE_RCSID (Application_Controlled,
+ Basic,
+ "$Id$")
+
+
+Basic::Basic (CORBA::Object_ptr object_group,
+ CosLoadBalancing::LoadManager_ptr lm,
+ CORBA::ORB_ptr orb,
+ CORBA::Short num,
+ const char *loc)
+ : orb_ (CORBA::ORB::_duplicate (orb)),
+ number_ (num)
+{
+ this->object_group_ = CORBA::Object::_duplicate (object_group);
+ this->lm_ = CosLoadBalancing::LoadManager::_duplicate (lm);
+ this->location_ = CORBA::string_dup (loc);
+}
+
+CORBA::Short
+Basic::number (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->number_;
+}
+
+char *
+Basic::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup (this->location_);
+}
+
+void
+Basic::remove_member (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TRY
+ {
+ PortableGroup::Location location (1);
+ location.length (1);
+ location[0].id = CORBA::string_dup (this->location_);
+ this->lm_->remove_member (this->object_group_.in (),
+ location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - Removed Member at Location <%s>\n",
+ this->location_));
+
+ }
+ ACE_CATCH (PortableGroup::ObjectNotFound, ex)
+ {
+ ACE_PRINT_EXCEPTION (ex,
+ "Caught exception in remove_member");
+ ACE_TRY_THROW (CORBA::INTERNAL ());
+ }
+ ACE_CATCH (PortableGroup::MemberNotFound, ex)
+ {
+ ACE_PRINT_EXCEPTION (ex,
+ "Caught exception in remove_member");
+ ACE_TRY_THROW (CORBA::INTERNAL ());
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught while destroying member\n");
+ }
+ ACE_ENDTRY;
+
+}
+
+void
+Basic::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.h b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.h
new file mode 100644
index 00000000000..20a8851d235
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Basic.h
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#ifndef BASIC_H
+#define BASIC_H
+
+#include "TestS.h"
+#include "orbsvcs/orbsvcs/CosLoadBalancingC.h"
+#include "orbsvcs/orbsvcs/PortableGroupC.h"
+
+#if defined (_MSC_VER)
+# if (_MSC_VER >= 1200)
+# pragma warning(push)
+# endif /* _MSC_VER >= 1200 */
+# pragma warning (disable:4250)
+#endif /* _MSC_VER */
+
+/// Implement the Test::Basic interface
+class Basic
+ : public virtual POA_Test::Basic
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ /// Constructor
+ Basic (CORBA::Object_ptr object_group,
+ CosLoadBalancing::LoadManager_ptr lm,
+ CORBA::ORB_ptr orb,
+ CORBA::Short num,
+ const char *loc);
+
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void remove_member (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Short number (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to convert strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+
+ /// Load Manager Reference used to delete the servant reference from the
+ /// object group.
+ CosLoadBalancing::LoadManager_var lm_;
+
+ /// location of the servant
+ const char *location_ ;
+
+ /// Object Group reference.
+ CORBA::Object_var object_group_;
+
+ /// ID of the servant
+ CORBA::Short number_;
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* BASIC_H */
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.cpp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.cpp
new file mode 100644
index 00000000000..14c3fdcf727
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.cpp
@@ -0,0 +1,349 @@
+#include "LB_server.h"
+#include "Basic.h"
+#include "Simple.h"
+
+#include "TestC.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID (Application_Controlled,
+ LB_server,
+ "$Id$")
+
+LB_server::LB_server (int argc, char **argv)
+ : argc_ (argc)
+ , argv_ (argv)
+{
+}
+
+int
+LB_server::destroy (void)
+{
+ ACE_TRY_NEW_ENV
+ {
+ this->lm_->delete_object (this->basic_fcid_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->lm_->delete_object (this->simple_fcid_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->orb_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught while destroying LB_server\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 1;
+
+}
+
+CORBA::ORB_ptr
+LB_server::orb (void)
+{
+ return this->orb_.in ();
+}
+
+CORBA::Object_ptr
+LB_server::get_basic_object_group (void)
+{
+ return this->basic_object_group_.in ();
+}
+
+CORBA::Object_ptr
+LB_server::get_simple_object_group (void)
+{
+ return this->simple_object_group_.in ();
+}
+
+CosLoadBalancing::LoadManager_ptr
+LB_server::load_manager (void)
+{
+ return this->lm_.in ();
+}
+
+int
+LB_server::start_orb_and_poa (void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ // Initialise the ORB.
+ this->orb_ = CORBA::ORB_init (this->argc_,
+ this->argv_,
+ "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references("RootPOA"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to initialize the POA.\n"),
+ 1);
+
+ this->root_poa_ = PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var obj =
+ this->orb_->resolve_initial_references ("LoadManager" ACE_ENV_ARG_PARAMETER);
+
+ this->lm_ =
+ CosLoadBalancing::LoadManager::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (this->lm_.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to get Load Manager Reference\n"),
+ 1);
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised initialising ORB or POA");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+
+}
+
+int
+LB_server::create_basic_object_group (void)
+{
+ ACE_TRY_NEW_ENV
+ {
+ const char *repository_id = "IDL:Test/Basic:1.0";
+
+ PortableGroup::Criteria criteria (1);
+ criteria.length (1);
+
+ PortableGroup::Property &property = criteria[0];
+ property.nam.length (1);
+
+ property.nam[0].id =
+ CORBA::string_dup ("org.omg.PortableGroup.MembershipStyle");
+
+ PortableGroup::MembershipStyleValue msv =
+ PortableGroup::MEMB_APP_CTRL;
+ property.val <<= msv;
+
+ this->basic_object_group_ = this->lm_->create_object (repository_id,
+ criteria,
+ this->basic_fcid_.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ this->orb_->object_to_string (this->basic_object_group_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised while creating object group");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+
+}
+
+int
+LB_server::create_simple_object_group (void)
+{
+ ACE_TRY_NEW_ENV
+ {
+ const char *repository_id = "IDL:Test/Simple:1.0";
+
+ PortableGroup::Criteria criteria (1);
+ criteria.length (1);
+
+ PortableGroup::Property &property = criteria[0];
+ property.nam.length (1);
+
+ property.nam[0].id =
+ CORBA::string_dup ("org.omg.PortableGroup.MembershipStyle");
+
+ PortableGroup::MembershipStyleValue msv =
+ PortableGroup::MEMB_APP_CTRL;
+ property.val <<= msv;
+
+ this->simple_object_group_ = this->lm_->create_object (repository_id,
+ criteria,
+ this->simple_fcid_.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ this->orb_->object_to_string (this->simple_object_group_.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised while creating object group");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+
+}
+
+int
+LB_server::remove_basic_member (void)
+{
+ ACE_TRY_NEW_ENV
+ {
+ PortableGroup::Location location (1);
+ location.length (1);
+
+ location[0].id = CORBA::string_dup ("MyLocation 1");
+
+ const char *loc = "MyLocation 1";
+
+ this->lm_->remove_member (this->basic_object_group_.in (),
+ location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ printf("Removed Basic Member at location %s\n\n", loc);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised while deleting servant");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+int
+LB_server::remove_simple_member (void)
+{
+ ACE_TRY_NEW_ENV
+ {
+ PortableGroup::Location location (1);
+ location.length (1);
+
+ location[0].id = CORBA::string_dup ("MyLocation 1");
+
+ const char *loc = "MyLocation 1";
+
+ this->lm_->remove_member (this->simple_object_group_.in (),
+ location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ printf("Removed Simple Member at location %s\n\n", loc);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised while deleting servant");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+int
+LB_server::register_basic_servant (Basic *servant, const char *loc)
+{
+ ACE_TRY_NEW_ENV
+ {
+ Test::Basic_var basic =
+ servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableGroup::Location location (1);
+ location.length (1);
+
+ location[0].id = CORBA::string_dup (loc);
+
+ this->lm_->add_member (this->basic_object_group_.in (),
+ location,
+ basic.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Short number = 0;
+ number = servant->number (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ printf("Added Basic member %d at location %s\n", number, loc);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised while registering servant");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+int
+LB_server::register_simple_servant (Simple *servant, const char *loc)
+{
+ ACE_TRY_NEW_ENV
+ {
+ Test::Simple_var simple =
+ servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableGroup::Location location (1);
+ location.length (1);
+
+ location[0].id = CORBA::string_dup (loc);
+
+ this->lm_->add_member (this->simple_object_group_.in (),
+ location,
+ simple.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Short number = 0;
+ number = servant->number (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ printf("Added Simple member %d at location %s\n", number, loc);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception raised while registering servant");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.h b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.h
new file mode 100644
index 00000000000..f258bdfdee5
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/LB_server.h
@@ -0,0 +1,107 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file LB_server.h
+ *
+ * $Id$
+ *
+ * @author Jaiganesh Balasubramanian <jai@doc.ece.uci.edu>
+ * @author Ossama Othman <ossama@uci.edu>
+ */
+//=============================================================================
+
+
+#include "orbsvcs/orbsvcs/CosLoadBalancingC.h"
+#include "orbsvcs/orbsvcs/PortableGroupC.h"
+#include "tao/PortableServer/PortableServer.h"
+
+// Forward Declaration of the kind of servant we would like to handle
+// by the server.
+class Basic;
+class Simple;
+
+/**
+ * @class LB_server
+ *
+ * @brief Encapsulate the test in class.
+ *
+ * This is a class used to retrieve the LoadManager reference and
+ * create the Object Group. Servants add themselves to the object
+ * group and the object group reference is published to the clients.
+ * Clients then invoke the "servant operations" on the LoadManager
+ * itself. At this point the Load Balancing cycle starts.
+ */
+class LB_server
+{
+public:
+
+ /// Constructor
+ LB_server (int argc, char **argv);
+
+ /// destroys LoadManager, ORB and POA.
+ int destroy (void);
+
+ /// start the ORB.
+ int start_orb_and_poa (void);
+
+ /// Get the LoadManager Interface.
+ int init (int argc, char **argv);
+
+ /// Create the basic Object Group using the Load Manager Reference.
+ int create_basic_object_group (void);
+
+ /// Create the simple Object Group using the Load Manager Reference.
+ int create_simple_object_group (void);
+
+ /// remove the basic member from the object group
+ int remove_basic_member (void);
+
+ /// remove the simple member from the object group
+ int remove_simple_member (void);
+
+ /// register the basic servants with the object group.
+ int register_basic_servant (Basic *servant, const char *loc);
+
+ /// register the simple servants with the object group.
+ int register_simple_servant (Simple *servant, const char *loc);
+
+ /// for servants to register to the initialised ORB.
+ CORBA::ORB_ptr orb (void);
+
+ /// for servants to get the reference for object_group.
+ CORBA::Object_ptr get_basic_object_group (void);
+
+ /// for servants to get the reference for object_group.
+ CORBA::Object_ptr get_simple_object_group (void);
+
+ /// for servants to get the reference for object_group.
+ CosLoadBalancing::LoadManager_ptr load_manager (void);
+
+private:
+
+ /// Load Manager
+ CosLoadBalancing::LoadManager_var lm_;
+
+ /// Basic Object Group.
+ CORBA::Object_var basic_object_group_;
+
+ /// Simple Object Group.
+ CORBA::Object_var simple_object_group_;
+
+ /// factory id for the basic object group.
+ PortableGroup::GenericFactory::FactoryCreationId_var basic_fcid_;
+
+ /// factory id for the simple object group.
+ PortableGroup::GenericFactory::FactoryCreationId_var simple_fcid_;
+
+ /// ORB pointer
+ CORBA::ORB_var orb_;
+
+ /// command line arguments
+ int argc_;
+ char **argv_;
+
+ /// root poa pointer
+ PortableServer::POA_var root_poa_;
+};
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile
new file mode 100644
index 00000000000..7dd339e48ab
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile
@@ -0,0 +1,1978 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+TAO_LB_LIBS = -lTAO_CosLoadBalancing -lTAO_PortableGroup -lTAO_CosNaming -lTAO_IORManip -lTAO_Messaging
+
+IDL_FILES = Test
+IDL_SRC = TestC.cpp TestS.cpp
+IDL_HDR = TestC.h TestS.h
+
+SVR_SRCS = TestC.cpp TestS.cpp server.cpp LB_server.cpp Basic.cpp Simple.cpp
+
+SRC = $(SVR_SRCS)
+
+SVR_TEST_OBJS = TestC.o TestS.o server.o LB_server.o Basic.o Simple.o
+
+BIN2 = server
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs
+TAO_IDLFLAGS += -Ge 1
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (CosLoadBalancing,$(findstring CosLoadBalancing,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+endif # CosLoadBalancing
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+LDFLAGS += -L$(TAO_ROOT)/tao
+
+.PRECIOUS: TestC.cpp TestS.cpp TestC.h TestS.h TestC.i TestS.i \
+ TestS_T.h TestS_T.cpp TestS_T.i
+
+server: $(addprefix $(VDIR),$(SVR_TEST_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_LB_LIBS) $(TAO_SRVR_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), Test$(ext))
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp LB_server.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging.h \
+ $(TAO_ROOT)/tao/Messaging/messaging_export.h \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.h \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.i \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.i \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.h \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ Basic.h TestS.h TestC.h TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i Simple.h
+
+.obj/LB_server.o .obj/LB_server.so .shobj/LB_server.o .shobj/LB_server.so: LB_server.cpp LB_server.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging.h \
+ $(TAO_ROOT)/tao/Messaging/messaging_export.h \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.h \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.i \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.i \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.h \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ Basic.h TestS.h TestC.h TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i
+
+.obj/Basic.o .obj/Basic.so .shobj/Basic.o .shobj/Basic.so: Basic.cpp Basic.h TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging.h \
+ $(TAO_ROOT)/tao/Messaging/messaging_export.h \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.h \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.i \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.i \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.h \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.i \
+ LB_server.h
+
+.obj/Simple.o .obj/Simple.so .shobj/Simple.o .shobj/Simple.so: Simple.cpp Simple.h TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging.h \
+ $(TAO_ROOT)/tao/Messaging/messaging_export.h \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_SyncScope_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_RT_PolicyC.i \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.h \
+ $(TAO_ROOT)/tao/Messaging/Messaging_No_ImplC.i \
+ $(TAO_ROOT)/tao/Messaging/MessagingC.i \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.h \
+ $(TAO_ROOT)/tao/Messaging/TAO_ExtC.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/PortableGroupC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosLoadBalancingC.i \
+ LB_server.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.bor b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.bor
new file mode 100644
index 00000000000..aa9e793bc26
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.bor
@@ -0,0 +1,7 @@
+#
+# $Id$
+#
+
+MAKEFILES = server.bor
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.dsw b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.dsw
new file mode 100644
index 00000000000..f2ab8f301ec
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.dsw
@@ -0,0 +1,28 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Manage_Object_Group Server"=.\server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.mpc b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.mpc
new file mode 100644
index 00000000000..118d41248d2
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Manage_Object_Group.mpc
@@ -0,0 +1,11 @@
+// -*- MPC -*-
+// $Id$
+
+project(*server): orbsvcsexe, portablegroup, loadbalancing, naming, svc_utils {
+ Source_Files {
+ server.cpp
+ LB_server.cpp
+ Basic.cpp
+ Simple.cpp
+ }
+}
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.cpp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.cpp
new file mode 100644
index 00000000000..7949918ee73
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.cpp
@@ -0,0 +1,81 @@
+#include "Simple.h"
+#include "LB_server.h"
+
+
+ACE_RCSID (Application_Controlled,
+ Simple,
+ "$Id$")
+
+
+Simple::Simple (CORBA::Object_ptr object_group,
+ CosLoadBalancing::LoadManager_ptr lm,
+ CORBA::ORB_ptr orb,
+ CORBA::Short num,
+ const char *loc)
+ : orb_ (CORBA::ORB::_duplicate (orb)),
+ number_ (num)
+{
+ this->object_group_ = CORBA::Object::_duplicate (object_group);
+ this->lm_ = CosLoadBalancing::LoadManager::_duplicate (lm);
+ this->location_ = CORBA::string_dup (loc);
+}
+
+CORBA::Short
+Simple::number (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->number_;
+}
+
+char *
+Simple::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup (this->location_);
+}
+
+void
+Simple::remove_member (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TRY
+ {
+ PortableGroup::Location location (1);
+ location.length (1);
+ location[0].id = CORBA::string_dup (this->location_);
+ this->lm_->remove_member (this->object_group_.in (),
+ location
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - Removed Member at Location <%s>\n",
+ this->location_));
+
+ }
+ ACE_CATCH (PortableGroup::ObjectNotFound, ex)
+ {
+ ACE_PRINT_EXCEPTION (ex,
+ "Caught exception in remove_member");
+ ACE_TRY_THROW (CORBA::INTERNAL ());
+ }
+ ACE_CATCH (PortableGroup::MemberNotFound, ex)
+ {
+ ACE_PRINT_EXCEPTION (ex,
+ "Caught exception in remove_member");
+ ACE_TRY_THROW (CORBA::INTERNAL ());
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught while destroying member\n");
+ }
+ ACE_ENDTRY;
+
+}
+
+void
+Simple::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.h b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.h
new file mode 100644
index 00000000000..70000152112
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Simple.h
@@ -0,0 +1,69 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#ifndef SIMPLE_H
+#define SIMPLE_H
+
+#include "TestS.h"
+#include "orbsvcs/orbsvcs/CosLoadBalancingC.h"
+#include "orbsvcs/orbsvcs/PortableGroupC.h"
+
+#if defined (_MSC_VER)
+# if (_MSC_VER >= 1200)
+# pragma warning(push)
+# endif /* _MSC_VER >= 1200 */
+# pragma warning (disable:4250)
+#endif /* _MSC_VER */
+
+class LB_Basic_Test;
+
+/// Implement the Test::Simple interface
+class Simple
+ : public virtual POA_Test::Simple
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ /// Constructor
+ Simple (CORBA::Object_ptr object_group,
+ CosLoadBalancing::LoadManager_ptr lm,
+ CORBA::ORB_ptr orb,
+ CORBA::Short num,
+ const char *loc);
+
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void remove_member (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Short number (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to convert strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+
+ /// Load Manager Reference used to delete the servant reference from the
+ /// object group.
+ CosLoadBalancing::LoadManager_var lm_;
+
+ /// location of the servant
+ const char *location_ ;
+
+ /// Object Group reference.
+ CORBA::Object_var object_group_;
+
+ /// ID of the servant
+ CORBA::Short number_;
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* SIMPLE_H */
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Test.idl b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Test.idl
new file mode 100644
index 00000000000..25e2829b394
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Test.idl
@@ -0,0 +1,38 @@
+//
+// $Id$
+
+/// Put the interfaces in a module, to avoid global namespace pollution
+module Test
+{
+ /// A very simple interface
+ interface Basic
+ {
+ /// Return a simple string
+ string get_string ();
+
+ /// A method to shutdown the ORB
+ /**
+ * This method is used to simplify the test shutdown process
+ */
+ oneway void shutdown ();
+
+ /// A method to remove the servant from the LoadManager Object Group.
+ oneway void remove_member ();
+ };
+
+ /// A very simple interface
+ interface Simple
+ {
+ /// Return a simple string
+ string get_string ();
+
+ /// A method to shutdown the ORB
+ /**
+ * This method is used to simplify the test shutdown process
+ */
+ oneway void shutdown ();
+
+ /// A method to remove the servant from the LoadManager Object Group.
+ oneway void remove_member ();
+ };
+};
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/run_test.pl b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/run_test.pl
new file mode 100755
index 00000000000..7491a5fd4ef
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/run_test.pl
@@ -0,0 +1,54 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "../../../../../../bin";
+use PerlACE::Run_Test;
+
+$lm_ior = "lm.ior";
+unlink $lm_ior;
+
+$status = 0;
+
+$init_ref = "-ORBInitRef LoadManager=file://lm.ior";
+
+$LM = new PerlACE::Process ("../../../../LoadBalancer/LoadManager", "-o lm.ior");
+$SV = new PerlACE::Process ("server", $init_ref);
+
+print STDERR "\n\n======== Running Manage ObjectGroup Membership Test================\n";
+print STDERR "\n";
+
+print STDERR "This test will check the add_member () and remove_member () methods of the\n";
+print STDERR "ObjectGroupManager\n";
+print STDERR "\n";
+
+$LM->Spawn ();
+
+if (PerlACE::waitforfile_timed ("lm.ior", 5) == -1) {
+ print STDERR "ERROR: cannot find file LoadManager IOR: lm.ior\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$SV->Spawn ();
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+$load_manager = $LM->TerminateWaitKill (10);
+
+if ($load_manager != 0) {
+ print STDERR "ERROR: LoadManager returned $load_manager\n";
+ $status = 1;
+}
+
+unlink $lm_ior;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.bor b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.bor
new file mode 100644
index 00000000000..0c35c228514
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.bor
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+NAME = server
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Ge 1
+
+OBJFILES = \
+ $(OBJDIR)\TestC.obj \
+ $(OBJDIR)\TestS.obj \
+ $(OBJDIR)\LB_server.obj \
+ $(OBJDIR)\Basic.obj \
+ $(OBJDIR)\Simple.obj \
+ $(OBJDIR)\server.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_MESSAGING_CFLAGS) \
+ $(TAO_NAMING_CFLAGS) \
+ $(TAO_PORTABLEGROUP_CFLAGS) \
+ $(TAO_COSLOADBALANCING_CFLAGS) \
+ $(TAO_VALUETYPE_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_MESSAGING_LIB) \
+ $(TAO_NAMING_LIB) \
+ $(TAO_PORTABLEGROUP_LIB) \
+ $(TAO_COSLOADBALANCING_LIB) \
+ $(TAO_VALUETYPE_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\Test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\TestS.cpp $(IDLDIR)\TestC.cpp: $(IDLDIR)\Test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp
new file mode 100644
index 00000000000..4f4724ab6c6
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp
@@ -0,0 +1,132 @@
+#include "LB_server.h"
+#include "Basic.h"
+#include "Simple.h"
+
+ACE_RCSID (Manage_object_group,
+ server,
+ "$Id$")
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ const char *location1 = "MyLocation 1";
+
+ LB_server lb_server (argc, argv);
+
+ if (lb_server.start_orb_and_poa () == -1)
+ return 1;
+
+ if (lb_server.create_basic_object_group () == -1)
+ return 1;
+
+ if (lb_server.create_simple_object_group () == -1)
+ return 1;
+
+ Basic *basic_servant1;
+ Basic *basic_servant2;
+
+ Simple *simple_servant1;
+ Simple *simple_servant2;
+
+
+ ACE_NEW_RETURN (basic_servant1,
+ Basic (lb_server.get_basic_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 1,
+ location1),
+ 1);
+ PortableServer::ServantBase_var basic_owner_transfer1(basic_servant1);
+
+ ACE_NEW_RETURN (simple_servant1,
+ Simple (lb_server.get_simple_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 1,
+ location1),
+ 1);
+ PortableServer::ServantBase_var simple_owner_transfer1(simple_servant1);
+
+ if (lb_server.register_basic_servant (basic_servant1, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.register_simple_servant (simple_servant1, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.remove_basic_member() == -1)
+ {
+ return 1;
+ }
+
+ if (lb_server.remove_simple_member() == -1)
+ {
+ return 1;
+ }
+
+ ACE_NEW_RETURN (basic_servant2,
+ Basic (lb_server.get_basic_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 2,
+ location1),
+ 1);
+ PortableServer::ServantBase_var basic_owner_transfer2(basic_servant2);
+
+ ACE_NEW_RETURN (simple_servant2,
+ Simple (lb_server.get_simple_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 2,
+ location1),
+ 1);
+ PortableServer::ServantBase_var simple_owner_transfer2(simple_servant2);
+
+ if (lb_server.register_basic_servant (basic_servant2, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.register_simple_servant (simple_servant2, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.remove_basic_member() == -1)
+ {
+ return 1;
+ }
+
+ if (lb_server.remove_simple_member() == -1)
+ {
+ return 1;
+ }
+
+ lb_server.orb ()->shutdown (0 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ if (lb_server.destroy () == -1)
+ return 1;
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "lb_server exception");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.dsp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.dsp
new file mode 100644
index 00000000000..8827cdec805
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.dsp
@@ -0,0 +1,227 @@
+# Microsoft Developer Studio Project File - Name="server" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=server - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak" CFG="server - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "server - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "server - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "server - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../../../.." /I "../../../../.." /I "../../../../../orbsvcs" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib TAO.lib TAO_PortableServer.lib TAO_Messaging.lib TAO_CosNaming.lib TAO_PortableGroup.lib TAO_CosLoadBalancing.lib TAO_Valuetype.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\..\ace" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\Messaging" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\Valuetype"
+
+!ELSEIF "$(CFG)" == "server - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "server___Win32_Debug"
+# PROP BASE Intermediate_Dir "server___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "../../../../../.." /I "../../../../.." /I "../../../../../orbsvcs" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib TAOd.lib TAO_PortableServerd.lib TAO_Messagingd.lib TAO_CosNamingd.lib TAO_PortableGroupd.lib TAO_CosLoadBalancingd.lib TAO_Valuetyped.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\..\ace" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\Messaging" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\Valuetype"
+
+!ENDIF
+
+# Begin Target
+
+# Name "server - Win32 Release"
+# Name "server - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Basic.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LB_server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Simple.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Basic.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\LB_server.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Simple.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ".idl"
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "server - Win32 Release"
+
+# Begin Custom Build
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\Release\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "server - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\..\..\..\bin\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/tests/Log/Basic_Log_Test/Log_Basic_Log_Test.mpc b/TAO/orbsvcs/tests/Log/Basic_Log_Test/Log_Basic_Log_Test.mpc
new file mode 100644
index 00000000000..4a682cc2f5a
--- /dev/null
+++ b/TAO/orbsvcs/tests/Log/Basic_Log_Test/Log_Basic_Log_Test.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project : orbsvcsexe, dslogadmin, naming, dynamicany, iortable, etcl {
+} \ No newline at end of file
diff --git a/TAO/orbsvcs/tests/Security/Crash_Test/Security_Crash_Test.mpc b/TAO/orbsvcs/tests/Security/Crash_Test/Security_Crash_Test.mpc
new file mode 100644
index 00000000000..ead77db2fb1
--- /dev/null
+++ b/TAO/orbsvcs/tests/Security/Crash_Test/Security_Crash_Test.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*server): taoexe, portableserver, ssliop {
+ Source_Files {
+ test_i.cpp
+ server.cpp
+ }
+}
+
+project(*client): taoexe, portableserver, ssliop {
+ Source_Files {
+ client.cpp
+ }
+}
+
diff --git a/TAO/orbsvcs/tests/Trading/ttest_export.h b/TAO/orbsvcs/tests/Trading/ttest_export.h
new file mode 100644
index 00000000000..630a38f0c14
--- /dev/null
+++ b/TAO/orbsvcs/tests/Trading/ttest_export.h
@@ -0,0 +1,40 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef TAO_TTEST_EXPORT_H
+#define TAO_TTEST_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (TAO_TTEST_HAS_DLL)
+# define TAO_TTEST_HAS_DLL 0
+# endif /* ! TAO_TTEST_HAS_DLL */
+#else
+# if !defined (TAO_TTEST_HAS_DLL)
+# define TAO_TTEST_HAS_DLL 1
+# endif /* ! TAO_TTEST_HAS_DLL */
+#endif
+
+#if defined (TAO_TTEST_HAS_DLL) && (TAO_TTEST_HAS_DLL == 1)
+# if defined (TAO_TTEST_BUILD_DLL)
+# define TAO_TTest_Export ACE_Proper_Export_Flag
+# define TAO_TTest_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_TTest_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_TTEST_BUILD_DLL */
+# define TAO_TTest_Export ACE_Proper_Import_Flag
+# define TAO_TTest_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_TTest_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_TTEST_BUILD_DLL */
+#else /* TAO_TTEST_HAS_DLL == 1 */
+# define TAO_TTest_Export
+# define TAO_TTest_SINGLETON_DECLARATION(T)
+# define TAO_TTest_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_TTEST_HAS_DLL == 1 */
+
+#endif /* TAO_TTEST_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/performance-tests/Memory/IORsize/Memory_IORsize.mpc b/TAO/performance-tests/Memory/IORsize/Memory_IORsize.mpc
new file mode 100644
index 00000000000..ea272a36ac2
--- /dev/null
+++ b/TAO/performance-tests/Memory/IORsize/Memory_IORsize.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver {
+ source_files {
+ client.cpp
+ Foo_i.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver {
+ source_files {
+ server.cpp
+ Memory_Growth.cpp
+ }
+}
diff --git a/TAO/performance-tests/Sequence_Latency/DII/DII.mpc b/TAO/performance-tests/Sequence_Latency/DII/DII.mpc
new file mode 100644
index 00000000000..da11b30d725
--- /dev/null
+++ b/TAO/performance-tests/Sequence_Latency/DII/DII.mpc
@@ -0,0 +1,22 @@
+// -*- MPC -*-
+// $Id$
+
+project(* sequence server): server, strategies {
+ avoids += minimum_corba
+
+ Source_Files {
+ Roundtrip.cpp
+ server.cpp
+ }
+}
+
+project(* sequence client): server, strategies, dynamicinterface {
+ exename = client
+ avoids += minimum_corba
+
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tao/Auto_Functor.cpp b/TAO/tao/Auto_Functor.cpp
new file mode 100644
index 00000000000..46bd44f5450
--- /dev/null
+++ b/TAO/tao/Auto_Functor.cpp
@@ -0,0 +1,40 @@
+#ifndef TAO_UTILS_AUTO_FUNCTOR_CPP
+#define TAO_UTILS_AUTO_FUNCTOR_CPP
+
+#include "Auto_Functor.h"
+
+#if !defined(__ACE_INLINE__)
+# include "Auto_Functor.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID (Utils,
+ Auto_Functor,
+ "$Id$")
+
+template<typename X, typename Functor>
+TAO::Utils::Auto_Functor<X,Functor>::~Auto_Functor()
+ ACE_THROW_SPEC (())
+{
+ reset(0);
+}
+
+template<typename X, typename Functor> void
+TAO::Utils::Auto_Functor<X,Functor>::reset (X * p)
+ ACE_THROW_SPEC (())
+{
+ if(p_ != 0)
+ {
+ f_(p_);
+ }
+ p_ = p;
+}
+
+template<typename X, typename Functor>void
+TAO::Utils::Auto_Functor<X,Functor>::reset (X * p, Functor f)
+ ACE_THROW_SPEC (())
+{
+ reset(p);
+ f_ = f;
+}
+
+#endif /*TAO_UTILS_AUTO_FUNCTOR_CPP*/
diff --git a/TAO/tao/Auto_Functor.h b/TAO/tao/Auto_Functor.h
new file mode 100644
index 00000000000..0bfd96ba241
--- /dev/null
+++ b/TAO/tao/Auto_Functor.h
@@ -0,0 +1,147 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file Auto_Functor.h
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ */
+//=============================================================================
+#ifndef TAO_UTILS_AUTO_FUNCTOR_H
+#define TAO_UTILS_AUTO_FUNCTOR_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Environment.h"
+#include "ace/Global_Macros.h"
+
+
+namespace TAO
+{
+ namespace Utils
+ {
+
+ /**
+ * @class Auto_Functor_Ref
+ *
+ * @brief Helper class to implement assignment and copy-construction
+ * as expected
+ */
+ template<typename X, typename Functor>
+ struct Auto_Functor_Ref
+ {
+ X * p_;
+ Functor f_;
+
+ Auto_Functor_Ref(X * p, Functor f);
+ };
+
+ /**
+ * @class Auto_Functor
+ *
+ * @brief Helper template to implement auto_ptr<>-like classes, but
+ * executing a functor in the destructor, instead of always
+ * deleting things.
+ *
+ * The functor is called in the destructor, and it must implement:
+ *
+ * Functor() throw();<BR>
+ * Functor(Functor const &) throw();<BR>
+ * Functor & operator=(Functor const &) throw();<BR>
+ * void operator()(X * p) throw();<BR>
+ *
+ */
+ template<typename X, typename Functor>
+ class Auto_Functor
+ {
+ public:
+ typedef X element_type;
+ typedef Functor functor_type;
+
+ /// Constructor
+ explicit Auto_Functor (X * p = 0,
+ Functor functor = Functor())
+ ACE_THROW_SPEC (());
+
+ Auto_Functor (Auto_Functor & rhs)
+ ACE_THROW_SPEC (());
+
+ Auto_Functor<X,Functor>& operator= (Auto_Functor & rhs)
+ ACE_THROW_SPEC (());
+
+#if !defined(ACE_LACKS_MEMBER_TEMPLATES)
+ template<typename Y>
+ Auto_Functor(Auto_Functor<Y,Functor>& rhs)
+ ACE_THROW_SPEC (());
+
+ template<typename Y>
+ Auto_Functor<X,Functor>& operator= (Auto_Functor<Y,Functor>& rhs)
+ ACE_THROW_SPEC (());
+#endif /* ACE_LACKS_MEMBER_TEMPLATES */
+
+ ~Auto_Functor()
+ ACE_THROW_SPEC (());
+
+ X & operator*() const
+ ACE_THROW_SPEC (());
+
+ X * operator->() const
+ ACE_THROW_SPEC (());
+
+ X * get()
+ ACE_THROW_SPEC (());
+
+ X * release()
+ ACE_THROW_SPEC (());
+
+ void reset (X * p = 0)
+ ACE_THROW_SPEC (());
+
+ void reset (X * p, Functor f)
+ ACE_THROW_SPEC (());
+
+ Functor const & functor() const
+ ACE_THROW_SPEC (());
+
+ Auto_Functor(Auto_Functor_Ref<X,Functor> rhs)
+ ACE_THROW_SPEC (());
+
+ Auto_Functor<X,Functor> & operator=(Auto_Functor_Ref<X,Functor> rhs)
+ ACE_THROW_SPEC (());
+
+#if !defined(ACE_LACKS_MEMBER_TEMPLATES)
+ template<typename Y> operator Auto_Functor_Ref<Y,Functor>()
+ ACE_THROW_SPEC (());
+
+ template<typename Y> operator Auto_Functor<Y,Functor>()
+ ACE_THROW_SPEC (());
+#else
+ operator Auto_Functor_Ref<X,Functor>()
+ ACE_THROW_SPEC (());
+#endif /* ACE_LACKS_MEMBER_TEMPLATES */
+
+ private:
+ X * p_;
+
+ Functor f_;
+ };
+
+ } // namespace Utils
+} // namespace TAO
+
+#if defined(__ACE_INLINE__)
+# include "Auto_Functor.inl"
+#endif /* __ACE_INLINE__ */
+
+#if defined(ACE_TEMPLATES_REQUIRE_SOURCE)
+# include "Auto_Functor.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_UTILS_AUTO_FUNCTOR_H*/
diff --git a/TAO/tao/Auto_Functor.inl b/TAO/tao/Auto_Functor.inl
new file mode 100644
index 00000000000..b880c94fd76
--- /dev/null
+++ b/TAO/tao/Auto_Functor.inl
@@ -0,0 +1,143 @@
+// $Id$
+
+template<typename X, typename Functor> ACE_INLINE
+TAO::Utils::Auto_Functor_Ref<X,Functor>::
+Auto_Functor_Ref(X * p, Functor f)
+ : p_(p)
+ , f_(f)
+{
+}
+
+template<typename X, typename Functor> ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::Auto_Functor(X * p, Functor f)
+ ACE_THROW_SPEC (())
+ : p_(p)
+ , f_(f)
+{
+}
+
+template<typename X, typename Functor> ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::Auto_Functor(Auto_Functor & rhs)
+ ACE_THROW_SPEC (())
+ : p_(rhs.release())
+ , f_(rhs.f_)
+{
+}
+
+template<typename X, typename Functor>
+ACE_INLINE TAO::Utils::Auto_Functor<X,Functor>&
+TAO::Utils::Auto_Functor<X,Functor>:: operator=(Auto_Functor & rhs)
+ ACE_THROW_SPEC (())
+{
+ reset(rhs.release());
+ f_ = rhs.f_;
+ return *this;
+}
+
+#if !defined(ACE_LACKS_MEMBER_TEMPLATES)
+template<typename X, typename Functor> template<typename Y> ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::Auto_Functor(Auto_Functor<Y,Functor>& rhs)
+ ACE_THROW_SPEC (())
+ : p_(rhs.release())
+ , f_(rhs.f_)
+{
+}
+
+template<typename X, typename Functor> template<typename Y>
+ACE_INLINE TAO::Utils::Auto_Functor<X,Functor>&
+TAO::Utils::Auto_Functor<X,Functor>::operator=(Auto_Functor<Y,Functor>& rhs)
+ ACE_THROW_SPEC (())
+{
+ reset(rhs.release());
+ return *this;
+}
+#endif /* ACE_LACKS_MEMBER_TEMPLATES */
+
+template<typename X, typename Functor> ACE_INLINE X &
+TAO::Utils::Auto_Functor<X,Functor>::operator*() const
+ ACE_THROW_SPEC (())
+{
+ return *p_;
+}
+
+template<typename X, typename Functor>
+ACE_INLINE X *
+TAO::Utils::Auto_Functor<X,Functor>::operator->() const
+ ACE_THROW_SPEC (())
+{
+ return p_;
+}
+
+template<typename X, typename Functor>
+ACE_INLINE X *
+TAO::Utils::Auto_Functor<X,Functor>::get()
+ ACE_THROW_SPEC (())
+{
+ return p_;
+}
+
+template<typename X, typename Functor>
+ACE_INLINE X *
+TAO::Utils::Auto_Functor<X,Functor>::release()
+ ACE_THROW_SPEC (())
+{
+ X * tmp = p_;
+ p_ = 0;
+ return tmp;
+}
+
+template<typename X, typename Functor>
+ACE_INLINE Functor const &
+TAO::Utils::Auto_Functor<X,Functor>::functor() const
+ ACE_THROW_SPEC (())
+{
+ return f_;
+}
+
+template<typename X, typename Functor> ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::Auto_Functor(Auto_Functor_Ref<X,Functor> rhs)
+ ACE_THROW_SPEC (())
+ : p_(rhs.p_)
+ , f_(rhs.f_)
+{
+}
+
+template<typename X, typename Functor>
+ACE_INLINE TAO::Utils::Auto_Functor<X,Functor> &
+TAO::Utils::Auto_Functor<X,Functor>::operator=(Auto_Functor_Ref<X,Functor> rhs)
+ ACE_THROW_SPEC (())
+{
+ if(rhs.p_ != p_)
+ {
+ reset(rhs.p_);
+ f_ = rhs.f_;
+ }
+ return *this;
+}
+
+#if !defined(ACE_LACKS_MEMBER_TEMPLATES)
+
+template<typename X, typename Functor> template<typename Y> ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::operator TAO::Utils::Auto_Functor_Ref<Y,Functor>()
+ ACE_THROW_SPEC (())
+{
+ return TAO::Utils::Auto_Functor_Ref<Y,Functor>(release(), f_);
+}
+
+template<typename X, typename Functor> template<typename Y> ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::operator TAO::Utils::Auto_Functor<Y,Functor>()
+ ACE_THROW_SPEC (())
+{
+ return TAO::Utils::Auto_Functor<Y,Functor>(release(), f_);
+}
+
+#else
+
+template<typename X, typename Functor>ACE_INLINE
+TAO::Utils::Auto_Functor<X,Functor>::operator TAO::Utils::Auto_Functor_Ref<X,Functor>()
+ ACE_THROW_SPEC (())
+{
+ return TAO::Utils::Auto_Functor_Ref<X,Functor>(release(), f_);
+}
+
+#endif /* ACE_LACKS_MEMBER_TEMPLATES */
diff --git a/TAO/tao/BoundsA.cpp b/TAO/tao/BoundsA.cpp
new file mode 100644
index 00000000000..f8652527950
--- /dev/null
+++ b/TAO/tao/BoundsA.cpp
@@ -0,0 +1,135 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "BoundsC.h"
+#include "BoundsA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<CORBA::Bounds>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+{
+ CORBA::String_var id;
+
+ if ((cdr >> id.out ()) == 0)
+ {
+ return 0;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::Bounds &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::Bounds>::insert_copy (
+ _tao_any,
+ CORBA::Bounds::_tao_any_destructor,
+ CORBA::_tc_Bounds,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::Bounds *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::Bounds>::insert (
+ _tao_any,
+ CORBA::Bounds::_tao_any_destructor,
+ CORBA::_tc_Bounds,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::Bounds *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::Bounds *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::Bounds *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::Bounds>::extract (
+ _tao_any,
+ CORBA::Bounds::_tao_any_destructor,
+ CORBA::_tc_Bounds,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::Bounds
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::Bounds \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/BoundsA.h b/TAO/tao/BoundsA.h
new file mode 100644
index 00000000000..669102186c2
--- /dev/null
+++ b/TAO/tao/BoundsA.h
@@ -0,0 +1,47 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_BOUNDSA_ANYOP_H_
+#define _TAO_IDL_ORIG_BOUNDSA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::Bounds &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Bounds*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Bounds *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::Bounds *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/CONV_FRAMEA.cpp b/TAO/tao/CONV_FRAMEA.cpp
new file mode 100644
index 00000000000..d187c68384f
--- /dev/null
+++ b/TAO/tao/CONV_FRAMEA.cpp
@@ -0,0 +1,691 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "CONV_FRAMEC.h"
+#include "CONV_FRAMEA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+#include "tao/Typecode.h"
+
+// ==== Handcrafted
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_CONV_FRAME_CodeSetId[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetId (
+ CORBA::tk_alias,
+ sizeof (_oc_CONV_FRAME_CodeSetId),
+ (char *) &_oc_CONV_FRAME_CodeSetId,
+ 0,
+ sizeof (CONV_FRAME::CodeSetId)
+ );
+
+namespace CONV_FRAME
+{
+ ::CORBA::TypeCode_ptr _tc_CodeSetId =
+ &_tc_TAO_tc_CONV_FRAME_CodeSetId;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_CONV_FRAME_CodeSetComponent[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 44,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x6574436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
+ 17,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657443),
+ ACE_NTOHL (0x6f6d706f),
+ ACE_NTOHL (0x6e656e74),
+ ACE_NTOHL (0x0), // name = CodeSetComponent
+ 2, // member count
+ 16,
+ ACE_NTOHL (0x6e617469),
+ ACE_NTOHL (0x76655f63),
+ ACE_NTOHL (0x6f64655f),
+ ACE_NTOHL (0x73657400), // name = native_code_set
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 21,
+ ACE_NTOHL (0x636f6e76),
+ ACE_NTOHL (0x65727369),
+ ACE_NTOHL (0x6f6e5f63),
+ ACE_NTOHL (0x6f64655f),
+ ACE_NTOHL (0x73657473),
+ ACE_NTOHL (0x0), // name = conversion_code_sets
+ CORBA::tk_sequence, // typecode kind
+ 84, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetComponent (
+ CORBA::tk_struct,
+ sizeof (_oc_CONV_FRAME_CodeSetComponent),
+ (char *) &_oc_CONV_FRAME_CodeSetComponent,
+ 0,
+ sizeof (CONV_FRAME::CodeSetComponent)
+ );
+
+namespace CONV_FRAME
+{
+ ::CORBA::TypeCode_ptr _tc_CodeSetComponent =
+ &_tc_TAO_tc_CONV_FRAME_CodeSetComponent;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_CONV_FRAME_CodeSetComponentInfo[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 48,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x6574436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7449),
+ ACE_NTOHL (0x6e666f3a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponentInfo:1.0
+ 21,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657443),
+ ACE_NTOHL (0x6f6d706f),
+ ACE_NTOHL (0x6e656e74),
+ ACE_NTOHL (0x496e666f),
+ ACE_NTOHL (0x0), // name = CodeSetComponentInfo
+ 2, // member count
+ 12,
+ ACE_NTOHL (0x466f7243),
+ ACE_NTOHL (0x68617244),
+ ACE_NTOHL (0x61746100), // name = ForCharData
+ CORBA::tk_struct, // typecode kind
+ 296, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 44,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x6574436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
+ 17,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657443),
+ ACE_NTOHL (0x6f6d706f),
+ ACE_NTOHL (0x6e656e74),
+ ACE_NTOHL (0x0), // name = CodeSetComponent
+ 2, // member count
+ 16,
+ ACE_NTOHL (0x6e617469),
+ ACE_NTOHL (0x76655f63),
+ ACE_NTOHL (0x6f64655f),
+ ACE_NTOHL (0x73657400), // name = native_code_set
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 21,
+ ACE_NTOHL (0x636f6e76),
+ ACE_NTOHL (0x65727369),
+ ACE_NTOHL (0x6f6e5f63),
+ ACE_NTOHL (0x6f64655f),
+ ACE_NTOHL (0x73657473),
+ ACE_NTOHL (0x0), // name = conversion_code_sets
+ CORBA::tk_sequence, // typecode kind
+ 84, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 0U,
+
+
+ 13,
+ ACE_NTOHL (0x466f7257),
+ ACE_NTOHL (0x63686172),
+ ACE_NTOHL (0x44617461),
+ ACE_NTOHL (0x0), // name = ForWcharData
+ CORBA::tk_struct, // typecode kind
+ 296, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 44,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x6574436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
+ 17,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657443),
+ ACE_NTOHL (0x6f6d706f),
+ ACE_NTOHL (0x6e656e74),
+ ACE_NTOHL (0x0), // name = CodeSetComponent
+ 2, // member count
+ 16,
+ ACE_NTOHL (0x6e617469),
+ ACE_NTOHL (0x76655f63),
+ ACE_NTOHL (0x6f64655f),
+ ACE_NTOHL (0x73657400), // name = native_code_set
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 21,
+ ACE_NTOHL (0x636f6e76),
+ ACE_NTOHL (0x65727369),
+ ACE_NTOHL (0x6f6e5f63),
+ ACE_NTOHL (0x6f64655f),
+ ACE_NTOHL (0x73657473),
+ ACE_NTOHL (0x0), // name = conversion_code_sets
+ CORBA::tk_sequence, // typecode kind
+ 84, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 0U,
+
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetComponentInfo (
+ CORBA::tk_struct,
+ sizeof (_oc_CONV_FRAME_CodeSetComponentInfo),
+ (char *) &_oc_CONV_FRAME_CodeSetComponentInfo,
+ 0,
+ sizeof (CONV_FRAME::CodeSetComponentInfo)
+ );
+
+namespace CONV_FRAME
+{
+ ::CORBA::TypeCode_ptr _tc_CodeSetComponentInfo =
+ &_tc_TAO_tc_CONV_FRAME_CodeSetComponentInfo;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_CONV_FRAME_CodeSetContext[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 42,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x6574436f),
+ ACE_NTOHL (0x6e746578),
+ ACE_NTOHL (0x743a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetContext:1.0
+ 15,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657443),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78740000), // name = CodeSetContext
+ 2, // member count
+ 10,
+ ACE_NTOHL (0x63686172),
+ ACE_NTOHL (0x5f646174),
+ ACE_NTOHL (0x61000000), // name = char_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+ 11,
+ ACE_NTOHL (0x77636861),
+ ACE_NTOHL (0x725f6461),
+ ACE_NTOHL (0x74610000), // name = wchar_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 68, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f4e56),
+ ACE_NTOHL (0x5f465241),
+ ACE_NTOHL (0x4d452f43),
+ ACE_NTOHL (0x6f646553),
+ ACE_NTOHL (0x65744964),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+ 10,
+ ACE_NTOHL (0x436f6465),
+ ACE_NTOHL (0x53657449),
+ ACE_NTOHL (0x64000000), // name = CodeSetId
+ CORBA::tk_ulong,
+
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetContext (
+ CORBA::tk_struct,
+ sizeof (_oc_CONV_FRAME_CodeSetContext),
+ (char *) &_oc_CONV_FRAME_CodeSetContext,
+ 0,
+ sizeof (CONV_FRAME::CodeSetContext)
+ );
+
+namespace CONV_FRAME
+{
+ ::CORBA::TypeCode_ptr _tc_CodeSetContext =
+ &_tc_TAO_tc_CONV_FRAME_CodeSetContext;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CONV_FRAME::CodeSetComponent &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetComponent>::insert_copy (
+ _tao_any,
+ CONV_FRAME::CodeSetComponent::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetComponent,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CONV_FRAME::CodeSetComponent *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetComponent>::insert (
+ _tao_any,
+ CONV_FRAME::CodeSetComponent::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetComponent,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CONV_FRAME::CodeSetComponent *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CONV_FRAME::CodeSetComponent *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CONV_FRAME::CodeSetComponent *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetComponent>::extract (
+ _tao_any,
+ CONV_FRAME::CodeSetComponent::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetComponent,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CONV_FRAME::CodeSetComponentInfo &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetComponentInfo>::insert_copy (
+ _tao_any,
+ CONV_FRAME::CodeSetComponentInfo::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetComponentInfo,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CONV_FRAME::CodeSetComponentInfo *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetComponentInfo>::insert (
+ _tao_any,
+ CONV_FRAME::CodeSetComponentInfo::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetComponentInfo,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CONV_FRAME::CodeSetComponentInfo *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CONV_FRAME::CodeSetComponentInfo *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CONV_FRAME::CodeSetComponentInfo *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetComponentInfo>::extract (
+ _tao_any,
+ CONV_FRAME::CodeSetComponentInfo::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetComponentInfo,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CONV_FRAME::CodeSetContext &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetContext>::insert_copy (
+ _tao_any,
+ CONV_FRAME::CodeSetContext::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetContext,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CONV_FRAME::CodeSetContext *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetContext>::insert (
+ _tao_any,
+ CONV_FRAME::CodeSetContext::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetContext,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CONV_FRAME::CodeSetContext *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CONV_FRAME::CodeSetContext *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CONV_FRAME::CodeSetContext *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CONV_FRAME::CodeSetContext>::extract (
+ _tao_any,
+ CONV_FRAME::CodeSetContext::_tao_any_destructor,
+ CONV_FRAME::_tc_CodeSetContext,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CONV_FRAME::CodeSetComponent
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CONV_FRAME::CodeSetComponentInfo
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CONV_FRAME::CodeSetContext
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CONV_FRAME::CodeSetComponent \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CONV_FRAME::CodeSetComponentInfo \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CONV_FRAME::CodeSetContext \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/CONV_FRAMEA.h b/TAO/tao/CONV_FRAMEA.h
new file mode 100644
index 00000000000..ee673eadc2b
--- /dev/null
+++ b/TAO/tao/CONV_FRAMEA.h
@@ -0,0 +1,81 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_CONV_FRAMEA_ANYOP_H_
+#define _TAO_IDL_ORIG_CONV_FRAMEA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_Export
+
+// ==== Handcrafted
+namespace CONV_FRAME
+{
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetId;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetComponent;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetComponentInfo;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetContext;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CONV_FRAME::CodeSetComponent &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CONV_FRAME::CodeSetComponent*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CONV_FRAME::CodeSetComponent *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CONV_FRAME::CodeSetComponent *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CONV_FRAME::CodeSetComponentInfo &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CONV_FRAME::CodeSetComponentInfo*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CONV_FRAME::CodeSetComponentInfo *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CONV_FRAME::CodeSetComponentInfo *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CONV_FRAME::CodeSetContext &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CONV_FRAME::CodeSetContext*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CONV_FRAME::CodeSetContext *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CONV_FRAME::CodeSetContext *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/CurrentA.cpp b/TAO/tao/CurrentA.cpp
new file mode 100644
index 00000000000..943e5880f5e
--- /dev/null
+++ b/TAO/tao/CurrentA.cpp
@@ -0,0 +1,153 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "CurrentC.h"
+#include "CurrentA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+
+
+// ======= Handcrafted
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+static const CORBA::Long _oc_CORBA_Current[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4375),
+ ACE_NTOHL (0x7272656e),
+ ACE_NTOHL (0x743a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/CORBA/Current:1.0
+ 8,
+ ACE_NTOHL (0x43757272),
+ ACE_NTOHL (0x656e7400), // name = Current
+ };
+
+static CORBA::TypeCode _tc_TAO_tc_CORBA_Current (
+ CORBA::tk_objref,
+ sizeof (_oc_CORBA_Current),
+ (char *) &_oc_CORBA_Current,
+ 0,
+ sizeof (CORBA::Current)
+ );
+
+namespace CORBA
+{
+ ::CORBA::TypeCode_ptr _tc_Current =
+ &_tc_TAO_tc_CORBA_Current;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::Current>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::Current>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::Current>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::Current_ptr _tao_elem
+ )
+{
+ CORBA::Current_ptr _tao_objptr =
+ CORBA::Current::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::Current_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<CORBA::Current>::insert (
+ _tao_any,
+ CORBA::Current::_tao_any_destructor,
+ CORBA::_tc_Current,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::Current_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<CORBA::Current>::extract (
+ _tao_any,
+ CORBA::Current::_tao_any_destructor,
+ CORBA::_tc_Current,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Impl_T<
+ CORBA::Current
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ CORBA::Current \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/CurrentA.h b/TAO/tao/CurrentA.h
new file mode 100644
index 00000000000..30e99843ef6
--- /dev/null
+++ b/TAO/tao/CurrentA.h
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_CURRENTA_ANYOP_H_
+#define _TAO_IDL_ORIG_CURRENTA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_Export
+
+// ======= Handcrafted
+namespace CORBA
+{
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:44
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_Current;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Current_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Current_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Current_ptr &);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/DomainA.cpp b/TAO/tao/DomainA.cpp
new file mode 100644
index 00000000000..ec475bb92cf
--- /dev/null
+++ b/TAO/tao/DomainA.cpp
@@ -0,0 +1,239 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "DomainC.h"
+#include "DomainA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::DomainManager>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::DomainManager_ptr _tao_elem
+ )
+{
+ CORBA::DomainManager_ptr _tao_objptr =
+ CORBA::DomainManager::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::DomainManager_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<CORBA::DomainManager>::insert (
+ _tao_any,
+ CORBA::DomainManager::_tao_any_destructor,
+ CORBA::_tc_DomainManager,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::DomainManager_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<CORBA::DomainManager>::extract (
+ _tao_any,
+ CORBA::DomainManager::_tao_any_destructor,
+ CORBA::_tc_DomainManager,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::ConstructionPolicy>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::ConstructionPolicy_ptr _tao_elem
+ )
+{
+ CORBA::ConstructionPolicy_ptr _tao_objptr =
+ CORBA::ConstructionPolicy::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::ConstructionPolicy_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<CORBA::ConstructionPolicy>::insert (
+ _tao_any,
+ CORBA::ConstructionPolicy::_tao_any_destructor,
+ CORBA::_tc_ConstructionPolicy,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::ConstructionPolicy_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<CORBA::ConstructionPolicy>::extract (
+ _tao_any,
+ CORBA::ConstructionPolicy::_tao_any_destructor,
+ CORBA::_tc_ConstructionPolicy,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::DomainManagerList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::DomainManagerList>::insert_copy (
+ _tao_any,
+ CORBA::DomainManagerList::_tao_any_destructor,
+ CORBA::_tc_DomainManagerList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::DomainManagerList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::DomainManagerList>::insert (
+ _tao_any,
+ CORBA::DomainManagerList::_tao_any_destructor,
+ CORBA::_tc_DomainManagerList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::DomainManagerList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::DomainManagerList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::DomainManagerList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::DomainManagerList>::extract (
+ _tao_any,
+ CORBA::DomainManagerList::_tao_any_destructor,
+ CORBA::_tc_DomainManagerList,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Impl_T<
+ CORBA::DomainManager
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ CORBA::ConstructionPolicy
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::DomainManagerList
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ CORBA::DomainManager \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ CORBA::ConstructionPolicy \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::DomainManagerList \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/DomainA.h b/TAO/tao/DomainA.h
new file mode 100644
index 00000000000..c650abad5da
--- /dev/null
+++ b/TAO/tao/DomainA.h
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_DOMAINA_ANYOP_H_
+#define _TAO_IDL_ORIG_DOMAINA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::DomainManager_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::DomainManager_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::DomainManager_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::ConstructionPolicy_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::ConstructionPolicy_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::ConstructionPolicy_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::DomainManagerList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::DomainManagerList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::DomainManagerList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::DomainManagerList *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/DynamicA.cpp b/TAO/tao/DynamicA.cpp
new file mode 100644
index 00000000000..28cb5ad1dab
--- /dev/null
+++ b/TAO/tao/DynamicA.cpp
@@ -0,0 +1,176 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "DynamicC.h"
+#include "DynamicA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const Dynamic::ParameterList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Dynamic::ParameterList>::insert_copy (
+ _tao_any,
+ Dynamic::ParameterList::_tao_any_destructor,
+ Dynamic::_tc_ParameterList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ Dynamic::ParameterList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Dynamic::ParameterList>::insert (
+ _tao_any,
+ Dynamic::ParameterList::_tao_any_destructor,
+ Dynamic::_tc_ParameterList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ Dynamic::ParameterList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const Dynamic::ParameterList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const Dynamic::ParameterList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<Dynamic::ParameterList>::extract (
+ _tao_any,
+ Dynamic::ParameterList::_tao_any_destructor,
+ Dynamic::_tc_ParameterList,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const Dynamic::ExceptionList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Dynamic::ExceptionList>::insert_copy (
+ _tao_any,
+ Dynamic::ExceptionList::_tao_any_destructor,
+ Dynamic::_tc_ExceptionList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ Dynamic::ExceptionList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Dynamic::ExceptionList>::insert (
+ _tao_any,
+ Dynamic::ExceptionList::_tao_any_destructor,
+ Dynamic::_tc_ExceptionList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ Dynamic::ExceptionList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const Dynamic::ExceptionList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const Dynamic::ExceptionList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<Dynamic::ExceptionList>::extract (
+ _tao_any,
+ Dynamic::ExceptionList::_tao_any_destructor,
+ Dynamic::_tc_ExceptionList,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ Dynamic::ParameterList
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ Dynamic::ExceptionList
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ Dynamic::ParameterList \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ Dynamic::ExceptionList \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/DynamicA.h b/TAO/tao/DynamicA.h
new file mode 100644
index 00000000000..aa384a65df9
--- /dev/null
+++ b/TAO/tao/DynamicA.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_DYNAMICA_ANYOP_H_
+#define _TAO_IDL_ORIG_DYNAMICA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const Dynamic::ParameterList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, Dynamic::ParameterList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, Dynamic::ParameterList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const Dynamic::ParameterList *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const Dynamic::ExceptionList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, Dynamic::ExceptionList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, Dynamic::ExceptionList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const Dynamic::ExceptionList *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/Dynamic_ParameterA.cpp b/TAO/tao/Dynamic_ParameterA.cpp
new file mode 100644
index 00000000000..80286e1bf07
--- /dev/null
+++ b/TAO/tao/Dynamic_ParameterA.cpp
@@ -0,0 +1,108 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "Dynamic_ParameterC.h"
+#include "Dynamic_ParameterA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const Dynamic::Parameter &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Dynamic::Parameter>::insert_copy (
+ _tao_any,
+ Dynamic::Parameter::_tao_any_destructor,
+ Dynamic::_tc_Parameter,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ Dynamic::Parameter *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Dynamic::Parameter>::insert (
+ _tao_any,
+ Dynamic::Parameter::_tao_any_destructor,
+ Dynamic::_tc_Parameter,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ Dynamic::Parameter *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const Dynamic::Parameter *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const Dynamic::Parameter *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<Dynamic::Parameter>::extract (
+ _tao_any,
+ Dynamic::Parameter::_tao_any_destructor,
+ Dynamic::_tc_Parameter,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ Dynamic::Parameter
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ Dynamic::Parameter \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/Dynamic_ParameterA.h b/TAO/tao/Dynamic_ParameterA.h
new file mode 100644
index 00000000000..ff59dd8cfcd
--- /dev/null
+++ b/TAO/tao/Dynamic_ParameterA.h
@@ -0,0 +1,47 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_DYNAMIC_PARAMETERA_ANYOP_H_
+#define _TAO_IDL_ORIG_DYNAMIC_PARAMETERA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const Dynamic::Parameter &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, Dynamic::Parameter*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, Dynamic::Parameter *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const Dynamic::Parameter *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/Dynamic_ParameterC.i b/TAO/tao/Dynamic_ParameterC.i
new file mode 100644
index 00000000000..369409f91c8
--- /dev/null
+++ b/TAO/tao/Dynamic_ParameterC.i
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/cdr_op_ci.cpp:70
+
+ACE_INLINE
+CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const Dynamic::Parameter &_tao_aggregate
+ )
+{
+ return
+ (strm << _tao_aggregate.argument) &&
+ (strm << _tao_aggregate.mode);
+}
+
+ACE_INLINE
+CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ Dynamic::Parameter &_tao_aggregate
+ )
+{
+ return
+ (strm >> _tao_aggregate.argument) &&
+ (strm >> _tao_aggregate.mode);
+}
+
diff --git a/TAO/tao/GIOPA.cpp b/TAO/tao/GIOPA.cpp
new file mode 100644
index 00000000000..d851f987d6c
--- /dev/null
+++ b/TAO/tao/GIOPA.cpp
@@ -0,0 +1,244 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "GIOPC.h"
+#include "GIOPA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const GIOP::Version &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<GIOP::Version>::insert_copy (
+ _tao_any,
+ GIOP::Version::_tao_any_destructor,
+ GIOP::_tc_Version,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ GIOP::Version *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<GIOP::Version>::insert (
+ _tao_any,
+ GIOP::Version::_tao_any_destructor,
+ GIOP::_tc_Version,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ GIOP::Version *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const GIOP::Version *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const GIOP::Version *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<GIOP::Version>::extract (
+ _tao_any,
+ GIOP::Version::_tao_any_destructor,
+ GIOP::_tc_Version,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const GIOP::IORAddressingInfo &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<GIOP::IORAddressingInfo>::insert_copy (
+ _tao_any,
+ GIOP::IORAddressingInfo::_tao_any_destructor,
+ GIOP::_tc_IORAddressingInfo,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ GIOP::IORAddressingInfo *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<GIOP::IORAddressingInfo>::insert (
+ _tao_any,
+ GIOP::IORAddressingInfo::_tao_any_destructor,
+ GIOP::_tc_IORAddressingInfo,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ GIOP::IORAddressingInfo *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const GIOP::IORAddressingInfo *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const GIOP::IORAddressingInfo *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<GIOP::IORAddressingInfo>::extract (
+ _tao_any,
+ GIOP::IORAddressingInfo::_tao_any_destructor,
+ GIOP::_tc_IORAddressingInfo,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_union/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const GIOP::TargetAddress &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<GIOP::TargetAddress>::insert_copy (
+ _tao_any,
+ GIOP::TargetAddress::_tao_any_destructor,
+ GIOP::_tc_TargetAddress,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ GIOP::TargetAddress *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<GIOP::TargetAddress>::insert (
+ _tao_any,
+ GIOP::TargetAddress::_tao_any_destructor,
+ GIOP::_tc_TargetAddress,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ GIOP::TargetAddress *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const GIOP::TargetAddress *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const GIOP::TargetAddress *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<GIOP::TargetAddress>::extract (
+ _tao_any,
+ GIOP::TargetAddress::_tao_any_destructor,
+ GIOP::_tc_TargetAddress,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ GIOP::Version
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ GIOP::IORAddressingInfo
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ GIOP::TargetAddress
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ GIOP::Version \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ GIOP::IORAddressingInfo \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ GIOP::TargetAddress \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/GIOPA.h b/TAO/tao/GIOPA.h
new file mode 100644
index 00000000000..c04c1afffe2
--- /dev/null
+++ b/TAO/tao/GIOPA.h
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_GIOPA_ANYOP_H_
+#define _TAO_IDL_ORIG_GIOPA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const GIOP::Version &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, GIOP::Version*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, GIOP::Version *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const GIOP::Version *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const GIOP::IORAddressingInfo &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, GIOP::IORAddressingInfo*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, GIOP::IORAddressingInfo *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const GIOP::IORAddressingInfo *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_union/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const GIOP::TargetAddress &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, GIOP::TargetAddress*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, GIOP::TargetAddress *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const GIOP::TargetAddress *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/IIOPA.cpp b/TAO/tao/IIOPA.cpp
new file mode 100644
index 00000000000..1916477725e
--- /dev/null
+++ b/TAO/tao/IIOPA.cpp
@@ -0,0 +1,466 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "IIOPC.h"
+#include "IIOPA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IIOP_ListenPoint[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 33,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x2f4c6973),
+ ACE_NTOHL (0x74656e50),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
+ 12,
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x656e506f),
+ ACE_NTOHL (0x696e7400), // name = ListenPoint
+ 2, // member count
+ 5,
+ ACE_NTOHL (0x686f7374),
+ ACE_NTOHL (0x0), // name = host
+ CORBA::tk_string,
+ 0U, // string length
+ 5,
+ ACE_NTOHL (0x706f7274),
+ ACE_NTOHL (0x0), // name = port
+ CORBA::tk_ushort,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IIOP_ListenPoint (
+ CORBA::tk_struct,
+ sizeof (_oc_IIOP_ListenPoint),
+ (char *) &_oc_IIOP_ListenPoint,
+ 0,
+ sizeof (IIOP::ListenPoint)
+ );
+
+namespace IIOP
+{
+ ::CORBA::TypeCode_ptr _tc_ListenPoint =
+ &_tc_TAO_tc_IIOP_ListenPoint;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IIOP_ListenPointList[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x2f4c6973),
+ ACE_NTOHL (0x74656e50),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPointList:1.0
+ 16,
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x656e506f),
+ ACE_NTOHL (0x696e744c),
+ ACE_NTOHL (0x69737400), // name = ListenPointList
+ CORBA::tk_sequence, // typecode kind
+ 116, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 100, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 33,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x2f4c6973),
+ ACE_NTOHL (0x74656e50),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
+ 12,
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x656e506f),
+ ACE_NTOHL (0x696e7400), // name = ListenPoint
+ 2, // member count
+ 5,
+ ACE_NTOHL (0x686f7374),
+ ACE_NTOHL (0x0), // name = host
+ CORBA::tk_string,
+ 0U, // string length
+ 5,
+ ACE_NTOHL (0x706f7274),
+ ACE_NTOHL (0x0), // name = port
+ CORBA::tk_ushort,
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IIOP_ListenPointList (
+ CORBA::tk_alias,
+ sizeof (_oc_IIOP_ListenPointList),
+ (char *) &_oc_IIOP_ListenPointList,
+ 0,
+ sizeof (IIOP::ListenPointList)
+ );
+
+namespace IIOP
+{
+ ::CORBA::TypeCode_ptr _tc_ListenPointList =
+ &_tc_TAO_tc_IIOP_ListenPointList;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IIOP_BiDirIIOPServiceContext[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 45,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x2f426944),
+ ACE_NTOHL (0x69724949),
+ ACE_NTOHL (0x4f505365),
+ ACE_NTOHL (0x72766963),
+ ACE_NTOHL (0x65436f6e),
+ ACE_NTOHL (0x74657874),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/BiDirIIOPServiceContext:1.0
+ 24,
+ ACE_NTOHL (0x42694469),
+ ACE_NTOHL (0x7249494f),
+ ACE_NTOHL (0x50536572),
+ ACE_NTOHL (0x76696365),
+ ACE_NTOHL (0x436f6e74),
+ ACE_NTOHL (0x65787400), // name = BiDirIIOPServiceContext
+ 1, // member count
+ 14,
+ ACE_NTOHL (0x6c697374),
+ ACE_NTOHL (0x656e5f70),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x73000000), // name = listen_points
+ CORBA::tk_alias, // typecode kind for typedefs
+ 192, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x2f4c6973),
+ ACE_NTOHL (0x74656e50),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPointList:1.0
+ 16,
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x656e506f),
+ ACE_NTOHL (0x696e744c),
+ ACE_NTOHL (0x69737400), // name = ListenPointList
+ CORBA::tk_sequence, // typecode kind
+ 116, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 100, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 33,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x2f4c6973),
+ ACE_NTOHL (0x74656e50),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
+ 12,
+ ACE_NTOHL (0x4c697374),
+ ACE_NTOHL (0x656e506f),
+ ACE_NTOHL (0x696e7400), // name = ListenPoint
+ 2, // member count
+ 5,
+ ACE_NTOHL (0x686f7374),
+ ACE_NTOHL (0x0), // name = host
+ CORBA::tk_string,
+ 0U, // string length
+ 5,
+ ACE_NTOHL (0x706f7274),
+ ACE_NTOHL (0x0), // name = port
+ CORBA::tk_ushort,
+
+
+ 0U,
+
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IIOP_BiDirIIOPServiceContext (
+ CORBA::tk_struct,
+ sizeof (_oc_IIOP_BiDirIIOPServiceContext),
+ (char *) &_oc_IIOP_BiDirIIOPServiceContext,
+ 0,
+ sizeof (IIOP::BiDirIIOPServiceContext)
+ );
+
+namespace IIOP
+{
+ ::CORBA::TypeCode_ptr _tc_BiDirIIOPServiceContext =
+ &_tc_TAO_tc_IIOP_BiDirIIOPServiceContext;
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IIOP::ListenPoint &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IIOP::ListenPoint>::insert_copy (
+ _tao_any,
+ IIOP::ListenPoint::_tao_any_destructor,
+ IIOP::_tc_ListenPoint,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IIOP::ListenPoint *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IIOP::ListenPoint>::insert (
+ _tao_any,
+ IIOP::ListenPoint::_tao_any_destructor,
+ IIOP::_tc_ListenPoint,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IIOP::ListenPoint *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IIOP::ListenPoint *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IIOP::ListenPoint *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IIOP::ListenPoint>::extract (
+ _tao_any,
+ IIOP::ListenPoint::_tao_any_destructor,
+ IIOP::_tc_ListenPoint,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IIOP::ListenPointList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IIOP::ListenPointList>::insert_copy (
+ _tao_any,
+ IIOP::ListenPointList::_tao_any_destructor,
+ IIOP::_tc_ListenPointList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IIOP::ListenPointList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IIOP::ListenPointList>::insert (
+ _tao_any,
+ IIOP::ListenPointList::_tao_any_destructor,
+ IIOP::_tc_ListenPointList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IIOP::ListenPointList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IIOP::ListenPointList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IIOP::ListenPointList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IIOP::ListenPointList>::extract (
+ _tao_any,
+ IIOP::ListenPointList::_tao_any_destructor,
+ IIOP::_tc_ListenPointList,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IIOP::BiDirIIOPServiceContext &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IIOP::BiDirIIOPServiceContext>::insert_copy (
+ _tao_any,
+ IIOP::BiDirIIOPServiceContext::_tao_any_destructor,
+ IIOP::_tc_BiDirIIOPServiceContext,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IIOP::BiDirIIOPServiceContext *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IIOP::BiDirIIOPServiceContext>::insert (
+ _tao_any,
+ IIOP::BiDirIIOPServiceContext::_tao_any_destructor,
+ IIOP::_tc_BiDirIIOPServiceContext,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IIOP::BiDirIIOPServiceContext *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IIOP::BiDirIIOPServiceContext *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IIOP::BiDirIIOPServiceContext *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IIOP::BiDirIIOPServiceContext>::extract (
+ _tao_any,
+ IIOP::BiDirIIOPServiceContext::_tao_any_destructor,
+ IIOP::_tc_BiDirIIOPServiceContext,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IIOP::ListenPoint
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IIOP::ListenPointList
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IIOP::BiDirIIOPServiceContext
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IIOP::ListenPoint \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IIOP::ListenPointList \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IIOP::BiDirIIOPServiceContext \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/IIOPA.h b/TAO/tao/IIOPA.h
new file mode 100644
index 00000000000..40ff1e629de
--- /dev/null
+++ b/TAO/tao/IIOPA.h
@@ -0,0 +1,78 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_IIOPA_ANYOP_H_
+#define _TAO_IDL_ORIG_IIOPA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_Export
+
+// ==== Hancrafted
+namespace IIOP
+{
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ListenPoint;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ListenPointList;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_BiDirIIOPServiceContext;
+}
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IIOP::ListenPoint &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IIOP::ListenPoint*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IIOP::ListenPoint *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IIOP::ListenPoint *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IIOP::ListenPointList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IIOP::ListenPointList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IIOP::ListenPointList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IIOP::ListenPointList *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IIOP::BiDirIIOPServiceContext &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IIOP::BiDirIIOPServiceContext*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IIOP::BiDirIIOPServiceContext *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IIOP::BiDirIIOPServiceContext *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/IIOP_EndpointsA.cpp b/TAO/tao/IIOP_EndpointsA.cpp
new file mode 100644
index 00000000000..f1c51767ad8
--- /dev/null
+++ b/TAO/tao/IIOP_EndpointsA.cpp
@@ -0,0 +1,310 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "IIOP_EndpointsC.h"
+#include "IIOP_EndpointsA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_TAO_IIOP_Endpoint_Info[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x54414f2f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x5f456e64),
+ ACE_NTOHL (0x706f696e),
+ ACE_NTOHL (0x745f496e),
+ ACE_NTOHL (0x666f3a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
+ 19,
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x5f456e64),
+ ACE_NTOHL (0x706f696e),
+ ACE_NTOHL (0x745f496e),
+ ACE_NTOHL (0x666f0000), // name = IIOP_Endpoint_Info
+ 3, // member count
+ 5,
+ ACE_NTOHL (0x686f7374),
+ ACE_NTOHL (0x0), // name = host
+ CORBA::tk_string,
+ 0U, // string length
+ 5,
+ ACE_NTOHL (0x706f7274),
+ ACE_NTOHL (0x0), // name = port
+ CORBA::tk_short,
+
+ 9,
+ ACE_NTOHL (0x7072696f),
+ ACE_NTOHL (0x72697479),
+ ACE_NTOHL (0x0), // name = priority
+ CORBA::tk_short,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_TAO_IIOP_Endpoint_Info (
+ CORBA::tk_struct,
+ sizeof (_oc_TAO_IIOP_Endpoint_Info),
+ (char *) &_oc_TAO_IIOP_Endpoint_Info,
+ 0,
+ sizeof (TAO::IIOP_Endpoint_Info)
+ );
+
+namespace TAO
+{
+ ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info =
+ &_tc_TAO_tc_TAO_IIOP_Endpoint_Info;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_TAO_IIOPEndpointSequence[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 33,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x54414f2f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x456e6470),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x53657175),
+ ACE_NTOHL (0x656e6365),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:TAO/IIOPEndpointSequence:1.0
+ 21,
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x456e6470),
+ ACE_NTOHL (0x6f696e74),
+ ACE_NTOHL (0x53657175),
+ ACE_NTOHL (0x656e6365),
+ ACE_NTOHL (0x0), // name = IIOPEndpointSequence
+ CORBA::tk_sequence, // typecode kind
+ 140, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 124, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x54414f2f),
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x5f456e64),
+ ACE_NTOHL (0x706f696e),
+ ACE_NTOHL (0x745f496e),
+ ACE_NTOHL (0x666f3a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
+ 19,
+ ACE_NTOHL (0x49494f50),
+ ACE_NTOHL (0x5f456e64),
+ ACE_NTOHL (0x706f696e),
+ ACE_NTOHL (0x745f496e),
+ ACE_NTOHL (0x666f0000), // name = IIOP_Endpoint_Info
+ 3, // member count
+ 5,
+ ACE_NTOHL (0x686f7374),
+ ACE_NTOHL (0x0), // name = host
+ CORBA::tk_string,
+ 0U, // string length
+ 5,
+ ACE_NTOHL (0x706f7274),
+ ACE_NTOHL (0x0), // name = port
+ CORBA::tk_short,
+
+ 9,
+ ACE_NTOHL (0x7072696f),
+ ACE_NTOHL (0x72697479),
+ ACE_NTOHL (0x0), // name = priority
+ CORBA::tk_short,
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_TAO_IIOPEndpointSequence (
+ CORBA::tk_alias,
+ sizeof (_oc_TAO_IIOPEndpointSequence),
+ (char *) &_oc_TAO_IIOPEndpointSequence,
+ 0,
+ sizeof (TAO::IIOPEndpointSequence)
+ );
+
+namespace TAO
+{
+ ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence =
+ &_tc_TAO_tc_TAO_IIOPEndpointSequence;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const TAO::IIOP_Endpoint_Info &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TAO::IIOP_Endpoint_Info>::insert_copy (
+ _tao_any,
+ TAO::IIOP_Endpoint_Info::_tao_any_destructor,
+ TAO::_tc_IIOP_Endpoint_Info,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ TAO::IIOP_Endpoint_Info *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TAO::IIOP_Endpoint_Info>::insert (
+ _tao_any,
+ TAO::IIOP_Endpoint_Info::_tao_any_destructor,
+ TAO::_tc_IIOP_Endpoint_Info,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ TAO::IIOP_Endpoint_Info *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const TAO::IIOP_Endpoint_Info *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const TAO::IIOP_Endpoint_Info *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<TAO::IIOP_Endpoint_Info>::extract (
+ _tao_any,
+ TAO::IIOP_Endpoint_Info::_tao_any_destructor,
+ TAO::_tc_IIOP_Endpoint_Info,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const TAO::IIOPEndpointSequence &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TAO::IIOPEndpointSequence>::insert_copy (
+ _tao_any,
+ TAO::IIOPEndpointSequence::_tao_any_destructor,
+ TAO::_tc_IIOPEndpointSequence,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ TAO::IIOPEndpointSequence *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TAO::IIOPEndpointSequence>::insert (
+ _tao_any,
+ TAO::IIOPEndpointSequence::_tao_any_destructor,
+ TAO::_tc_IIOPEndpointSequence,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ TAO::IIOPEndpointSequence *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const TAO::IIOPEndpointSequence *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const TAO::IIOPEndpointSequence *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<TAO::IIOPEndpointSequence>::extract (
+ _tao_any,
+ TAO::IIOPEndpointSequence::_tao_any_destructor,
+ TAO::_tc_IIOPEndpointSequence,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ TAO::IIOP_Endpoint_Info
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ TAO::IIOPEndpointSequence
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ TAO::IIOP_Endpoint_Info \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ TAO::IIOPEndpointSequence \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/IIOP_EndpointsA.h b/TAO/tao/IIOP_EndpointsA.h
new file mode 100644
index 00000000000..7089a944483
--- /dev/null
+++ b/TAO/tao/IIOP_EndpointsA.h
@@ -0,0 +1,69 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_IIOP_ENDPOINTSA_ANYOP_H_
+#define _TAO_IDL_ORIG_IIOP_ENDPOINTSA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_Export
+
+// ====== Handcrafted
+namespace TAO
+{
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const TAO::IIOP_Endpoint_Info &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, TAO::IIOP_Endpoint_Info*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, TAO::IIOP_Endpoint_Info *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const TAO::IIOP_Endpoint_Info *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const TAO::IIOPEndpointSequence &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, TAO::IIOPEndpointSequence*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, TAO::IIOPEndpointSequence *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const TAO::IIOPEndpointSequence *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/IIOP_EndpointsC.i b/TAO/tao/IIOP_EndpointsC.i
new file mode 100644
index 00000000000..7a6d636dd76
--- /dev/null
+++ b/TAO/tao/IIOP_EndpointsC.i
@@ -0,0 +1,73 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/cdr_op_ci.cpp:70
+
+ACE_INLINE
+CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const TAO::IIOP_Endpoint_Info &_tao_aggregate
+ )
+{
+ return
+ (strm << _tao_aggregate.host.in ()) &&
+ (strm << _tao_aggregate.port) &&
+ (strm << _tao_aggregate.priority);
+}
+
+ACE_INLINE
+CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ TAO::IIOP_Endpoint_Info &_tao_aggregate
+ )
+{
+ return
+ (strm >> _tao_aggregate.host.out ()) &&
+ (strm >> _tao_aggregate.port) &&
+ (strm >> _tao_aggregate.priority);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/cdr_op_ci.cpp:81
+
+#if !defined _TAO_CDR_OP_TAO_IIOPEndpointSequence_I_
+#define _TAO_CDR_OP_TAO_IIOPEndpointSequence_I_
+
+CORBA::Boolean TAO_Export operator<< (
+ TAO_OutputCDR &,
+ const TAO::IIOPEndpointSequence &
+ );
+
+CORBA::Boolean TAO_Export operator>> (
+ TAO_InputCDR &,
+ TAO::IIOPEndpointSequence &
+ );
+
+#endif /* _TAO_CDR_OP_TAO_IIOPEndpointSequence_I_ */
+
diff --git a/TAO/tao/IOP_CodecA.cpp b/TAO/tao/IOP_CodecA.cpp
new file mode 100644
index 00000000000..aa7a3982d8c
--- /dev/null
+++ b/TAO/tao/IOP_CodecA.cpp
@@ -0,0 +1,595 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "IOP_CodecC.h"
+#include "IOP_CodecA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<IOP::Codec>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<IOP::Codec>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<IOP::Codec>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::Codec_ptr _tao_elem
+ )
+{
+ IOP::Codec_ptr _tao_objptr =
+ IOP::Codec::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::Codec_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<IOP::Codec>::insert (
+ _tao_any,
+ IOP::Codec::_tao_any_destructor,
+ IOP::_tc_Codec,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::Codec_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<IOP::Codec>::extract (
+ _tao_any,
+ IOP::Codec::_tao_any_destructor,
+ IOP::_tc_Codec,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::Codec::InvalidTypeForEncoding>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::Codec::InvalidTypeForEncoding>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::Codec::InvalidTypeForEncoding &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Codec::InvalidTypeForEncoding>::insert_copy (
+ _tao_any,
+ IOP::Codec::InvalidTypeForEncoding::_tao_any_destructor,
+ IOP::Codec::_tc_InvalidTypeForEncoding,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::Codec::InvalidTypeForEncoding *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Codec::InvalidTypeForEncoding>::insert (
+ _tao_any,
+ IOP::Codec::InvalidTypeForEncoding::_tao_any_destructor,
+ IOP::Codec::_tc_InvalidTypeForEncoding,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::Codec::InvalidTypeForEncoding *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::Codec::InvalidTypeForEncoding *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::Codec::InvalidTypeForEncoding *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::Codec::InvalidTypeForEncoding>::extract (
+ _tao_any,
+ IOP::Codec::InvalidTypeForEncoding::_tao_any_destructor,
+ IOP::Codec::_tc_InvalidTypeForEncoding,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::Codec::FormatMismatch>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::Codec::FormatMismatch>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::Codec::FormatMismatch &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Codec::FormatMismatch>::insert_copy (
+ _tao_any,
+ IOP::Codec::FormatMismatch::_tao_any_destructor,
+ IOP::Codec::_tc_FormatMismatch,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::Codec::FormatMismatch *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Codec::FormatMismatch>::insert (
+ _tao_any,
+ IOP::Codec::FormatMismatch::_tao_any_destructor,
+ IOP::Codec::_tc_FormatMismatch,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::Codec::FormatMismatch *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::Codec::FormatMismatch *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::Codec::FormatMismatch *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::Codec::FormatMismatch>::extract (
+ _tao_any,
+ IOP::Codec::FormatMismatch::_tao_any_destructor,
+ IOP::Codec::_tc_FormatMismatch,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::Codec::TypeMismatch>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::Codec::TypeMismatch>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::Codec::TypeMismatch &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Codec::TypeMismatch>::insert_copy (
+ _tao_any,
+ IOP::Codec::TypeMismatch::_tao_any_destructor,
+ IOP::Codec::_tc_TypeMismatch,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::Codec::TypeMismatch *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Codec::TypeMismatch>::insert (
+ _tao_any,
+ IOP::Codec::TypeMismatch::_tao_any_destructor,
+ IOP::Codec::_tc_TypeMismatch,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::Codec::TypeMismatch *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::Codec::TypeMismatch *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::Codec::TypeMismatch *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::Codec::TypeMismatch>::extract (
+ _tao_any,
+ IOP::Codec::TypeMismatch::_tao_any_destructor,
+ IOP::Codec::_tc_TypeMismatch,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::Encoding &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Encoding>::insert_copy (
+ _tao_any,
+ IOP::Encoding::_tao_any_destructor,
+ IOP::_tc_Encoding,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::Encoding *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::Encoding>::insert (
+ _tao_any,
+ IOP::Encoding::_tao_any_destructor,
+ IOP::_tc_Encoding,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::Encoding *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::Encoding *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::Encoding *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::Encoding>::extract (
+ _tao_any,
+ IOP::Encoding::_tao_any_destructor,
+ IOP::_tc_Encoding,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<IOP::CodecFactory>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<IOP::CodecFactory>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<IOP::CodecFactory>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::CodecFactory_ptr _tao_elem
+ )
+{
+ IOP::CodecFactory_ptr _tao_objptr =
+ IOP::CodecFactory::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::CodecFactory_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<IOP::CodecFactory>::insert (
+ _tao_any,
+ IOP::CodecFactory::_tao_any_destructor,
+ IOP::_tc_CodecFactory,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::CodecFactory_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<IOP::CodecFactory>::extract (
+ _tao_any,
+ IOP::CodecFactory::_tao_any_destructor,
+ IOP::_tc_CodecFactory,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::CodecFactory::UnknownEncoding>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<IOP::CodecFactory::UnknownEncoding>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::CodecFactory::UnknownEncoding &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::CodecFactory::UnknownEncoding>::insert_copy (
+ _tao_any,
+ IOP::CodecFactory::UnknownEncoding::_tao_any_destructor,
+ IOP::CodecFactory::_tc_UnknownEncoding,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::CodecFactory::UnknownEncoding *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::CodecFactory::UnknownEncoding>::insert (
+ _tao_any,
+ IOP::CodecFactory::UnknownEncoding::_tao_any_destructor,
+ IOP::CodecFactory::_tc_UnknownEncoding,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::CodecFactory::UnknownEncoding *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::CodecFactory::UnknownEncoding *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::CodecFactory::UnknownEncoding *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::CodecFactory::UnknownEncoding>::extract (
+ _tao_any,
+ IOP::CodecFactory::UnknownEncoding::_tao_any_destructor,
+ IOP::CodecFactory::_tc_UnknownEncoding,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::Codec::InvalidTypeForEncoding
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::Codec::FormatMismatch
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::Codec::TypeMismatch
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ IOP::Codec
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::Encoding
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::CodecFactory::UnknownEncoding
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ IOP::CodecFactory
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::Codec::InvalidTypeForEncoding \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::Codec::FormatMismatch \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::Codec::TypeMismatch \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ IOP::Codec \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::Encoding \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::CodecFactory::UnknownEncoding \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ IOP::CodecFactory \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/IOP_CodecA.h b/TAO/tao/IOP_CodecA.h
new file mode 100644
index 00000000000..9d27ae4ceed
--- /dev/null
+++ b/TAO/tao/IOP_CodecA.h
@@ -0,0 +1,93 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_IOP_CODECA_ANYOP_H_
+#define _TAO_IDL_ORIG_IOP_CODECA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, IOP::Codec_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, IOP::Codec_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::Codec_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::Codec::InvalidTypeForEncoding &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::Codec::InvalidTypeForEncoding*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::Codec::InvalidTypeForEncoding *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::Codec::InvalidTypeForEncoding *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::Codec::FormatMismatch &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::Codec::FormatMismatch*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::Codec::FormatMismatch *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::Codec::FormatMismatch *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::Codec::TypeMismatch &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::Codec::TypeMismatch*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::Codec::TypeMismatch *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::Codec::TypeMismatch *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::Encoding &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::Encoding*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::Encoding *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::Encoding *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, IOP::CodecFactory_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, IOP::CodecFactory_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::CodecFactory_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::CodecFactory::UnknownEncoding &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::CodecFactory::UnknownEncoding*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::CodecFactory::UnknownEncoding *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::CodecFactory::UnknownEncoding *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/IOP_IORA.cpp b/TAO/tao/IOP_IORA.cpp
new file mode 100644
index 00000000000..34da5a13aa3
--- /dev/null
+++ b/TAO/tao/IOP_IORA.cpp
@@ -0,0 +1,1541 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "IOP_IORC.h"
+#include "IOP_IORA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+//======= Handcrafted
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_ProfileId[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x50726f66),
+ ACE_NTOHL (0x696c6549),
+ ACE_NTOHL (0x643a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ProfileId:1.0
+ 10,
+ ACE_NTOHL (0x50726f66),
+ ACE_NTOHL (0x696c6549),
+ ACE_NTOHL (0x64000000), // name = ProfileId
+ CORBA::tk_ulong,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_ProfileId (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_ProfileId),
+ (char *) &_oc_IOP_ProfileId,
+ 0,
+ sizeof (IOP::ProfileId)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_ProfileId =
+ &_tc_TAO_tc_IOP_ProfileId;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_TaggedProfile[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 34,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x65645072),
+ ACE_NTOHL (0x6f66696c),
+ ACE_NTOHL (0x653a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/TaggedProfile:1.0
+ 14,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x65645072),
+ ACE_NTOHL (0x6f66696c),
+ ACE_NTOHL (0x65000000), // name = TaggedProfile
+ 2, // member count
+ 4,
+ ACE_NTOHL (0x74616700), // name = tag
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x50726f66),
+ ACE_NTOHL (0x696c6549),
+ ACE_NTOHL (0x643a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ProfileId:1.0
+ 10,
+ ACE_NTOHL (0x50726f66),
+ ACE_NTOHL (0x696c6549),
+ ACE_NTOHL (0x64000000), // name = ProfileId
+ CORBA::tk_ulong,
+
+
+ 13,
+ ACE_NTOHL (0x70726f66),
+ ACE_NTOHL (0x696c655f),
+ ACE_NTOHL (0x64617461),
+ ACE_NTOHL (0x0), // name = profile_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_TaggedProfile (
+ CORBA::tk_struct,
+ sizeof (_oc_IOP_TaggedProfile),
+ (char *) &_oc_IOP_TaggedProfile,
+ 0,
+ sizeof (IOP::TaggedProfile)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_TaggedProfile =
+ &_tc_TAO_tc_IOP_TaggedProfile;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_IOR[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 24,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x494f523a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/IOR:1.0
+ 4,
+ ACE_NTOHL (0x494f5200), // name = IOR
+ 2, // member count
+ 8,
+ ACE_NTOHL (0x74797065),
+ ACE_NTOHL (0x5f696400), // name = type_id
+ CORBA::tk_string,
+ 0U, // string length
+ 9,
+ ACE_NTOHL (0x70726f66),
+ ACE_NTOHL (0x696c6573),
+ ACE_NTOHL (0x0), // name = profiles
+ CORBA::tk_sequence, // typecode kind
+ 264, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 248, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 34,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x65645072),
+ ACE_NTOHL (0x6f66696c),
+ ACE_NTOHL (0x653a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/TaggedProfile:1.0
+ 14,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x65645072),
+ ACE_NTOHL (0x6f66696c),
+ ACE_NTOHL (0x65000000), // name = TaggedProfile
+ 2, // member count
+ 4,
+ ACE_NTOHL (0x74616700), // name = tag
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x50726f66),
+ ACE_NTOHL (0x696c6549),
+ ACE_NTOHL (0x643a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ProfileId:1.0
+ 10,
+ ACE_NTOHL (0x50726f66),
+ ACE_NTOHL (0x696c6549),
+ ACE_NTOHL (0x64000000), // name = ProfileId
+ CORBA::tk_ulong,
+
+
+ 13,
+ ACE_NTOHL (0x70726f66),
+ ACE_NTOHL (0x696c655f),
+ ACE_NTOHL (0x64617461),
+ ACE_NTOHL (0x0), // name = profile_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_IOR (
+ CORBA::tk_struct,
+ sizeof (_oc_IOP_IOR),
+ (char *) &_oc_IOP_IOR,
+ 0,
+ sizeof (IOP::IOR)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_IOR =
+ &_tc_TAO_tc_IOP_IOR;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_ComponentId[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 32,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7449643a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/ComponentId:1.0
+ 12,
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x74496400), // name = ComponentId
+ CORBA::tk_ulong,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_ComponentId (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_ComponentId),
+ (char *) &_oc_IOP_ComponentId,
+ 0,
+ sizeof (IOP::ComponentId)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_ComponentId =
+ &_tc_TAO_tc_IOP_ComponentId;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_TaggedComponent[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 36,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/TaggedComponent:1.0
+ 16,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7400), // name = TaggedComponent
+ 2, // member count
+ 4,
+ ACE_NTOHL (0x74616700), // name = tag
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 32,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7449643a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/ComponentId:1.0
+ 12,
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x74496400), // name = ComponentId
+ CORBA::tk_ulong,
+
+
+ 15,
+ ACE_NTOHL (0x636f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x745f6461),
+ ACE_NTOHL (0x74610000), // name = component_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_TaggedComponent (
+ CORBA::tk_struct,
+ sizeof (_oc_IOP_TaggedComponent),
+ (char *) &_oc_IOP_TaggedComponent,
+ 0,
+ sizeof (IOP::TaggedComponent)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_TaggedComponent =
+ &_tc_TAO_tc_IOP_TaggedComponent;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_MultipleComponentProfile[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 45,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x4d756c74),
+ ACE_NTOHL (0x69706c65),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7450726f),
+ ACE_NTOHL (0x66696c65),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IOP/MultipleComponentProfile:1.0
+ 25,
+ ACE_NTOHL (0x4d756c74),
+ ACE_NTOHL (0x69706c65),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7450726f),
+ ACE_NTOHL (0x66696c65),
+ ACE_NTOHL (0x0), // name = MultipleComponentProfile
+ CORBA::tk_sequence, // typecode kind
+ 264, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 248, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 36,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/TaggedComponent:1.0
+ 16,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7400), // name = TaggedComponent
+ 2, // member count
+ 4,
+ ACE_NTOHL (0x74616700), // name = tag
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 32,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7449643a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/ComponentId:1.0
+ 12,
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x74496400), // name = ComponentId
+ CORBA::tk_ulong,
+
+
+ 15,
+ ACE_NTOHL (0x636f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x745f6461),
+ ACE_NTOHL (0x74610000), // name = component_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_MultipleComponentProfile (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_MultipleComponentProfile),
+ (char *) &_oc_IOP_MultipleComponentProfile,
+ 0,
+ sizeof (IOP::MultipleComponentProfile)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_MultipleComponentProfile =
+ &_tc_TAO_tc_IOP_MultipleComponentProfile;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_TaggedComponentList[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 40,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e744c),
+ ACE_NTOHL (0x6973743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/TaggedComponentList:1.0
+ 20,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e744c),
+ ACE_NTOHL (0x69737400), // name = TaggedComponentList
+ CORBA::tk_sequence, // typecode kind
+ 264, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 248, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 36,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/TaggedComponent:1.0
+ 16,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7400), // name = TaggedComponent
+ 2, // member count
+ 4,
+ ACE_NTOHL (0x74616700), // name = tag
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 32,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7449643a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/ComponentId:1.0
+ 12,
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x74496400), // name = ComponentId
+ CORBA::tk_ulong,
+
+
+ 15,
+ ACE_NTOHL (0x636f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x745f6461),
+ ACE_NTOHL (0x74610000), // name = component_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_TaggedComponentList (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_TaggedComponentList),
+ (char *) &_oc_IOP_TaggedComponentList,
+ 0,
+ sizeof (IOP::TaggedComponentList)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_TaggedComponentList =
+ &_tc_TAO_tc_IOP_TaggedComponentList;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_TaggedComponentSeq[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 39,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/IOP/TaggedComponentSeq:1.0
+ 19,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7453),
+ ACE_NTOHL (0x65710000), // name = TaggedComponentSeq
+ CORBA::tk_sequence, // typecode kind
+ 264, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 248, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 36,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e743a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/TaggedComponent:1.0
+ 16,
+ ACE_NTOHL (0x54616767),
+ ACE_NTOHL (0x6564436f),
+ ACE_NTOHL (0x6d706f6e),
+ ACE_NTOHL (0x656e7400), // name = TaggedComponent
+ 2, // member count
+ 4,
+ ACE_NTOHL (0x74616700), // name = tag
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 32,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x7449643a),
+ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/ComponentId:1.0
+ 12,
+ ACE_NTOHL (0x436f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x74496400), // name = ComponentId
+ CORBA::tk_ulong,
+
+
+ 15,
+ ACE_NTOHL (0x636f6d70),
+ ACE_NTOHL (0x6f6e656e),
+ ACE_NTOHL (0x745f6461),
+ ACE_NTOHL (0x74610000), // name = component_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_TaggedComponentSeq (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_TaggedComponentSeq),
+ (char *) &_oc_IOP_TaggedComponentSeq,
+ 0,
+ sizeof (IOP::TaggedComponentSeq)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_TaggedComponentSeq =
+ &_tc_TAO_tc_IOP_TaggedComponentSeq;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_ServiceId[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636549),
+ ACE_NTOHL (0x643a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ServiceId:1.0
+ 10,
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636549),
+ ACE_NTOHL (0x64000000), // name = ServiceId
+ CORBA::tk_ulong,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_ServiceId (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_ServiceId),
+ (char *) &_oc_IOP_ServiceId,
+ 0,
+ sizeof (IOP::ServiceId)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_ServiceId =
+ &_tc_TAO_tc_IOP_ServiceId;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_ServiceContext[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 35,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636543),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78743a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/IOP/ServiceContext:1.0
+ 15,
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636543),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78740000), // name = ServiceContext
+ 2, // member count
+ 11,
+ ACE_NTOHL (0x636f6e74),
+ ACE_NTOHL (0x6578745f),
+ ACE_NTOHL (0x69640000), // name = context_id
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636549),
+ ACE_NTOHL (0x643a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ServiceId:1.0
+ 10,
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636549),
+ ACE_NTOHL (0x64000000), // name = ServiceId
+ CORBA::tk_ulong,
+
+
+ 13,
+ ACE_NTOHL (0x636f6e74),
+ ACE_NTOHL (0x6578745f),
+ ACE_NTOHL (0x64617461),
+ ACE_NTOHL (0x0), // name = context_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_ServiceContext (
+ CORBA::tk_struct,
+ sizeof (_oc_IOP_ServiceContext),
+ (char *) &_oc_IOP_ServiceContext,
+ 0,
+ sizeof (IOP::ServiceContext)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_ServiceContext =
+ &_tc_TAO_tc_IOP_ServiceContext;
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_IOP_ServiceContextList[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 39,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636543),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78744c69),
+ ACE_NTOHL (0x73743a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/IOP/ServiceContextList:1.0
+ 19,
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636543),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78744c69),
+ ACE_NTOHL (0x73740000), // name = ServiceContextList
+ CORBA::tk_sequence, // typecode kind
+ 272, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_struct, // typecode kind
+ 256, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 35,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636543),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78743a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/IOP/ServiceContext:1.0
+ 15,
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636543),
+ ACE_NTOHL (0x6f6e7465),
+ ACE_NTOHL (0x78740000), // name = ServiceContext
+ 2, // member count
+ 11,
+ ACE_NTOHL (0x636f6e74),
+ ACE_NTOHL (0x6578745f),
+ ACE_NTOHL (0x69640000), // name = context_id
+ CORBA::tk_alias, // typecode kind for typedefs
+ 60, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 30,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x494f502f),
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636549),
+ ACE_NTOHL (0x643a312e),
+ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ServiceId:1.0
+ 10,
+ ACE_NTOHL (0x53657276),
+ ACE_NTOHL (0x69636549),
+ ACE_NTOHL (0x64000000), // name = ServiceId
+ CORBA::tk_ulong,
+
+
+ 13,
+ ACE_NTOHL (0x636f6e74),
+ ACE_NTOHL (0x6578745f),
+ ACE_NTOHL (0x64617461),
+ ACE_NTOHL (0x0), // name = context_data
+ CORBA::tk_alias, // typecode kind for typedefs
+ 76, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_IOP_ServiceContextList (
+ CORBA::tk_alias,
+ sizeof (_oc_IOP_ServiceContextList),
+ (char *) &_oc_IOP_ServiceContextList,
+ 0,
+ sizeof (IOP::ServiceContextList)
+ );
+
+namespace IOP
+{
+ ::CORBA::TypeCode_ptr _tc_ServiceContextList =
+ &_tc_TAO_tc_IOP_ServiceContextList;
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::TaggedProfile &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedProfile>::insert_copy (
+ _tao_any,
+ IOP::TaggedProfile::_tao_any_destructor,
+ IOP::_tc_TaggedProfile,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::TaggedProfile *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedProfile>::insert (
+ _tao_any,
+ IOP::TaggedProfile::_tao_any_destructor,
+ IOP::_tc_TaggedProfile,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::TaggedProfile *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::TaggedProfile *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::TaggedProfile *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::TaggedProfile>::extract (
+ _tao_any,
+ IOP::TaggedProfile::_tao_any_destructor,
+ IOP::_tc_TaggedProfile,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::IOR &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::IOR>::insert_copy (
+ _tao_any,
+ IOP::IOR::_tao_any_destructor,
+ IOP::_tc_IOR,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::IOR *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::IOR>::insert (
+ _tao_any,
+ IOP::IOR::_tao_any_destructor,
+ IOP::_tc_IOR,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::IOR *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::IOR *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::IOR *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::IOR>::extract (
+ _tao_any,
+ IOP::IOR::_tao_any_destructor,
+ IOP::_tc_IOR,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::TaggedComponent &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponent>::insert_copy (
+ _tao_any,
+ IOP::TaggedComponent::_tao_any_destructor,
+ IOP::_tc_TaggedComponent,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::TaggedComponent *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponent>::insert (
+ _tao_any,
+ IOP::TaggedComponent::_tao_any_destructor,
+ IOP::_tc_TaggedComponent,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::TaggedComponent *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::TaggedComponent *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::TaggedComponent *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponent>::extract (
+ _tao_any,
+ IOP::TaggedComponent::_tao_any_destructor,
+ IOP::_tc_TaggedComponent,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::MultipleComponentProfile &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::MultipleComponentProfile>::insert_copy (
+ _tao_any,
+ IOP::MultipleComponentProfile::_tao_any_destructor,
+ IOP::_tc_MultipleComponentProfile,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::MultipleComponentProfile *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::MultipleComponentProfile>::insert (
+ _tao_any,
+ IOP::MultipleComponentProfile::_tao_any_destructor,
+ IOP::_tc_MultipleComponentProfile,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::MultipleComponentProfile *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::MultipleComponentProfile *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::MultipleComponentProfile *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::MultipleComponentProfile>::extract (
+ _tao_any,
+ IOP::MultipleComponentProfile::_tao_any_destructor,
+ IOP::_tc_MultipleComponentProfile,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::TaggedComponentList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponentList>::insert_copy (
+ _tao_any,
+ IOP::TaggedComponentList::_tao_any_destructor,
+ IOP::_tc_TaggedComponentList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::TaggedComponentList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponentList>::insert (
+ _tao_any,
+ IOP::TaggedComponentList::_tao_any_destructor,
+ IOP::_tc_TaggedComponentList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::TaggedComponentList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::TaggedComponentList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::TaggedComponentList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponentList>::extract (
+ _tao_any,
+ IOP::TaggedComponentList::_tao_any_destructor,
+ IOP::_tc_TaggedComponentList,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::TaggedComponentSeq &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponentSeq>::insert_copy (
+ _tao_any,
+ IOP::TaggedComponentSeq::_tao_any_destructor,
+ IOP::_tc_TaggedComponentSeq,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::TaggedComponentSeq *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponentSeq>::insert (
+ _tao_any,
+ IOP::TaggedComponentSeq::_tao_any_destructor,
+ IOP::_tc_TaggedComponentSeq,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::TaggedComponentSeq *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::TaggedComponentSeq *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::TaggedComponentSeq *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::TaggedComponentSeq>::extract (
+ _tao_any,
+ IOP::TaggedComponentSeq::_tao_any_destructor,
+ IOP::_tc_TaggedComponentSeq,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::ServiceContext &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::ServiceContext>::insert_copy (
+ _tao_any,
+ IOP::ServiceContext::_tao_any_destructor,
+ IOP::_tc_ServiceContext,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::ServiceContext *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::ServiceContext>::insert (
+ _tao_any,
+ IOP::ServiceContext::_tao_any_destructor,
+ IOP::_tc_ServiceContext,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::ServiceContext *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::ServiceContext *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::ServiceContext *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::ServiceContext>::extract (
+ _tao_any,
+ IOP::ServiceContext::_tao_any_destructor,
+ IOP::_tc_ServiceContext,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const IOP::ServiceContextList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::ServiceContextList>::insert_copy (
+ _tao_any,
+ IOP::ServiceContextList::_tao_any_destructor,
+ IOP::_tc_ServiceContextList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ IOP::ServiceContextList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<IOP::ServiceContextList>::insert (
+ _tao_any,
+ IOP::ServiceContextList::_tao_any_destructor,
+ IOP::_tc_ServiceContextList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ IOP::ServiceContextList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const IOP::ServiceContextList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const IOP::ServiceContextList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<IOP::ServiceContextList>::extract (
+ _tao_any,
+ IOP::ServiceContextList::_tao_any_destructor,
+ IOP::_tc_ServiceContextList,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::TaggedProfile
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::IOR
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::TaggedComponent
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::MultipleComponentProfile
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::TaggedComponentList
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::TaggedComponentSeq
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::ServiceContext
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ IOP::ServiceContextList
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::TaggedProfile \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::IOR \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::TaggedComponent \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::MultipleComponentProfile \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::TaggedComponentList \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::TaggedComponentSeq \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::ServiceContext \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ IOP::ServiceContextList \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/IOP_IORA.h b/TAO/tao/IOP_IORA.h
new file mode 100644
index 00000000000..f9200973dd3
--- /dev/null
+++ b/TAO/tao/IOP_IORA.h
@@ -0,0 +1,136 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_IOP_IORA_ANYOP_H_
+#define _TAO_IDL_ORIG_IOP_IORA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_Export
+
+//======= Handcrafted
+namespace IOP
+{
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ProfileId;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_TaggedProfile;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IOR;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ComponentId;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_TaggedComponent;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_MultipleComponentProfile;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_TaggedComponentList;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_TaggedComponentSeq;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServiceId;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServiceContext;
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServiceContextList;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::TaggedProfile &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::TaggedProfile*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::TaggedProfile *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::TaggedProfile *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::IOR &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::IOR*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::IOR *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::IOR *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::TaggedComponent &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::TaggedComponent*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::TaggedComponent *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::TaggedComponent *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::MultipleComponentProfile &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::MultipleComponentProfile*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::MultipleComponentProfile *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::MultipleComponentProfile *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::TaggedComponentList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::TaggedComponentList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::TaggedComponentList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::TaggedComponentList *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::TaggedComponentSeq &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::TaggedComponentSeq*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::TaggedComponentSeq *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::TaggedComponentSeq *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::ServiceContext &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::ServiceContext*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::ServiceContext *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::ServiceContext *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const IOP::ServiceContextList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, IOP::ServiceContextList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, IOP::ServiceContextList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const IOP::ServiceContextList *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/Messaging/Asynch_Invocation_Adapter.inl b/TAO/tao/Messaging/Asynch_Invocation_Adapter.inl
new file mode 100644
index 00000000000..d13c62ae36e
--- /dev/null
+++ b/TAO/tao/Messaging/Asynch_Invocation_Adapter.inl
@@ -0,0 +1,16 @@
+// $Id$
+
+
+namespace TAO
+{
+ ACE_INLINE void
+ Asynch_Invocation_Adapter::invoke (
+ TAO::Exception_Data *ex,
+ unsigned long ex_count
+ ACE_ENV_ARG_DECL)
+ {
+ Invocation_Adapter::invoke (ex, ex_count ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+} // End namespace TAO
diff --git a/TAO/tao/Messaging_PolicyValueA.cpp b/TAO/tao/Messaging_PolicyValueA.cpp
new file mode 100644
index 00000000000..5695a6e58f0
--- /dev/null
+++ b/TAO/tao/Messaging_PolicyValueA.cpp
@@ -0,0 +1,176 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "Messaging_PolicyValueC.h"
+#include "Messaging_PolicyValueA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const Messaging::PolicyValue &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Messaging::PolicyValue>::insert_copy (
+ _tao_any,
+ Messaging::PolicyValue::_tao_any_destructor,
+ Messaging::_tc_PolicyValue,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ Messaging::PolicyValue *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Messaging::PolicyValue>::insert (
+ _tao_any,
+ Messaging::PolicyValue::_tao_any_destructor,
+ Messaging::_tc_PolicyValue,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ Messaging::PolicyValue *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const Messaging::PolicyValue *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const Messaging::PolicyValue *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<Messaging::PolicyValue>::extract (
+ _tao_any,
+ Messaging::PolicyValue::_tao_any_destructor,
+ Messaging::_tc_PolicyValue,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const Messaging::PolicyValueSeq &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Messaging::PolicyValueSeq>::insert_copy (
+ _tao_any,
+ Messaging::PolicyValueSeq::_tao_any_destructor,
+ Messaging::_tc_PolicyValueSeq,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ Messaging::PolicyValueSeq *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<Messaging::PolicyValueSeq>::insert (
+ _tao_any,
+ Messaging::PolicyValueSeq::_tao_any_destructor,
+ Messaging::_tc_PolicyValueSeq,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ Messaging::PolicyValueSeq *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const Messaging::PolicyValueSeq *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const Messaging::PolicyValueSeq *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<Messaging::PolicyValueSeq>::extract (
+ _tao_any,
+ Messaging::PolicyValueSeq::_tao_any_destructor,
+ Messaging::_tc_PolicyValueSeq,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ Messaging::PolicyValue
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ Messaging::PolicyValueSeq
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ Messaging::PolicyValue \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ Messaging::PolicyValueSeq \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/Messaging_PolicyValueA.h b/TAO/tao/Messaging_PolicyValueA.h
new file mode 100644
index 00000000000..39be5b880f5
--- /dev/null
+++ b/TAO/tao/Messaging_PolicyValueA.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_MESSAGING_POLICYVALUEA_ANYOP_H_
+#define _TAO_IDL_ORIG_MESSAGING_POLICYVALUEA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const Messaging::PolicyValue &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, Messaging::PolicyValue*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, Messaging::PolicyValue *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const Messaging::PolicyValue *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const Messaging::PolicyValueSeq &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, Messaging::PolicyValueSeq*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, Messaging::PolicyValueSeq *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const Messaging::PolicyValueSeq *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/OctetSeqA.cpp b/TAO/tao/OctetSeqA.cpp
new file mode 100644
index 00000000000..b8175247d8c
--- /dev/null
+++ b/TAO/tao/OctetSeqA.cpp
@@ -0,0 +1,151 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "OctetSeqC.h"
+#include "OctetSeqA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+
+// ======== Handcrafted
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_CORBA_OctetSeq[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 31,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x434f5242),
+ ACE_NTOHL (0x412f4f63),
+ ACE_NTOHL (0x74657453),
+ ACE_NTOHL (0x65713a31),
+ ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/CORBA/OctetSeq:1.0
+ 9,
+ ACE_NTOHL (0x4f637465),
+ ACE_NTOHL (0x74536571),
+ ACE_NTOHL (0x0), // name = OctetSeq
+ CORBA::tk_sequence, // typecode kind
+ 12, // encapsulation length
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ CORBA::tk_octet,
+
+ 0U,
+
+};
+
+static CORBA::TypeCode _tc_TAO_tc_CORBA_OctetSeq (
+ CORBA::tk_alias,
+ sizeof (_oc_CORBA_OctetSeq),
+ (char *) &_oc_CORBA_OctetSeq,
+ 0,
+ sizeof (CORBA::OctetSeq)
+ );
+
+namespace CORBA
+{
+ ::CORBA::TypeCode_ptr _tc_OctetSeq =
+ &_tc_TAO_tc_CORBA_OctetSeq;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::OctetSeq &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::OctetSeq>::insert_copy (
+ _tao_any,
+ CORBA::OctetSeq::_tao_any_destructor,
+ CORBA::_tc_OctetSeq,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::OctetSeq *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::OctetSeq>::insert (
+ _tao_any,
+ CORBA::OctetSeq::_tao_any_destructor,
+ CORBA::_tc_OctetSeq,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::OctetSeq *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::OctetSeq *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::OctetSeq *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::OctetSeq>::extract (
+ _tao_any,
+ CORBA::OctetSeq::_tao_any_destructor,
+ CORBA::_tc_OctetSeq,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::OctetSeq
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::OctetSeq \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/OctetSeqA.h b/TAO/tao/OctetSeqA.h
new file mode 100644
index 00000000000..e2840897e58
--- /dev/null
+++ b/TAO/tao/OctetSeqA.h
@@ -0,0 +1,62 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_OCTETSEQA_ANYOP_H_
+#define _TAO_IDL_ORIG_OCTETSEQA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_Export
+
+//======= Handcrafted
+namespace CORBA
+{
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:44
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_OctetSeq;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::OctetSeq &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::OctetSeq*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::OctetSeq *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::OctetSeq *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/PolicyA.cpp b/TAO/tao/PolicyA.cpp
new file mode 100644
index 00000000000..e0abe32aa7b
--- /dev/null
+++ b/TAO/tao/PolicyA.cpp
@@ -0,0 +1,454 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "PolicyC.h"
+#include "PolicyA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<CORBA::PolicyError>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+{
+ CORBA::String_var id;
+
+ if ((cdr >> id.out ()) == 0)
+ {
+ return 0;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::PolicyError &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::PolicyError>::insert_copy (
+ _tao_any,
+ CORBA::PolicyError::_tao_any_destructor,
+ CORBA::_tc_PolicyError,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyError *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::PolicyError>::insert (
+ _tao_any,
+ CORBA::PolicyError::_tao_any_destructor,
+ CORBA::_tc_PolicyError,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::PolicyError *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::PolicyError *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::PolicyError *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::PolicyError>::extract (
+ _tao_any,
+ CORBA::PolicyError::_tao_any_destructor,
+ CORBA::_tc_PolicyError,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<CORBA::InvalidPolicies>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+{
+ CORBA::String_var id;
+
+ if ((cdr >> id.out ()) == 0)
+ {
+ return 0;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::InvalidPolicies &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::InvalidPolicies>::insert_copy (
+ _tao_any,
+ CORBA::InvalidPolicies::_tao_any_destructor,
+ CORBA::_tc_InvalidPolicies,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::InvalidPolicies *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::InvalidPolicies>::insert (
+ _tao_any,
+ CORBA::InvalidPolicies::_tao_any_destructor,
+ CORBA::_tc_InvalidPolicies,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::InvalidPolicies *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::InvalidPolicies *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::InvalidPolicies *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::InvalidPolicies>::extract (
+ _tao_any,
+ CORBA::InvalidPolicies::_tao_any_destructor,
+ CORBA::_tc_InvalidPolicies,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::Policy>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::Policy_ptr _tao_elem
+ )
+{
+ CORBA::Policy_ptr _tao_objptr =
+ CORBA::Policy::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::Policy_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<CORBA::Policy>::insert (
+ _tao_any,
+ CORBA::Policy::_tao_any_destructor,
+ CORBA::_tc_Policy,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::Policy_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<CORBA::Policy>::extract (
+ _tao_any,
+ CORBA::Policy::_tao_any_destructor,
+ CORBA::_tc_Policy,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::PolicyManager>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::PolicyManager>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::PolicyManager>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyManager_ptr _tao_elem
+ )
+{
+ CORBA::PolicyManager_ptr _tao_objptr =
+ CORBA::PolicyManager::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyManager_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<CORBA::PolicyManager>::insert (
+ _tao_any,
+ CORBA::PolicyManager::_tao_any_destructor,
+ CORBA::_tc_PolicyManager,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::PolicyManager_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<CORBA::PolicyManager>::extract (
+ _tao_any,
+ CORBA::PolicyManager::_tao_any_destructor,
+ CORBA::_tc_PolicyManager,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::PolicyCurrent>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::PolicyCurrent>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<CORBA::PolicyCurrent>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyCurrent_ptr _tao_elem
+ )
+{
+ CORBA::PolicyCurrent_ptr _tao_objptr =
+ CORBA::PolicyCurrent::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyCurrent_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<CORBA::PolicyCurrent>::insert (
+ _tao_any,
+ CORBA::PolicyCurrent::_tao_any_destructor,
+ CORBA::_tc_PolicyCurrent,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::PolicyCurrent_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<CORBA::PolicyCurrent>::extract (
+ _tao_any,
+ CORBA::PolicyCurrent::_tao_any_destructor,
+ CORBA::_tc_PolicyCurrent,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Impl_T<
+ CORBA::Policy
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::PolicyError
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::InvalidPolicies
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ CORBA::PolicyManager
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ CORBA::PolicyCurrent
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ CORBA::Policy \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::PolicyError \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::InvalidPolicies \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ CORBA::PolicyManager \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ CORBA::PolicyCurrent \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/PolicyA.h b/TAO/tao/PolicyA.h
new file mode 100644
index 00000000000..37d4e74a308
--- /dev/null
+++ b/TAO/tao/PolicyA.h
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_POLICYA_ANYOP_H_
+#define _TAO_IDL_ORIG_POLICYA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::PolicyError &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyError*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::PolicyError *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::PolicyError *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::InvalidPolicies &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::InvalidPolicies*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::InvalidPolicies *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::InvalidPolicies *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Policy_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Policy_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Policy_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyManager_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyManager_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::PolicyManager_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyCurrent_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyCurrent_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::PolicyCurrent_ptr &);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/Policy_ForwardA.cpp b/TAO/tao/Policy_ForwardA.cpp
new file mode 100644
index 00000000000..4c2f1c591ea
--- /dev/null
+++ b/TAO/tao/Policy_ForwardA.cpp
@@ -0,0 +1,213 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "Policy_ForwardC.h"
+#include "Policy_ForwardA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+#include "tao/Any_Basic_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::PolicyList &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::PolicyList>::insert_copy (
+ _tao_any,
+ CORBA::PolicyList::_tao_any_destructor,
+ CORBA::_tc_PolicyList,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::PolicyList>::insert (
+ _tao_any,
+ CORBA::PolicyList::_tao_any_destructor,
+ CORBA::_tc_PolicyList,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::PolicyList *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::PolicyList *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::PolicyList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::PolicyList>::extract (
+ _tao_any,
+ CORBA::PolicyList::_tao_any_destructor,
+ CORBA::_tc_PolicyList,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::PolicyTypeSeq &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::PolicyTypeSeq>::insert_copy (
+ _tao_any,
+ CORBA::PolicyTypeSeq::_tao_any_destructor,
+ CORBA::_tc_PolicyTypeSeq,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::PolicyTypeSeq *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::PolicyTypeSeq>::insert (
+ _tao_any,
+ CORBA::PolicyTypeSeq::_tao_any_destructor,
+ CORBA::_tc_PolicyTypeSeq,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::PolicyTypeSeq *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::PolicyTypeSeq *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::PolicyTypeSeq *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::PolicyTypeSeq>::extract (
+ _tao_any,
+ CORBA::PolicyTypeSeq::_tao_any_destructor,
+ CORBA::_tc_PolicyTypeSeq,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_enum/any_op_cs.cpp:52
+
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::SetOverrideType _tao_elem
+ )
+{
+ TAO::Any_Basic_Impl_T<CORBA::SetOverrideType>::insert (
+ _tao_any,
+ CORBA::_tc_SetOverrideType,
+ _tao_elem
+ );
+}
+
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::SetOverrideType &_tao_elem
+ )
+{
+ return
+ TAO::Any_Basic_Impl_T<CORBA::SetOverrideType>::extract (
+ _tao_any,
+ CORBA::_tc_SetOverrideType,
+ _tao_elem
+ );
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::PolicyList
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::PolicyTypeSeq
+ >;
+
+ template class
+ TAO::Any_Basic_Impl_T<
+ CORBA::SetOverrideType
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::PolicyList \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::PolicyTypeSeq \
+ >
+
+# pragma instantiate \
+ TAO::Any_Basic_Impl_T< \
+ CORBA::SetOverrideType \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/Policy_ForwardA.h b/TAO/tao/Policy_ForwardA.h
new file mode 100644
index 00000000000..2deb58e4b4f
--- /dev/null
+++ b/TAO/tao/Policy_ForwardA.h
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_POLICY_FORWARDA_ANYOP_H_
+#define _TAO_IDL_ORIG_POLICY_FORWARDA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface_fwd/any_op_ch.cpp:65
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Policy_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, CORBA::Policy_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Policy *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::PolicyList &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyList*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::PolicyList *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::PolicyList *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::PolicyTypeSeq &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::PolicyTypeSeq*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::PolicyTypeSeq *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::PolicyTypeSeq *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_enum/any_op_ch.cpp:51
+
+TAO_Export void operator<<= (CORBA::Any &, CORBA::SetOverrideType);
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::SetOverrideType &);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/PortableInterceptorA.cpp b/TAO/tao/PortableInterceptorA.cpp
new file mode 100644
index 00000000000..de23349f02c
--- /dev/null
+++ b/TAO/tao/PortableInterceptorA.cpp
@@ -0,0 +1,1185 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "PortableInterceptorC.h"
+#include "PortableInterceptorA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::Interceptor>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::Interceptor>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::Interceptor>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::Interceptor_ptr _tao_elem
+ )
+{
+ PortableInterceptor::Interceptor_ptr _tao_objptr =
+ PortableInterceptor::Interceptor::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::Interceptor_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::Interceptor>::insert (
+ _tao_any,
+ PortableInterceptor::Interceptor::_tao_any_destructor,
+ PortableInterceptor::_tc_Interceptor,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::Interceptor_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::Interceptor>::extract (
+ _tao_any,
+ PortableInterceptor::Interceptor::_tao_any_destructor,
+ PortableInterceptor::_tc_Interceptor,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<PortableInterceptor::ForwardRequest>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+{
+ CORBA::String_var id;
+
+ if ((cdr >> id.out ()) == 0)
+ {
+ return 0;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const PortableInterceptor::ForwardRequest &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ForwardRequest>::insert_copy (
+ _tao_any,
+ PortableInterceptor::ForwardRequest::_tao_any_destructor,
+ PortableInterceptor::_tc_ForwardRequest,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ForwardRequest *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ForwardRequest>::insert (
+ _tao_any,
+ PortableInterceptor::ForwardRequest::_tao_any_destructor,
+ PortableInterceptor::_tc_ForwardRequest,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ForwardRequest *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const PortableInterceptor::ForwardRequest *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const PortableInterceptor::ForwardRequest *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ForwardRequest>::extract (
+ _tao_any,
+ PortableInterceptor::ForwardRequest::_tao_any_destructor,
+ PortableInterceptor::_tc_ForwardRequest,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<PortableInterceptor::InvalidSlot>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+{
+ CORBA::String_var id;
+
+ if ((cdr >> id.out ()) == 0)
+ {
+ return 0;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const PortableInterceptor::InvalidSlot &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::InvalidSlot>::insert_copy (
+ _tao_any,
+ PortableInterceptor::InvalidSlot::_tao_any_destructor,
+ PortableInterceptor::_tc_InvalidSlot,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::InvalidSlot *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::InvalidSlot>::insert (
+ _tao_any,
+ PortableInterceptor::InvalidSlot::_tao_any_destructor,
+ PortableInterceptor::_tc_InvalidSlot,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::InvalidSlot *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const PortableInterceptor::InvalidSlot *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const PortableInterceptor::InvalidSlot *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<PortableInterceptor::InvalidSlot>::extract (
+ _tao_any,
+ PortableInterceptor::InvalidSlot::_tao_any_destructor,
+ PortableInterceptor::_tc_InvalidSlot,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::Current>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::Current>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::Current>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::Current_ptr _tao_elem
+ )
+{
+ PortableInterceptor::Current_ptr _tao_objptr =
+ PortableInterceptor::Current::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::Current_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::Current>::insert (
+ _tao_any,
+ PortableInterceptor::Current::_tao_any_destructor,
+ PortableInterceptor::_tc_Current,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::Current_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::Current>::extract (
+ _tao_any,
+ PortableInterceptor::Current::_tao_any_destructor,
+ PortableInterceptor::_tc_Current,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::RequestInfo>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::RequestInfo>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::RequestInfo>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::RequestInfo_ptr _tao_elem
+ )
+{
+ PortableInterceptor::RequestInfo_ptr _tao_objptr =
+ PortableInterceptor::RequestInfo::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::RequestInfo_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::RequestInfo>::insert (
+ _tao_any,
+ PortableInterceptor::RequestInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_RequestInfo,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::RequestInfo_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::RequestInfo>::extract (
+ _tao_any,
+ PortableInterceptor::RequestInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_RequestInfo,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ClientRequestInfo>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ClientRequestInfo>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ClientRequestInfo>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ClientRequestInfo_ptr _tao_elem
+ )
+{
+ PortableInterceptor::ClientRequestInfo_ptr _tao_objptr =
+ PortableInterceptor::ClientRequestInfo::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ClientRequestInfo_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::ClientRequestInfo>::insert (
+ _tao_any,
+ PortableInterceptor::ClientRequestInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_ClientRequestInfo,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ClientRequestInfo_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::ClientRequestInfo>::extract (
+ _tao_any,
+ PortableInterceptor::ClientRequestInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_ClientRequestInfo,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ServerRequestInfo>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ServerRequestInfo>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ServerRequestInfo>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ServerRequestInfo_ptr _tao_elem
+ )
+{
+ PortableInterceptor::ServerRequestInfo_ptr _tao_objptr =
+ PortableInterceptor::ServerRequestInfo::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ServerRequestInfo_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::ServerRequestInfo>::insert (
+ _tao_any,
+ PortableInterceptor::ServerRequestInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_ServerRequestInfo,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ServerRequestInfo_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::ServerRequestInfo>::extract (
+ _tao_any,
+ PortableInterceptor::ServerRequestInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_ServerRequestInfo,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ClientRequestInterceptor>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ClientRequestInterceptor>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ClientRequestInterceptor>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ClientRequestInterceptor_ptr _tao_elem
+ )
+{
+ PortableInterceptor::ClientRequestInterceptor_ptr _tao_objptr =
+ PortableInterceptor::ClientRequestInterceptor::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ClientRequestInterceptor_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::ClientRequestInterceptor>::insert (
+ _tao_any,
+ PortableInterceptor::ClientRequestInterceptor::_tao_any_destructor,
+ PortableInterceptor::_tc_ClientRequestInterceptor,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ClientRequestInterceptor_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::ClientRequestInterceptor>::extract (
+ _tao_any,
+ PortableInterceptor::ClientRequestInterceptor::_tao_any_destructor,
+ PortableInterceptor::_tc_ClientRequestInterceptor,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ServerRequestInterceptor>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ServerRequestInterceptor>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ServerRequestInterceptor>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ServerRequestInterceptor_ptr _tao_elem
+ )
+{
+ PortableInterceptor::ServerRequestInterceptor_ptr _tao_objptr =
+ PortableInterceptor::ServerRequestInterceptor::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ServerRequestInterceptor_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::ServerRequestInterceptor>::insert (
+ _tao_any,
+ PortableInterceptor::ServerRequestInterceptor::_tao_any_destructor,
+ PortableInterceptor::_tc_ServerRequestInterceptor,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ServerRequestInterceptor_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::ServerRequestInterceptor>::extract (
+ _tao_any,
+ PortableInterceptor::ServerRequestInterceptor::_tao_any_destructor,
+ PortableInterceptor::_tc_ServerRequestInterceptor,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::PolicyFactory>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::PolicyFactory>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::PolicyFactory>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::PolicyFactory_ptr _tao_elem
+ )
+{
+ PortableInterceptor::PolicyFactory_ptr _tao_objptr =
+ PortableInterceptor::PolicyFactory::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::PolicyFactory_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::PolicyFactory>::insert (
+ _tao_any,
+ PortableInterceptor::PolicyFactory::_tao_any_destructor,
+ PortableInterceptor::_tc_PolicyFactory,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::PolicyFactory_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::PolicyFactory>::extract (
+ _tao_any,
+ PortableInterceptor::PolicyFactory::_tao_any_destructor,
+ PortableInterceptor::_tc_PolicyFactory,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ORBInitInfo>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ORBInitInfo>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ORBInitInfo>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo_ptr _tao_elem
+ )
+{
+ PortableInterceptor::ORBInitInfo_ptr _tao_objptr =
+ PortableInterceptor::ORBInitInfo::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::ORBInitInfo>::insert (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_ORBInitInfo,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::ORBInitInfo>::extract (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::_tao_any_destructor,
+ PortableInterceptor::_tc_ORBInitInfo,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::DuplicateName>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::DuplicateName>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const PortableInterceptor::ORBInitInfo::DuplicateName &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::DuplicateName>::insert_copy (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::DuplicateName::_tao_any_destructor,
+ PortableInterceptor::ORBInitInfo::_tc_DuplicateName,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo::DuplicateName *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::DuplicateName>::insert (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::DuplicateName::_tao_any_destructor,
+ PortableInterceptor::ORBInitInfo::_tc_DuplicateName,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo::DuplicateName *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const PortableInterceptor::ORBInitInfo::DuplicateName *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const PortableInterceptor::ORBInitInfo::DuplicateName *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::DuplicateName>::extract (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::DuplicateName::_tao_any_destructor,
+ PortableInterceptor::ORBInitInfo::_tc_DuplicateName,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::InvalidName>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::InvalidName>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const PortableInterceptor::ORBInitInfo::InvalidName &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::InvalidName>::insert_copy (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::InvalidName::_tao_any_destructor,
+ PortableInterceptor::ORBInitInfo::_tc_InvalidName,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo::InvalidName *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::InvalidName>::insert (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::InvalidName::_tao_any_destructor,
+ PortableInterceptor::ORBInitInfo::_tc_InvalidName,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitInfo::InvalidName *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const PortableInterceptor::ORBInitInfo::InvalidName *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const PortableInterceptor::ORBInitInfo::InvalidName *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<PortableInterceptor::ORBInitInfo::InvalidName>::extract (
+ _tao_any,
+ PortableInterceptor::ORBInitInfo::InvalidName::_tao_any_destructor,
+ PortableInterceptor::ORBInitInfo::_tc_InvalidName,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ORBInitializer>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ORBInitializer>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<PortableInterceptor::ORBInitializer>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitializer_ptr _tao_elem
+ )
+{
+ PortableInterceptor::ORBInitializer_ptr _tao_objptr =
+ PortableInterceptor::ORBInitializer::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitializer_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<PortableInterceptor::ORBInitializer>::insert (
+ _tao_any,
+ PortableInterceptor::ORBInitializer::_tao_any_destructor,
+ PortableInterceptor::_tc_ORBInitializer,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ PortableInterceptor::ORBInitializer_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<PortableInterceptor::ORBInitializer>::extract (
+ _tao_any,
+ PortableInterceptor::ORBInitializer::_tao_any_destructor,
+ PortableInterceptor::_tc_ORBInitializer,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::Interceptor
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ PortableInterceptor::ForwardRequest
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ PortableInterceptor::InvalidSlot
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::Current
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::RequestInfo
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::ClientRequestInfo
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::ServerRequestInfo
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::ClientRequestInterceptor
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::ServerRequestInterceptor
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::PolicyFactory
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ PortableInterceptor::ORBInitInfo::DuplicateName
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ PortableInterceptor::ORBInitInfo::InvalidName
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::ORBInitInfo
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ PortableInterceptor::ORBInitializer
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::Interceptor \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ PortableInterceptor::ForwardRequest \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ PortableInterceptor::InvalidSlot \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::Current \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::RequestInfo \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::ClientRequestInfo \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::ServerRequestInfo \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::ClientRequestInterceptor \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::ServerRequestInterceptor \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::PolicyFactory \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ PortableInterceptor::ORBInitInfo::DuplicateName \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ PortableInterceptor::ORBInitInfo::InvalidName \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::ORBInitInfo \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ PortableInterceptor::ORBInitializer \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/PortableInterceptorA.h b/TAO/tao/PortableInterceptorA.h
new file mode 100644
index 00000000000..46c9f777cb7
--- /dev/null
+++ b/TAO/tao/PortableInterceptorA.h
@@ -0,0 +1,148 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_PORTABLEINTERCEPTORA_ANYOP_H_
+#define _TAO_IDL_ORIG_PORTABLEINTERCEPTORA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::Interceptor_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::Interceptor_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::Interceptor_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const PortableInterceptor::ForwardRequest &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ForwardRequest*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ForwardRequest *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const PortableInterceptor::ForwardRequest *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const PortableInterceptor::InvalidSlot &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::InvalidSlot*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::InvalidSlot *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const PortableInterceptor::InvalidSlot *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::Current_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::Current_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::Current_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::RequestInfo_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::RequestInfo_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::RequestInfo_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ClientRequestInfo_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ClientRequestInfo_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ClientRequestInfo_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ServerRequestInfo_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ServerRequestInfo_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ServerRequestInfo_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ClientRequestInterceptor_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ClientRequestInterceptor_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ClientRequestInterceptor_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ServerRequestInterceptor_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ServerRequestInterceptor_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ServerRequestInterceptor_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::PolicyFactory_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::PolicyFactory_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::PolicyFactory_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface_fwd/any_op_ch.cpp:65
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::IORInterceptor_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::IORInterceptor_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::IORInterceptor *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ORBInitInfo_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ORBInitInfo_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ORBInitInfo_ptr &);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const PortableInterceptor::ORBInitInfo::DuplicateName &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ORBInitInfo::DuplicateName*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ORBInitInfo::DuplicateName *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const PortableInterceptor::ORBInitInfo::DuplicateName *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const PortableInterceptor::ORBInitInfo::InvalidName &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ORBInitInfo::InvalidName*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ORBInitInfo::InvalidName *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const PortableInterceptor::ORBInitInfo::InvalidName *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ORBInitializer_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, PortableInterceptor::ORBInitializer_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableInterceptor::ORBInitializer_ptr &);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/RTCORBA/RTCORBA_include.pidl b/TAO/tao/RTCORBA/RTCORBA_include.pidl
new file mode 100644
index 00000000000..206fc6d2c8c
--- /dev/null
+++ b/TAO/tao/RTCORBA/RTCORBA_include.pidl
@@ -0,0 +1,37 @@
+/**
+ * @file RTCORBA_include.pidl
+ *
+ * $Id$
+ *
+ * @brief Include file for use in applications that need RTCORBA.pidl.
+ *
+ * This file just includes RTCORBA.pidl. The *C.h file generated from
+ * this is hand-crafted to itself include RTCORBA.h instead of
+ * RTCORBAC.h (which will produce a compiler error message if
+ * included directly). The RTCORBA_includeC.h file can then be
+ * included directly and automatically by the IDL compiler when
+ * building the application.
+ *
+ * 1. Run the tao_idl compiler on the pidl file. The command used for
+ * this is:
+ *
+ * tao_idl -o orig -St -Sc -Sp
+ * -Wb,pre_include="ace/pre.h"
+ * -Wb,post_include="ace/post.h"
+ * RTCORBA_include.pidl
+ *
+ * 2. Then change this line in RTCORBA_includeC.h:
+ *
+ * #include "RTCORBAC.h"
+ *
+ * to
+ *
+ * #include "RTCORBA.h"
+ */
+
+#ifndef _RT_CORBA_INCLUDE_IDL_
+#define _RT_CORBA_INCLUDE_IDL_
+
+#include "tao/RTCORBA/RTCORBA.pidl"
+
+#endif /* _RT_CORBA_INCLUDE_IDL_ */
diff --git a/TAO/tao/RTCORBA/RTCORBA_includeC.h b/TAO/tao/RTCORBA/RTCORBA_includeC.h
new file mode 100644
index 00000000000..27907711194
--- /dev/null
+++ b/TAO/tao/RTCORBA/RTCORBA_includeC.h
@@ -0,0 +1,98 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:186
+
+#ifndef _TAO_IDL_ORIG_RTCORBA_INCLUDEC_H_
+#define _TAO_IDL_ORIG_RTCORBA_INCLUDEC_H_
+
+#include "tao/ORB.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/CDR.h"
+#include "tao/Environment.h"
+
+#include "RTCORBA.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO
+
+#if defined (TAO_EXPORT_NESTED_CLASSES)
+# if defined (TAO_EXPORT_NESTED_MACRO)
+# undef TAO_EXPORT_NESTED_MACRO
+# endif /* defined (TAO_EXPORT_NESTED_MACRO) */
+# define TAO_EXPORT_NESTED_MACRO
+#endif /* TAO_EXPORT_NESTED_CLASSES */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+// TAO_IDL - Generated from
+// .\be\be_visitor_traits.cpp:50
+
+// Traits specializations.
+namespace TAO
+{
+}
+
+// TAO_IDL - Generated from
+// w:\ace_wrappers\tao\tao_idl\be\be_visitor_root/cdr_op.cpp:48
+
+#ifndef __ACE_INLINE__
+
+// TAO_IDL - Generated from
+// w:\ace_wrappers\tao\tao_idl\be\be_visitor_root/cdr_op.cpp:64
+
+#endif /* __ACE_INLINE__ */
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:1050
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/RTPortableServer/RTPortableServerA.cpp b/TAO/tao/RTPortableServer/RTPortableServerA.cpp
new file mode 100644
index 00000000000..7493e734f62
--- /dev/null
+++ b/TAO/tao/RTPortableServer/RTPortableServerA.cpp
@@ -0,0 +1,153 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "RTPortableServerC.h"
+#include "RTPortableServerA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:284
+
+static const CORBA::Long _oc_RTPortableServer_POA[] =
+{
+ TAO_ENCAP_BYTE_ORDER, // byte order
+ 37,
+ ACE_NTOHL (0x49444c3a),
+ ACE_NTOHL (0x6f6d672e),
+ ACE_NTOHL (0x6f72672f),
+ ACE_NTOHL (0x5254506f),
+ ACE_NTOHL (0x72746162),
+ ACE_NTOHL (0x6c655365),
+ ACE_NTOHL (0x72766572),
+ ACE_NTOHL (0x2f504f41),
+ ACE_NTOHL (0x3a312e30),
+ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/RTPortableServer/POA:1.0
+ 4,
+ ACE_NTOHL (0x504f4100), // name = POA
+ };
+
+static CORBA::TypeCode _tc_TAO_tc_RTPortableServer_POA (
+ CORBA::tk_objref,
+ sizeof (_oc_RTPortableServer_POA),
+ (char *) &_oc_RTPortableServer_POA,
+ 0,
+ sizeof (RTPortableServer::POA)
+ );
+
+namespace RTPortableServer
+{
+ ::CORBA::TypeCode_ptr _tc_POA =
+ &_tc_TAO_tc_RTPortableServer_POA;
+}
+
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<RTPortableServer::POA>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<RTPortableServer::POA>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<RTPortableServer::POA>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ RTPortableServer::POA_ptr _tao_elem
+ )
+{
+ RTPortableServer::POA_ptr _tao_objptr =
+ RTPortableServer::POA::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ RTPortableServer::POA_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<RTPortableServer::POA>::insert (
+ _tao_any,
+ RTPortableServer::POA::_tao_any_destructor,
+ RTPortableServer::_tc_POA,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ RTPortableServer::POA_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<RTPortableServer::POA>::extract (
+ _tao_any,
+ RTPortableServer::POA::_tao_any_destructor,
+ RTPortableServer::_tc_POA,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Impl_T<
+ RTPortableServer::POA
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ RTPortableServer::POA \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/RTPortableServer/RTPortableServerA.h b/TAO/tao/RTPortableServer/RTPortableServerA.h
new file mode 100644
index 00000000000..9918d83ffa3
--- /dev/null
+++ b/TAO/tao/RTPortableServer/RTPortableServerA.h
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_RTPORTABLESERVERA_ANYOP_H_
+#define _TAO_IDL_ORIG_RTPORTABLESERVERA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/orbconf.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_RTPortableServer_Export
+
+namespace RTPortableServer
+{
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:44
+
+ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_POA;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_RTPortableServer_Export void operator<<= (CORBA::Any &, RTPortableServer::POA_ptr); // copying
+TAO_RTPortableServer_Export void operator<<= (CORBA::Any &, RTPortableServer::POA_ptr *); // non-copying
+TAO_RTPortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, RTPortableServer::POA_ptr &);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/RTPortableServer/diffs/RTPortableServer.diff b/TAO/tao/RTPortableServer/diffs/RTPortableServer.diff
new file mode 100644
index 00000000000..4f7089d6a77
--- /dev/null
+++ b/TAO/tao/RTPortableServer/diffs/RTPortableServer.diff
@@ -0,0 +1,129 @@
+--- orig/RTPortableServerC.h 2003-12-29 10:19:56.000000000 -0600
++++ RTPortableServerC.h 2003-12-29 11:31:43.000000000 -0600
+@@ -45,8 +45,8 @@
+ #include "tao/Object.h"
+ #include "tao/Objref_VarOut_T.h"
+
+-#include "../PortableServer/PortableServerC.h"
+-#include "../RTCORBA/RTCORBAC.h"
++#include "tao/PortableServer/PortableServerC.h"
++#include "tao/RTCORBA/RTCORBA.h"
+
+ #if defined (TAO_EXPORT_MACRO)
+ #undef TAO_EXPORT_MACRO
+@@ -228,11 +228,6 @@
+ #endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_POA;
+-
+-// TAO_IDL - Generated from
+ // be/be_visitor_module/module_ch.cpp:66
+
+ } // module RTPortableServer
+--- orig/RTPortableServerC.cpp 2003-12-29 10:19:56.000000000 -0600
++++ RTPortableServerC.cpp 2003-12-29 11:29:44.000000000 -0600
+@@ -199,40 +199,6 @@
+ return 0;
+ }
+
+-// TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_RTPortableServer_POA[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x5254506f),
+- ACE_NTOHL (0x72746162),
+- ACE_NTOHL (0x6c655365),
+- ACE_NTOHL (0x72766572),
+- ACE_NTOHL (0x2f504f41),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/RTPortableServer/POA:1.0
+- 4,
+- ACE_NTOHL (0x504f4100), // name = POA
+- };
+-
+-static CORBA::TypeCode _tc_TAO_tc_RTPortableServer_POA (
+- CORBA::tk_objref,
+- sizeof (_oc_RTPortableServer_POA),
+- (char *) &_oc_RTPortableServer_POA,
+- 0,
+- sizeof (RTPortableServer::POA)
+- );
+-
+-namespace RTPortableServer
+-{
+- ::CORBA::TypeCode_ptr _tc_POA =
+- &_tc_TAO_tc_RTPortableServer_POA;
+-}
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_root/root.cpp:1725
+--- orig/RTPortableServerA.h 2003-12-29 10:19:56.000000000 -0600
++++ RTPortableServerA.h 2003-12-29 11:29:01.000000000 -0600
+@@ -40,6 +40,14 @@
+ #endif
+ #define TAO_EXPORT_MACRO TAO_RTPortableServer_Export
+
++namespace RTPortableServer
++{
++ // TAO_IDL - Generated from
++ // be/be_visitor_typecode/typecode_decl.cpp:44
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_POA;
++}
++
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/any_op_ch.cpp:52
+
+--- orig/RTPortableServerA.cpp 2003-12-29 10:19:56.000000000 -0600
++++ RTPortableServerA.cpp 2003-12-29 11:29:52.000000000 -0600
+@@ -32,6 +32,41 @@
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/any_op_cs.cpp:50
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_RTPortableServer_POA[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x5254506f),
++ ACE_NTOHL (0x72746162),
++ ACE_NTOHL (0x6c655365),
++ ACE_NTOHL (0x72766572),
++ ACE_NTOHL (0x2f504f41),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/RTPortableServer/POA:1.0
++ 4,
++ ACE_NTOHL (0x504f4100), // name = POA
++ };
++
++static CORBA::TypeCode _tc_TAO_tc_RTPortableServer_POA (
++ CORBA::tk_objref,
++ sizeof (_oc_RTPortableServer_POA),
++ (char *) &_oc_RTPortableServer_POA,
++ 0,
++ sizeof (RTPortableServer::POA)
++ );
++
++namespace RTPortableServer
++{
++ ::CORBA::TypeCode_ptr _tc_POA =
++ &_tc_TAO_tc_RTPortableServer_POA;
++}
++
+
+ ACE_TEMPLATE_SPECIALIZATION
+ CORBA::Boolean
diff --git a/TAO/tao/RTScheduling/RTScheduler_include.pidl b/TAO/tao/RTScheduling/RTScheduler_include.pidl
new file mode 100644
index 00000000000..c4bd0ba0195
--- /dev/null
+++ b/TAO/tao/RTScheduling/RTScheduler_include.pidl
@@ -0,0 +1,38 @@
+/**
+ * @file RTScheduler_include.pidl
+ *
+ * $Id$
+ *
+ * @brief Include file for use in applications that need RTScheduler.pidl.
+ *
+ * This file just includes RTScheduler.pidl. The *C.h file generated from
+ * this is hand-crafted to itself include RTScheduler.h instead of
+ * RTSchedulerC.h (which will produce a compiler error message if
+ * included directly). The RTScheduler_includeC.h file can then be
+ * included directly and automatically by the IDL compiler when
+ * building the application.
+ *
+ * 1. Run the tao_idl compiler on the pidl file. The command used for
+ * this is:
+ *
+ * tao_idl -o orig -St -Sc -Sp
+ * -Wb,pre_include="ace/pre.h"
+ * -Wb,post_include="ace/post.h"
+ * RTScheduler_include.pidl
+ *
+ * 2. Then change this line in RTScheduler_includeC.h:
+ *
+ * #include "RTSchedulerC.h"
+ *
+ * to
+ *
+ * #include "RTScheduler.h"
+ */
+
+#ifndef _RT_SCHEDULER_INCLUDE_IDL_
+#define _RT_SCHEDULER_INCLUDE_IDL_
+
+#include "../RTScheduling/RTScheduler.pidl"
+
+#endif /* _RT_SCHEDULER_INCLUDE_IDL_ */
+
diff --git a/TAO/tao/RTScheduling/RTScheduler_includeC.h b/TAO/tao/RTScheduling/RTScheduler_includeC.h
new file mode 100644
index 00000000000..faf1dbd8c9a
--- /dev/null
+++ b/TAO/tao/RTScheduling/RTScheduler_includeC.h
@@ -0,0 +1,98 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// C:\ACElatest\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:186
+
+#ifndef _TAO_IDL_RTSCHEDULER_INCLUDEC_H_
+#define _TAO_IDL_RTSCHEDULER_INCLUDEC_H_
+
+#include "tao/ORB.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/CDR.h"
+#include "tao/Environment.h"
+
+#include "../RTScheduling/RTScheduler.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO
+
+#if defined (TAO_EXPORT_NESTED_CLASSES)
+# if defined (TAO_EXPORT_NESTED_MACRO)
+# undef TAO_EXPORT_NESTED_MACRO
+# endif /* defined (TAO_EXPORT_NESTED_MACRO) */
+# define TAO_EXPORT_NESTED_MACRO
+#endif /* TAO_EXPORT_NESTED_CLASSES */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+// TAO_IDL - Generated from
+// C:\ACElatest\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_traits.cpp:58
+
+// Traits specializations.
+namespace TAO
+{
+}
+
+// TAO_IDL - Generated from
+// C:\ACElatest\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/cdr_op.cpp:48
+
+#ifndef __ACE_INLINE__
+
+// TAO_IDL - Generated from
+// C:\ACElatest\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/cdr_op.cpp:64
+
+#endif /* __ACE_INLINE__ */
+
+// TAO_IDL - Generated from
+// C:\ACElatest\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:1050
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/RTScheduling/diffs/RTScheduler.diff b/TAO/tao/RTScheduling/diffs/RTScheduler.diff
new file mode 100644
index 00000000000..85f168b8593
--- /dev/null
+++ b/TAO/tao/RTScheduling/diffs/RTScheduler.diff
@@ -0,0 +1,45 @@
+--- orig/RTSchedulerC.h 2003-12-29 10:11:07.000000000 -0600
++++ RTSchedulerC.h 2003-12-29 10:14:38.000000000 -0600
+@@ -40,18 +40,15 @@
+ #endif /* ACE_LACKS_PRAGMA_ONCE */
+
+ #include "rtscheduler_export.h"
+-#include "tao/CDR.h"
+-#include "tao/Environment.h"
+-#include "tao/Object.h"
+-#include "tao/Sequence_T.h"
+-#include "tao/Objref_VarOut_T.h"
+-#include "tao/Seq_Var_T.h"
+-#include "tao/Seq_Out_T.h"
+
+-#include "tao/RTCORBA/RTCORBAC.h"
++#include "tao/RTCORBA/RTCORBA.h"
+ #include "tao/PortableServer/PortableServerC.h"
+ #include "tao/PortableInterceptorC.h"
+
++#ifndef TAO_RTSCHEDULER_SAFE_INCLUDE
++#error "You should not include RTSchedulerC.h directly, use RTScheduler.h"
++#endif /* !TAO_RTSCHEDULER_SAFE_INCLUDE */
++
+ #if defined (TAO_EXPORT_MACRO)
+ #undef TAO_EXPORT_MACRO
+ #endif
+@@ -94,6 +91,7 @@
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_module/module_ch.cpp:66
++ typedef void* VoidData;
+
+ } // module CORBA
+
+--- orig/RTSchedulerC.cpp 2003-12-29 10:11:07.000000000 -0600
++++ RTSchedulerC.cpp 2003-12-29 10:13:12.000000000 -0600
+@@ -29,7 +29,7 @@
+ // be/be_codegen.cpp:338
+
+
+-#include "RTSchedulerC.h"
++#include "RTScheduler.h"
+ #include "tao/ORB_Core.h"
+ #include "tao/Typecode.h"
+ #include "tao/Var_Size_Argument_T.h"
diff --git a/TAO/tao/ServicesA.cpp b/TAO/tao/ServicesA.cpp
new file mode 100644
index 00000000000..4a209eb20c4
--- /dev/null
+++ b/TAO/tao/ServicesA.cpp
@@ -0,0 +1,194 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "ServicesC.h"
+#include "ServicesA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::ServiceDetail &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::ServiceDetail>::insert_copy (
+ _tao_any,
+ CORBA::ServiceDetail::_tao_any_destructor,
+ CORBA::_tc_ServiceDetail,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::ServiceDetail *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::ServiceDetail>::insert (
+ _tao_any,
+ CORBA::ServiceDetail::_tao_any_destructor,
+ CORBA::_tc_ServiceDetail,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::ServiceDetail *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::ServiceDetail *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::ServiceDetail *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::ServiceDetail>::extract (
+ _tao_any,
+ CORBA::ServiceDetail::_tao_any_destructor,
+ CORBA::_tc_ServiceDetail,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::ServiceInformation &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::ServiceInformation>::insert_copy (
+ _tao_any,
+ CORBA::ServiceInformation::_tao_any_destructor,
+ CORBA::_tc_ServiceInformation,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::ServiceInformation *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::ServiceInformation>::insert (
+ _tao_any,
+ CORBA::ServiceInformation::_tao_any_destructor,
+ CORBA::_tc_ServiceInformation,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::ServiceInformation *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::ServiceInformation *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::ServiceInformation *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::ServiceInformation>::extract (
+ _tao_any,
+ CORBA::ServiceInformation::_tao_any_destructor,
+ CORBA::_tc_ServiceInformation,
+ _tao_elem
+ );
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::ServiceDetail
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::ServiceInformation::_tao_seq_CORBA_ServiceOption_
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::ServiceInformation::_tao_seq_CORBA_ServiceDetail_
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::ServiceInformation
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::ServiceDetail \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::ServiceInformation::_tao_seq_CORBA_ServiceOption_ \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::ServiceInformation::_tao_seq_CORBA_ServiceDetail_ \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::ServiceInformation \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/ServicesA.h b/TAO/tao/ServicesA.h
new file mode 100644
index 00000000000..495a2cacf27
--- /dev/null
+++ b/TAO/tao/ServicesA.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_SERVICESA_ANYOP_H_
+#define _TAO_IDL_ORIG_SERVICESA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::ServiceDetail &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::ServiceDetail*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::ServiceDetail *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::ServiceDetail *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::ServiceInformation &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::ServiceInformation*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::ServiceInformation *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::ServiceInformation *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/StringSeqA.cpp b/TAO/tao/StringSeqA.cpp
new file mode 100644
index 00000000000..ddc5f40c0df
--- /dev/null
+++ b/TAO/tao/StringSeqA.cpp
@@ -0,0 +1,174 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "StringSeqC.h"
+#include "StringSeqA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::StringSeq &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::StringSeq>::insert_copy (
+ _tao_any,
+ CORBA::StringSeq::_tao_any_destructor,
+ CORBA::_tc_StringSeq,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::StringSeq *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::StringSeq>::insert (
+ _tao_any,
+ CORBA::StringSeq::_tao_any_destructor,
+ CORBA::_tc_StringSeq,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::StringSeq *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::StringSeq *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::StringSeq *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::StringSeq>::extract (
+ _tao_any,
+ CORBA::StringSeq::_tao_any_destructor,
+ CORBA::_tc_StringSeq,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::WStringSeq &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::WStringSeq>::insert_copy (
+ _tao_any,
+ CORBA::WStringSeq::_tao_any_destructor,
+ CORBA::_tc_WStringSeq,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::WStringSeq *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::WStringSeq>::insert (
+ _tao_any,
+ CORBA::WStringSeq::_tao_any_destructor,
+ CORBA::_tc_WStringSeq,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::WStringSeq *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::WStringSeq *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::WStringSeq *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::WStringSeq>::extract (
+ _tao_any,
+ CORBA::WStringSeq::_tao_any_destructor,
+ CORBA::_tc_WStringSeq,
+ _tao_elem
+ );
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::StringSeq
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::WStringSeq
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::StringSeq \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::WStringSeq \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/StringSeqA.h b/TAO/tao/StringSeqA.h
new file mode 100644
index 00000000000..ce784f428c0
--- /dev/null
+++ b/TAO/tao/StringSeqA.h
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_STRINGSEQA_ANYOP_H_
+#define _TAO_IDL_ORIG_STRINGSEQA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/TAOA.cpp b/TAO/tao/TAOA.cpp
new file mode 100644
index 00000000000..dda09970564
--- /dev/null
+++ b/TAO/tao/TAOA.cpp
@@ -0,0 +1,188 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "TAOC.h"
+#include "TAOA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Impl_T.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const TAO::BufferingConstraint &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TAO::BufferingConstraint>::insert_copy (
+ _tao_any,
+ TAO::BufferingConstraint::_tao_any_destructor,
+ TAO::_tc_BufferingConstraint,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ TAO::BufferingConstraint *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TAO::BufferingConstraint>::insert (
+ _tao_any,
+ TAO::BufferingConstraint::_tao_any_destructor,
+ TAO::_tc_BufferingConstraint,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ TAO::BufferingConstraint *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const TAO::BufferingConstraint *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const TAO::BufferingConstraint *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<TAO::BufferingConstraint>::extract (
+ _tao_any,
+ TAO::BufferingConstraint::_tao_any_destructor,
+ TAO::_tc_BufferingConstraint,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<TAO::BufferingConstraintPolicy>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+{
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return 1;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<TAO::BufferingConstraintPolicy>::marshal_value (TAO_OutputCDR &)
+{
+ return 0;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Impl_T<TAO::BufferingConstraintPolicy>::demarshal_value (TAO_InputCDR &)
+{
+ return 0;
+}
+
+// Copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ TAO::BufferingConstraintPolicy_ptr _tao_elem
+ )
+{
+ TAO::BufferingConstraintPolicy_ptr _tao_objptr =
+ TAO::BufferingConstraintPolicy::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ CORBA::Any &_tao_any,
+ TAO::BufferingConstraintPolicy_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<TAO::BufferingConstraintPolicy>::insert (
+ _tao_any,
+ TAO::BufferingConstraintPolicy::_tao_any_destructor,
+ TAO::_tc_BufferingConstraintPolicy,
+ *_tao_elem
+ );
+}
+
+CORBA::Boolean
+operator>>= (
+ const CORBA::Any &_tao_any,
+ TAO::BufferingConstraintPolicy_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<TAO::BufferingConstraintPolicy>::extract (
+ _tao_any,
+ TAO::BufferingConstraintPolicy::_tao_any_destructor,
+ TAO::_tc_BufferingConstraintPolicy,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ TAO::BufferingConstraint
+ >;
+
+ template class
+ TAO::Any_Impl_T<
+ TAO::BufferingConstraintPolicy
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ TAO::BufferingConstraint \
+ >
+
+# pragma instantiate \
+ TAO::Any_Impl_T< \
+ TAO::BufferingConstraintPolicy \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/TAOA.h b/TAO/tao/TAOA.h
new file mode 100644
index 00000000000..7eb3d0cc36a
--- /dev/null
+++ b/TAO/tao/TAOA.h
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_TAOA_ANYOP_H_
+#define _TAO_IDL_ORIG_TAOA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const TAO::BufferingConstraint &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, TAO::BufferingConstraint*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, TAO::BufferingConstraint *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const TAO::BufferingConstraint *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, TAO::BufferingConstraintPolicy_ptr); // copying
+TAO_Export void operator<<= (CORBA::Any &, TAO::BufferingConstraintPolicy_ptr *); // non-copying
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, TAO::BufferingConstraintPolicy_ptr &);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/TimeBaseA.cpp b/TAO/tao/TimeBaseA.cpp
new file mode 100644
index 00000000000..e9215cfcaac
--- /dev/null
+++ b/TAO/tao/TimeBaseA.cpp
@@ -0,0 +1,176 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "TimeBaseC.h"
+#include "TimeBaseA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const TimeBase::UtcT &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TimeBase::UtcT>::insert_copy (
+ _tao_any,
+ TimeBase::UtcT::_tao_any_destructor,
+ TimeBase::_tc_UtcT,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ TimeBase::UtcT *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TimeBase::UtcT>::insert (
+ _tao_any,
+ TimeBase::UtcT::_tao_any_destructor,
+ TimeBase::_tc_UtcT,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ TimeBase::UtcT *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const TimeBase::UtcT *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const TimeBase::UtcT *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<TimeBase::UtcT>::extract (
+ _tao_any,
+ TimeBase::UtcT::_tao_any_destructor,
+ TimeBase::_tc_UtcT,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const TimeBase::IntervalT &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TimeBase::IntervalT>::insert_copy (
+ _tao_any,
+ TimeBase::IntervalT::_tao_any_destructor,
+ TimeBase::_tc_IntervalT,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ TimeBase::IntervalT *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<TimeBase::IntervalT>::insert (
+ _tao_any,
+ TimeBase::IntervalT::_tao_any_destructor,
+ TimeBase::_tc_IntervalT,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ TimeBase::IntervalT *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const TimeBase::IntervalT *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const TimeBase::IntervalT *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<TimeBase::IntervalT>::extract (
+ _tao_any,
+ TimeBase::IntervalT::_tao_any_destructor,
+ TimeBase::_tc_IntervalT,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ TimeBase::UtcT
+ >;
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ TimeBase::IntervalT
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ TimeBase::UtcT \
+ >
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ TimeBase::IntervalT \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/TimeBaseA.h b/TAO/tao/TimeBaseA.h
new file mode 100644
index 00000000000..218c1b7ee53
--- /dev/null
+++ b/TAO/tao/TimeBaseA.h
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_TIMEBASEA_ANYOP_H_
+#define _TAO_IDL_ORIG_TIMEBASEA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const TimeBase::UtcT &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, TimeBase::UtcT*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, TimeBase::UtcT *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const TimeBase::UtcT *&);
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const TimeBase::IntervalT &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, TimeBase::IntervalT*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, TimeBase::IntervalT *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const TimeBase::IntervalT *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/UShortSeq.pidl b/TAO/tao/UShortSeq.pidl
new file mode 100644
index 00000000000..3628e2f1643
--- /dev/null
+++ b/TAO/tao/UShortSeq.pidl
@@ -0,0 +1,32 @@
+// -*- IDL -*-
+//
+// $Id$
+
+// ================================================================
+//
+// This file was used to generate the code in UShortSeqC.*
+// The command used to generate code is:
+//
+// tao_idl
+// -o orig -Ge 1 -GT -GA
+// -Wb,export_macro=TAO_Export
+// -Wb,pre_include="ace/pre.h"
+// -Wb,post_include="ace/post.h"
+// UShortSeq.pidl
+//
+// Patches for changes to the generated code are available in the
+// `diffs' directory.
+// ================================================================
+
+
+#ifndef TAO_CORBA_U_SHORT_SEQ_IDL
+#define TAO_CORBA_U_SHORT_SEQ_IDL
+
+#pragma prefix "omg.org"
+
+module CORBA
+{
+ typedef sequence<unsigned short> UShortSeq;
+};
+
+#endif /* TAO_CORBA_U_SHORT_SEQ_IDL */
diff --git a/TAO/tao/Utils/Server_Main.cpp b/TAO/tao/Utils/Server_Main.cpp
new file mode 100644
index 00000000000..95135dec01f
--- /dev/null
+++ b/TAO/tao/Utils/Server_Main.cpp
@@ -0,0 +1,127 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Server_Main.cpp
+ *
+ * $Id$
+ *
+ * Implements a generic object that acts as "main" for a CORBA server.
+ *
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ */
+//=============================================================================
+//
+#ifndef TAO_UTILS_SERVER_MAIN_T_CPP
+#define TAO_UTILS_SERVER_MAIN_T_CPP
+
+#include "Server_Main.h"
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+ACE_RCSID(Utils, Server_Main, "$Id$")
+
+#include <ace/Argv_Type_Converter.h>
+#include <ace/Log_Msg.h>
+#include <tao/ORB.h>
+
+template <typename SERVANT>
+TAO::Utils::Server_Main<SERVANT>::Server_Main(const char * name)
+ : name_(name)
+{
+}
+
+template <typename SERVANT>
+TAO::Utils::Server_Main<SERVANT>::~Server_Main()
+{
+}
+
+template <typename SERVANT>
+int TAO::Utils::Server_Main<SERVANT>::run (int argc, ACE_TCHAR *argv[])
+{
+ int result = 0;
+ // hide unicode if necessary.
+ ACE_Argv_Type_Converter command_line(argc, argv);
+
+ char ** asciiArgv = command_line.get_ASCII_argv();
+
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize the orb
+
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, asciiArgv, name_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ if(! CORBA::is_nil(orb.in ()))
+ {
+ // create an instance of the servant object and give it a
+ // chance at the arguments.
+ SERVANT servant;
+ result = servant.parse_args (argc, asciiArgv);
+ if (result == 0)
+ {
+ //////////////////////////////////
+ // let the servant register itself
+ result = servant.init(orb.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (result == 0)
+ {
+ ACE_ERROR ((LM_INFO,
+ "%T %s (%P|%t) Ready %s\n", name_, servant.identity()
+ ));
+
+ //////////////////////////////////
+ // Run the event loop for the ORB.
+ // Initial run to initialize the orb
+ ACE_Time_Value tv(1,0);
+ orb->run (tv ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // now run event loop
+ int quit = 0;
+ while (result == 0 && ! quit )
+ {
+ ACE_Time_Value work_tv(1,0);
+ orb->perform_work(work_tv ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ quit = servant.idle (result ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ servant.fini(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->shutdown(1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_ERROR ((LM_INFO,
+ "%T %s (%P|%t) Terminated normally. %s\n", name_, servant.identity()
+ ));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%T %s (%P|%t) Registration failed: %p\n", name_
+ ));
+ result = -1;
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%T %s (%P|%t) ORB manager init failed\n", name_
+ ));
+ result = -1;
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ name_);
+ result = -1;
+ }
+ ACE_ENDTRY;
+ return result;
+}
+
+#endif //TAO_UTILS_SERVER_MAIN_T_CPP
diff --git a/TAO/tao/Utils/Server_Main.h b/TAO/tao/Utils/Server_Main.h
new file mode 100644
index 00000000000..99016b8052c
--- /dev/null
+++ b/TAO/tao/Utils/Server_Main.h
@@ -0,0 +1,91 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file Server_Main.h
+ *
+ * $Id$
+ *
+ * Declares a generic object that acts as "main" for a CORBA server.
+ * @author Dale Wilson <wilson_d@ociweb.com>
+ *
+ * This object supports creation of a relatively simple CORBA server.
+ * The object implements "main" for a process.
+ * A single servant is created and initialized as the process begins
+ * execution. The lifetime of this initial servant is the lifetime of
+ * the process.
+ * The servant is free to create other servants as necessary.
+ * The servant can capture command line options.
+ * A callback method in the ORB event loop allows the servant to act
+ * asynchronously if necessary.
+ * The callback method allows the servant to request process termination
+ * and specify the status to be returned from the process.
+ *
+ * The application should create a C/C++ main that looks something like:
+ * #include <tao/Utils/Server_Main.h>
+ * #include "Xyzzy_i.h"
+ * int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+ * {
+ * Server_Main<Xyzzy_i> servant ("Xyzzy");
+ * return servant.run(argc, argv);
+ * }
+ *
+ * The servant implementation (Xyzzy_i in this case) must implement
+ * the following methods:
+ * Xyzzy_i (); // null constructor
+ * ~Xyzzy_i (); // destructor
+ * int parse_args (int argc, char * argv[]);
+ * int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+ * int idle(int &result);
+ * int fini (ACE_ENV_SINGLE_ARG_DECL);
+ * const char * identity () const;
+ *
+ * parse_args, self_register, self_unregister return 0 if ok, nonzero for error.
+ * idle returns 0 to continue execution; nonzero to exit -- returning "result" from the process
+ * identity provides a string to identify this servant in log messages.
+ *
+ */
+//=============================================================================
+
+#ifndef TAO_UTILS_SERVANTMAIN_H
+#define TAO_UTILS_SERVANTMAIN_H
+
+#include <ace/ACE.h>
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include /**/ <ace/pre.h>
+namespace TAO
+{
+ namespace Utils
+ {
+ template <typename SERVANT>
+ class Server_Main
+ {
+ public:
+ Server_Main(const char * name);
+ ~Server_Main();
+
+ int run (int argc, ACE_TCHAR *argv[]);
+
+ private:
+ Server_Main( const Server_Main &);
+ Server_Main & operator = (const Server_Main &);
+
+ private:
+ const char * name_;
+ };
+ } // namespace UTILS
+} // namespace TAO
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+# include "Server_Main.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+# pragma implementation "Server_Main.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#include /**/ <ace/post.h>
+
+#endif //TAO_UTILS_SERVANTMAIN_H
diff --git a/TAO/tao/WrongTransactionA.cpp b/TAO/tao/WrongTransactionA.cpp
new file mode 100644
index 00000000000..e52519b156c
--- /dev/null
+++ b/TAO/tao/WrongTransactionA.cpp
@@ -0,0 +1,135 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "WrongTransactionC.h"
+#include "WrongTransactionA.h"
+#include "tao/Typecode.h"
+#include "tao/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::Any_Dual_Impl_T<CORBA::WrongTransaction>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+{
+ CORBA::String_var id;
+
+ if ((cdr >> id.out ()) == 0)
+ {
+ return 0;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return 0;
+ }
+ ACE_ENDTRY;
+
+ return 1;
+}
+
+// Copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ const CORBA::WrongTransaction &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::WrongTransaction>::insert_copy (
+ _tao_any,
+ CORBA::WrongTransaction::_tao_any_destructor,
+ CORBA::_tc_WrongTransaction,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ CORBA::Any &_tao_any,
+ CORBA::WrongTransaction *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<CORBA::WrongTransaction>::insert (
+ _tao_any,
+ CORBA::WrongTransaction::_tao_any_destructor,
+ CORBA::_tc_WrongTransaction,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ CORBA::WrongTransaction *&_tao_elem
+ )
+{
+ return _tao_any >>= ACE_const_cast (
+ const CORBA::WrongTransaction *&,
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+CORBA::Boolean operator>>= (
+ const CORBA::Any &_tao_any,
+ const CORBA::WrongTransaction *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<CORBA::WrongTransaction>::extract (
+ _tao_any,
+ CORBA::WrongTransaction::_tao_any_destructor,
+ CORBA::_tc_WrongTransaction,
+ _tao_elem
+ );
+}
+
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+ template class
+ TAO::Any_Dual_Impl_T<
+ CORBA::WrongTransaction
+ >;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+# pragma instantiate \
+ TAO::Any_Dual_Impl_T< \
+ CORBA::WrongTransaction \
+ >
+
+#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tao/WrongTransactionA.h b/TAO/tao/WrongTransactionA.h
new file mode 100644
index 00000000000..add59879149
--- /dev/null
+++ b/TAO/tao/WrongTransactionA.h
@@ -0,0 +1,47 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:848
+
+#ifndef _TAO_IDL_ORIG_WRONGTRANSACTIONA_ANYOP_H_
+#define _TAO_IDL_ORIG_WRONGTRANSACTIONA_ANYOP_H_
+
+#include /**/ "ace/pre.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:52
+
+TAO_Export void operator<<= (CORBA::Any &, const CORBA::WrongTransaction &); // copying version
+TAO_Export void operator<<= (CORBA::Any &, CORBA::WrongTransaction*); // noncopying version
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::WrongTransaction *&); // deprecated
+TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::WrongTransaction *&);
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/TAO/tao/diffs/CONV_FRAME.diff b/TAO/tao/diffs/CONV_FRAME.diff
new file mode 100644
index 00000000000..e54b6797542
--- /dev/null
+++ b/TAO/tao/diffs/CONV_FRAME.diff
@@ -0,0 +1,1068 @@
+--- orig/CONV_FRAMEC.h 2003-12-24 12:44:13.000000000 -0600
++++ CONV_FRAMEC.h 2003-12-24 12:20:01.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -33,18 +33,13 @@
+
+ #include /**/ "ace/pre.h"
+
+-#include "tao/ORB.h"
++#include "tao/CDR.h"
+
+ #if !defined (ACE_LACKS_PRAGMA_ONCE)
+ # pragma once
+ #endif /* ACE_LACKS_PRAGMA_ONCE */
+
+-#include "TAO_Export.h"
+-#include "tao/CDR.h"
+-#include "tao/Environment.h"
+-#include "tao/Sequence_T.h"
+-#include "tao/Seq_Var_T.h"
+-#include "tao/Seq_Out_T.h"
++#include "tao/Sequence.h"
+ #include "tao/VarOut_T.h"
+
+ #if defined (TAO_EXPORT_MACRO)
+@@ -83,11 +78,6 @@
+ typedef CORBA::ULong_out CodeSetId_out;
+
+ // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetId;
+-
+- // TAO_IDL - Generated from
+ // be/be_type.cpp:258
+
+ struct CodeSetComponent;
+@@ -151,11 +141,6 @@
+ };
+
+ // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetComponent;
+-
+- // TAO_IDL - Generated from
+ // be/be_type.cpp:258
+
+ struct CodeSetComponentInfo;
+@@ -186,11 +171,6 @@
+ };
+
+ // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetComponentInfo;
+-
+- // TAO_IDL - Generated from
+ // be/be_type.cpp:258
+
+ struct CodeSetContext;
+@@ -217,10 +197,7 @@
+ CONV_FRAME::CodeSetId wchar_data;
+ };
+
+- // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetContext;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_module/module_ch.cpp:66
+--- orig/CONV_FRAMEC.i 2003-12-24 12:44:13.000000000 -0600
++++ CONV_FRAMEC.i 2003-12-23 19:11:35.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+--- orig/CONV_FRAMEC.cpp 2003-12-24 12:44:13.000000000 -0600
++++ CONV_FRAMEC.cpp 2003-12-24 12:25:38.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -28,9 +28,7 @@
+ // TAO_IDL - Generated from
+ // be/be_codegen.cpp:338
+
+-
+ #include "CONV_FRAMEC.h"
+-#include "tao/Typecode.h"
+
+ #if defined (__BORLANDC__)
+ #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
+@@ -48,146 +46,6 @@
+ {
+ }
+
+-
+-// TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_CONV_FRAME_CodeSetId[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetId (
+- CORBA::tk_alias,
+- sizeof (_oc_CONV_FRAME_CodeSetId),
+- (char *) &_oc_CONV_FRAME_CodeSetId,
+- 0,
+- sizeof (CONV_FRAME::CodeSetId)
+- );
+-
+-namespace CONV_FRAME
+-{
+- ::CORBA::TypeCode_ptr _tc_CodeSetId =
+- &_tc_TAO_tc_CONV_FRAME_CodeSetId;
+-}
+-
+-// TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_CONV_FRAME_CodeSetComponent[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 44,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x6574436f),
+- ACE_NTOHL (0x6d706f6e),
+- ACE_NTOHL (0x656e743a),
+- ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
+- 17,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657443),
+- ACE_NTOHL (0x6f6d706f),
+- ACE_NTOHL (0x6e656e74),
+- ACE_NTOHL (0x0), // name = CodeSetComponent
+- 2, // member count
+- 16,
+- ACE_NTOHL (0x6e617469),
+- ACE_NTOHL (0x76655f63),
+- ACE_NTOHL (0x6f64655f),
+- ACE_NTOHL (0x73657400), // name = native_code_set
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 21,
+- ACE_NTOHL (0x636f6e76),
+- ACE_NTOHL (0x65727369),
+- ACE_NTOHL (0x6f6e5f63),
+- ACE_NTOHL (0x6f64655f),
+- ACE_NTOHL (0x73657473),
+- ACE_NTOHL (0x0), // name = conversion_code_sets
+- CORBA::tk_sequence, // typecode kind
+- 84, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 0U,
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetComponent (
+- CORBA::tk_struct,
+- sizeof (_oc_CONV_FRAME_CodeSetComponent),
+- (char *) &_oc_CONV_FRAME_CodeSetComponent,
+- 0,
+- sizeof (CONV_FRAME::CodeSetComponent)
+- );
+-
+-namespace CONV_FRAME
+-{
+- ::CORBA::TypeCode_ptr _tc_CodeSetComponent =
+- &_tc_TAO_tc_CONV_FRAME_CodeSetComponent;
+-}
+-
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_cs.cpp:66
+
+@@ -245,221 +103,7 @@
+
+ #endif /* end #if !defined */
+
+-// TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+
+-static const CORBA::Long _oc_CONV_FRAME_CodeSetComponentInfo[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 48,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x6574436f),
+- ACE_NTOHL (0x6d706f6e),
+- ACE_NTOHL (0x656e7449),
+- ACE_NTOHL (0x6e666f3a),
+- ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponentInfo:1.0
+- 21,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657443),
+- ACE_NTOHL (0x6f6d706f),
+- ACE_NTOHL (0x6e656e74),
+- ACE_NTOHL (0x496e666f),
+- ACE_NTOHL (0x0), // name = CodeSetComponentInfo
+- 2, // member count
+- 12,
+- ACE_NTOHL (0x466f7243),
+- ACE_NTOHL (0x68617244),
+- ACE_NTOHL (0x61746100), // name = ForCharData
+- CORBA::tk_struct, // typecode kind
+- 296, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 44,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x6574436f),
+- ACE_NTOHL (0x6d706f6e),
+- ACE_NTOHL (0x656e743a),
+- ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
+- 17,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657443),
+- ACE_NTOHL (0x6f6d706f),
+- ACE_NTOHL (0x6e656e74),
+- ACE_NTOHL (0x0), // name = CodeSetComponent
+- 2, // member count
+- 16,
+- ACE_NTOHL (0x6e617469),
+- ACE_NTOHL (0x76655f63),
+- ACE_NTOHL (0x6f64655f),
+- ACE_NTOHL (0x73657400), // name = native_code_set
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 21,
+- ACE_NTOHL (0x636f6e76),
+- ACE_NTOHL (0x65727369),
+- ACE_NTOHL (0x6f6e5f63),
+- ACE_NTOHL (0x6f64655f),
+- ACE_NTOHL (0x73657473),
+- ACE_NTOHL (0x0), // name = conversion_code_sets
+- CORBA::tk_sequence, // typecode kind
+- 84, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 0U,
+-
+-
+- 13,
+- ACE_NTOHL (0x466f7257),
+- ACE_NTOHL (0x63686172),
+- ACE_NTOHL (0x44617461),
+- ACE_NTOHL (0x0), // name = ForWcharData
+- CORBA::tk_struct, // typecode kind
+- 296, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 44,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x6574436f),
+- ACE_NTOHL (0x6d706f6e),
+- ACE_NTOHL (0x656e743a),
+- ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
+- 17,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657443),
+- ACE_NTOHL (0x6f6d706f),
+- ACE_NTOHL (0x6e656e74),
+- ACE_NTOHL (0x0), // name = CodeSetComponent
+- 2, // member count
+- 16,
+- ACE_NTOHL (0x6e617469),
+- ACE_NTOHL (0x76655f63),
+- ACE_NTOHL (0x6f64655f),
+- ACE_NTOHL (0x73657400), // name = native_code_set
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 21,
+- ACE_NTOHL (0x636f6e76),
+- ACE_NTOHL (0x65727369),
+- ACE_NTOHL (0x6f6e5f63),
+- ACE_NTOHL (0x6f64655f),
+- ACE_NTOHL (0x73657473),
+- ACE_NTOHL (0x0), // name = conversion_code_sets
+- CORBA::tk_sequence, // typecode kind
+- 84, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 0U,
+-
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetComponentInfo (
+- CORBA::tk_struct,
+- sizeof (_oc_CONV_FRAME_CodeSetComponentInfo),
+- (char *) &_oc_CONV_FRAME_CodeSetComponentInfo,
+- 0,
+- sizeof (CONV_FRAME::CodeSetComponentInfo)
+- );
+-
+-namespace CONV_FRAME
+-{
+- ::CORBA::TypeCode_ptr _tc_CodeSetComponentInfo =
+- &_tc_TAO_tc_CONV_FRAME_CodeSetComponentInfo;
+-}
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_cs.cpp:66
+@@ -475,96 +119,6 @@
+ }
+
+ // TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_CONV_FRAME_CodeSetContext[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 42,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x6574436f),
+- ACE_NTOHL (0x6e746578),
+- ACE_NTOHL (0x743a312e),
+- ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetContext:1.0
+- 15,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657443),
+- ACE_NTOHL (0x6f6e7465),
+- ACE_NTOHL (0x78740000), // name = CodeSetContext
+- 2, // member count
+- 10,
+- ACE_NTOHL (0x63686172),
+- ACE_NTOHL (0x5f646174),
+- ACE_NTOHL (0x61000000), // name = char_data
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+- 11,
+- ACE_NTOHL (0x77636861),
+- ACE_NTOHL (0x725f6461),
+- ACE_NTOHL (0x74610000), // name = wchar_data
+- CORBA::tk_alias, // typecode kind for typedefs
+- 68, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x434f4e56),
+- ACE_NTOHL (0x5f465241),
+- ACE_NTOHL (0x4d452f43),
+- ACE_NTOHL (0x6f646553),
+- ACE_NTOHL (0x65744964),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
+- 10,
+- ACE_NTOHL (0x436f6465),
+- ACE_NTOHL (0x53657449),
+- ACE_NTOHL (0x64000000), // name = CodeSetId
+- CORBA::tk_ulong,
+-
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetContext (
+- CORBA::tk_struct,
+- sizeof (_oc_CONV_FRAME_CodeSetContext),
+- (char *) &_oc_CONV_FRAME_CodeSetContext,
+- 0,
+- sizeof (CONV_FRAME::CodeSetContext)
+- );
+-
+-namespace CONV_FRAME
+-{
+- ::CORBA::TypeCode_ptr _tc_CodeSetContext =
+- &_tc_TAO_tc_CONV_FRAME_CodeSetContext;
+-}
+-
+-// TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_cs.cpp:66
+
+ void
+--- orig/CONV_FRAMEA.h 2003-12-24 12:44:13.000000000 -0600
++++ CONV_FRAMEA.h 2003-12-24 12:22:49.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -33,6 +33,18 @@
+
+ #include /**/ "ace/pre.h"
+
++// ==== Handcrafted
++namespace CONV_FRAME
++{
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetId;
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetComponent;
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetComponentInfo;
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CodeSetContext;
++}
++
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/any_op_ch.cpp:52
+
+--- orig/CONV_FRAMEA.cpp 2003-12-24 12:44:13.000000000 -0600
++++ CONV_FRAMEA.cpp 2003-12-24 12:25:23.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -29,6 +29,454 @@
+ #include "CONV_FRAMEA.h"
+ #include "tao/Typecode.h"
+ #include "tao/Any_Dual_Impl_T.h"
++#include "tao/Typecode.h"
++
++// ==== Handcrafted
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_CONV_FRAME_CodeSetId[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetId (
++ CORBA::tk_alias,
++ sizeof (_oc_CONV_FRAME_CodeSetId),
++ (char *) &_oc_CONV_FRAME_CodeSetId,
++ 0,
++ sizeof (CONV_FRAME::CodeSetId)
++ );
++
++namespace CONV_FRAME
++{
++ ::CORBA::TypeCode_ptr _tc_CodeSetId =
++ &_tc_TAO_tc_CONV_FRAME_CodeSetId;
++}
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_CONV_FRAME_CodeSetComponent[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 44,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x6574436f),
++ ACE_NTOHL (0x6d706f6e),
++ ACE_NTOHL (0x656e743a),
++ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
++ 17,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657443),
++ ACE_NTOHL (0x6f6d706f),
++ ACE_NTOHL (0x6e656e74),
++ ACE_NTOHL (0x0), // name = CodeSetComponent
++ 2, // member count
++ 16,
++ ACE_NTOHL (0x6e617469),
++ ACE_NTOHL (0x76655f63),
++ ACE_NTOHL (0x6f64655f),
++ ACE_NTOHL (0x73657400), // name = native_code_set
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 21,
++ ACE_NTOHL (0x636f6e76),
++ ACE_NTOHL (0x65727369),
++ ACE_NTOHL (0x6f6e5f63),
++ ACE_NTOHL (0x6f64655f),
++ ACE_NTOHL (0x73657473),
++ ACE_NTOHL (0x0), // name = conversion_code_sets
++ CORBA::tk_sequence, // typecode kind
++ 84, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 0U,
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetComponent (
++ CORBA::tk_struct,
++ sizeof (_oc_CONV_FRAME_CodeSetComponent),
++ (char *) &_oc_CONV_FRAME_CodeSetComponent,
++ 0,
++ sizeof (CONV_FRAME::CodeSetComponent)
++ );
++
++namespace CONV_FRAME
++{
++ ::CORBA::TypeCode_ptr _tc_CodeSetComponent =
++ &_tc_TAO_tc_CONV_FRAME_CodeSetComponent;
++}
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_CONV_FRAME_CodeSetComponentInfo[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 48,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x6574436f),
++ ACE_NTOHL (0x6d706f6e),
++ ACE_NTOHL (0x656e7449),
++ ACE_NTOHL (0x6e666f3a),
++ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponentInfo:1.0
++ 21,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657443),
++ ACE_NTOHL (0x6f6d706f),
++ ACE_NTOHL (0x6e656e74),
++ ACE_NTOHL (0x496e666f),
++ ACE_NTOHL (0x0), // name = CodeSetComponentInfo
++ 2, // member count
++ 12,
++ ACE_NTOHL (0x466f7243),
++ ACE_NTOHL (0x68617244),
++ ACE_NTOHL (0x61746100), // name = ForCharData
++ CORBA::tk_struct, // typecode kind
++ 296, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 44,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x6574436f),
++ ACE_NTOHL (0x6d706f6e),
++ ACE_NTOHL (0x656e743a),
++ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
++ 17,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657443),
++ ACE_NTOHL (0x6f6d706f),
++ ACE_NTOHL (0x6e656e74),
++ ACE_NTOHL (0x0), // name = CodeSetComponent
++ 2, // member count
++ 16,
++ ACE_NTOHL (0x6e617469),
++ ACE_NTOHL (0x76655f63),
++ ACE_NTOHL (0x6f64655f),
++ ACE_NTOHL (0x73657400), // name = native_code_set
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 21,
++ ACE_NTOHL (0x636f6e76),
++ ACE_NTOHL (0x65727369),
++ ACE_NTOHL (0x6f6e5f63),
++ ACE_NTOHL (0x6f64655f),
++ ACE_NTOHL (0x73657473),
++ ACE_NTOHL (0x0), // name = conversion_code_sets
++ CORBA::tk_sequence, // typecode kind
++ 84, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 0U,
++
++
++ 13,
++ ACE_NTOHL (0x466f7257),
++ ACE_NTOHL (0x63686172),
++ ACE_NTOHL (0x44617461),
++ ACE_NTOHL (0x0), // name = ForWcharData
++ CORBA::tk_struct, // typecode kind
++ 296, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 44,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x6574436f),
++ ACE_NTOHL (0x6d706f6e),
++ ACE_NTOHL (0x656e743a),
++ ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
++ 17,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657443),
++ ACE_NTOHL (0x6f6d706f),
++ ACE_NTOHL (0x6e656e74),
++ ACE_NTOHL (0x0), // name = CodeSetComponent
++ 2, // member count
++ 16,
++ ACE_NTOHL (0x6e617469),
++ ACE_NTOHL (0x76655f63),
++ ACE_NTOHL (0x6f64655f),
++ ACE_NTOHL (0x73657400), // name = native_code_set
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 21,
++ ACE_NTOHL (0x636f6e76),
++ ACE_NTOHL (0x65727369),
++ ACE_NTOHL (0x6f6e5f63),
++ ACE_NTOHL (0x6f64655f),
++ ACE_NTOHL (0x73657473),
++ ACE_NTOHL (0x0), // name = conversion_code_sets
++ CORBA::tk_sequence, // typecode kind
++ 84, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 0U,
++
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetComponentInfo (
++ CORBA::tk_struct,
++ sizeof (_oc_CONV_FRAME_CodeSetComponentInfo),
++ (char *) &_oc_CONV_FRAME_CodeSetComponentInfo,
++ 0,
++ sizeof (CONV_FRAME::CodeSetComponentInfo)
++ );
++
++namespace CONV_FRAME
++{
++ ::CORBA::TypeCode_ptr _tc_CodeSetComponentInfo =
++ &_tc_TAO_tc_CONV_FRAME_CodeSetComponentInfo;
++}
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_CONV_FRAME_CodeSetContext[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 42,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x6574436f),
++ ACE_NTOHL (0x6e746578),
++ ACE_NTOHL (0x743a312e),
++ ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetContext:1.0
++ 15,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657443),
++ ACE_NTOHL (0x6f6e7465),
++ ACE_NTOHL (0x78740000), // name = CodeSetContext
++ 2, // member count
++ 10,
++ ACE_NTOHL (0x63686172),
++ ACE_NTOHL (0x5f646174),
++ ACE_NTOHL (0x61000000), // name = char_data
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++ 11,
++ ACE_NTOHL (0x77636861),
++ ACE_NTOHL (0x725f6461),
++ ACE_NTOHL (0x74610000), // name = wchar_data
++ CORBA::tk_alias, // typecode kind for typedefs
++ 68, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x434f4e56),
++ ACE_NTOHL (0x5f465241),
++ ACE_NTOHL (0x4d452f43),
++ ACE_NTOHL (0x6f646553),
++ ACE_NTOHL (0x65744964),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CONV_FRAME/CodeSetId:1.0
++ 10,
++ ACE_NTOHL (0x436f6465),
++ ACE_NTOHL (0x53657449),
++ ACE_NTOHL (0x64000000), // name = CodeSetId
++ CORBA::tk_ulong,
++
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_CONV_FRAME_CodeSetContext (
++ CORBA::tk_struct,
++ sizeof (_oc_CONV_FRAME_CodeSetContext),
++ (char *) &_oc_CONV_FRAME_CodeSetContext,
++ 0,
++ sizeof (CONV_FRAME::CodeSetContext)
++ );
++
++namespace CONV_FRAME
++{
++ ::CORBA::TypeCode_ptr _tc_CodeSetContext =
++ &_tc_TAO_tc_CONV_FRAME_CodeSetContext;
++}
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/any_op_cs.cpp:54
diff --git a/TAO/tao/diffs/IIOP.diff b/TAO/tao/diffs/IIOP.diff
new file mode 100644
index 00000000000..a09c7909fb0
--- /dev/null
+++ b/TAO/tao/diffs/IIOP.diff
@@ -0,0 +1,590 @@
+--- orig/IIOPC.h 2003-12-24 12:43:32.000000000 -0600
++++ IIOPC.h 2003-12-24 12:40:19.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -33,16 +33,13 @@
+
+ #include /**/ "ace/pre.h"
+
+-#include "tao/ORB.h"
++#include "tao/Sequence_T.h"
+
+ #if !defined (ACE_LACKS_PRAGMA_ONCE)
+ # pragma once
+ #endif /* ACE_LACKS_PRAGMA_ONCE */
+
+-#include "tao/TAO_Export.h"
+-#include "tao/CDR.h"
+-#include "tao/Environment.h"
+-#include "tao/Sequence_T.h"
++#include "CDR.h"
+ #include "tao/Seq_Var_T.h"
+ #include "tao/Seq_Out_T.h"
+ #include "tao/VarOut_T.h"
+@@ -106,10 +103,6 @@
+ CORBA::UShort port;
+ };
+
+- // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ListenPoint;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_sequence/sequence_ch.cpp:101
+@@ -159,10 +152,6 @@
+
+ #endif /* end #if !defined */
+
+- // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ListenPointList;
+
+ // TAO_IDL - Generated from
+ // be/be_type.cpp:258
+@@ -193,10 +182,6 @@
+ IIOP::ListenPointList listen_points;
+ };
+
+- // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_BiDirIIOPServiceContext;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_module/module_ch.cpp:66
+--- orig/IIOPC.i 2003-12-24 12:43:31.000000000 -0600
++++ IIOPC.i 2003-12-23 19:11:35.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+--- orig/IIOPC.cpp 2003-12-24 12:43:32.000000000 -0600
++++ IIOPC.cpp 2003-12-24 12:41:36.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -30,7 +30,6 @@
+
+
+ #include "IIOPC.h"
+-#include "tao/Typecode.h"
+
+ #if defined (__BORLANDC__)
+ #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
+@@ -49,52 +48,6 @@
+ }
+
+
+-// TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_IIOP_ListenPoint[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 33,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x2f4c6973),
+- ACE_NTOHL (0x74656e50),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
+- 12,
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x656e506f),
+- ACE_NTOHL (0x696e7400), // name = ListenPoint
+- 2, // member count
+- 5,
+- ACE_NTOHL (0x686f7374),
+- ACE_NTOHL (0x0), // name = host
+- CORBA::tk_string,
+- 0U, // string length
+- 5,
+- ACE_NTOHL (0x706f7274),
+- ACE_NTOHL (0x0), // name = port
+- CORBA::tk_ushort,
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_IIOP_ListenPoint (
+- CORBA::tk_struct,
+- sizeof (_oc_IIOP_ListenPoint),
+- (char *) &_oc_IIOP_ListenPoint,
+- 0,
+- sizeof (IIOP::ListenPoint)
+- );
+-
+-namespace IIOP
+-{
+- ::CORBA::TypeCode_ptr _tc_ListenPoint =
+- &_tc_TAO_tc_IIOP_ListenPoint;
+-}
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_cs.cpp:66
+@@ -163,180 +116,6 @@
+ #endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_IIOP_ListenPointList[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x2f4c6973),
+- ACE_NTOHL (0x74656e50),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPointList:1.0
+- 16,
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x656e506f),
+- ACE_NTOHL (0x696e744c),
+- ACE_NTOHL (0x69737400), // name = ListenPointList
+- CORBA::tk_sequence, // typecode kind
+- 116, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- CORBA::tk_struct, // typecode kind
+- 100, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 33,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x2f4c6973),
+- ACE_NTOHL (0x74656e50),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
+- 12,
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x656e506f),
+- ACE_NTOHL (0x696e7400), // name = ListenPoint
+- 2, // member count
+- 5,
+- ACE_NTOHL (0x686f7374),
+- ACE_NTOHL (0x0), // name = host
+- CORBA::tk_string,
+- 0U, // string length
+- 5,
+- ACE_NTOHL (0x706f7274),
+- ACE_NTOHL (0x0), // name = port
+- CORBA::tk_ushort,
+-
+-
+- 0U,
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_IIOP_ListenPointList (
+- CORBA::tk_alias,
+- sizeof (_oc_IIOP_ListenPointList),
+- (char *) &_oc_IIOP_ListenPointList,
+- 0,
+- sizeof (IIOP::ListenPointList)
+- );
+-
+-namespace IIOP
+-{
+- ::CORBA::TypeCode_ptr _tc_ListenPointList =
+- &_tc_TAO_tc_IIOP_ListenPointList;
+-}
+-
+-// TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_IIOP_BiDirIIOPServiceContext[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 45,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x2f426944),
+- ACE_NTOHL (0x69724949),
+- ACE_NTOHL (0x4f505365),
+- ACE_NTOHL (0x72766963),
+- ACE_NTOHL (0x65436f6e),
+- ACE_NTOHL (0x74657874),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/BiDirIIOPServiceContext:1.0
+- 24,
+- ACE_NTOHL (0x42694469),
+- ACE_NTOHL (0x7249494f),
+- ACE_NTOHL (0x50536572),
+- ACE_NTOHL (0x76696365),
+- ACE_NTOHL (0x436f6e74),
+- ACE_NTOHL (0x65787400), // name = BiDirIIOPServiceContext
+- 1, // member count
+- 14,
+- ACE_NTOHL (0x6c697374),
+- ACE_NTOHL (0x656e5f70),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x73000000), // name = listen_points
+- CORBA::tk_alias, // typecode kind for typedefs
+- 192, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 37,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x2f4c6973),
+- ACE_NTOHL (0x74656e50),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPointList:1.0
+- 16,
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x656e506f),
+- ACE_NTOHL (0x696e744c),
+- ACE_NTOHL (0x69737400), // name = ListenPointList
+- CORBA::tk_sequence, // typecode kind
+- 116, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- CORBA::tk_struct, // typecode kind
+- 100, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 33,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x6f6d672e),
+- ACE_NTOHL (0x6f72672f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x2f4c6973),
+- ACE_NTOHL (0x74656e50),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
+- 12,
+- ACE_NTOHL (0x4c697374),
+- ACE_NTOHL (0x656e506f),
+- ACE_NTOHL (0x696e7400), // name = ListenPoint
+- 2, // member count
+- 5,
+- ACE_NTOHL (0x686f7374),
+- ACE_NTOHL (0x0), // name = host
+- CORBA::tk_string,
+- 0U, // string length
+- 5,
+- ACE_NTOHL (0x706f7274),
+- ACE_NTOHL (0x0), // name = port
+- CORBA::tk_ushort,
+-
+-
+- 0U,
+-
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_IIOP_BiDirIIOPServiceContext (
+- CORBA::tk_struct,
+- sizeof (_oc_IIOP_BiDirIIOPServiceContext),
+- (char *) &_oc_IIOP_BiDirIIOPServiceContext,
+- 0,
+- sizeof (IIOP::BiDirIIOPServiceContext)
+- );
+-
+-namespace IIOP
+-{
+- ::CORBA::TypeCode_ptr _tc_BiDirIIOPServiceContext =
+- &_tc_TAO_tc_IIOP_BiDirIIOPServiceContext;
+-}
+-
+-// TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_cs.cpp:66
+
+ void
+--- orig/IIOPA.h 2003-12-24 12:43:32.000000000 -0600
++++ IIOPA.h 2003-12-24 12:40:28.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -33,6 +33,15 @@
+
+ #include /**/ "ace/pre.h"
+
++// ==== Hancrafted
++namespace IIOP
++{
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ListenPoint;
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ListenPointList;
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_BiDirIIOPServiceContext;
++}
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/any_op_ch.cpp:52
+
+--- orig/IIOPA.cpp 2003-12-24 12:43:32.000000000 -0600
++++ IIOPA.cpp 2003-12-24 12:41:32.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -30,6 +30,229 @@
+ #include "tao/Typecode.h"
+ #include "tao/Any_Dual_Impl_T.h"
+
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_IIOP_ListenPoint[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 33,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x2f4c6973),
++ ACE_NTOHL (0x74656e50),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
++ 12,
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x656e506f),
++ ACE_NTOHL (0x696e7400), // name = ListenPoint
++ 2, // member count
++ 5,
++ ACE_NTOHL (0x686f7374),
++ ACE_NTOHL (0x0), // name = host
++ CORBA::tk_string,
++ 0U, // string length
++ 5,
++ ACE_NTOHL (0x706f7274),
++ ACE_NTOHL (0x0), // name = port
++ CORBA::tk_ushort,
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_IIOP_ListenPoint (
++ CORBA::tk_struct,
++ sizeof (_oc_IIOP_ListenPoint),
++ (char *) &_oc_IIOP_ListenPoint,
++ 0,
++ sizeof (IIOP::ListenPoint)
++ );
++
++namespace IIOP
++{
++ ::CORBA::TypeCode_ptr _tc_ListenPoint =
++ &_tc_TAO_tc_IIOP_ListenPoint;
++}
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_IIOP_ListenPointList[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x2f4c6973),
++ ACE_NTOHL (0x74656e50),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPointList:1.0
++ 16,
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x656e506f),
++ ACE_NTOHL (0x696e744c),
++ ACE_NTOHL (0x69737400), // name = ListenPointList
++ CORBA::tk_sequence, // typecode kind
++ 116, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ CORBA::tk_struct, // typecode kind
++ 100, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 33,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x2f4c6973),
++ ACE_NTOHL (0x74656e50),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
++ 12,
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x656e506f),
++ ACE_NTOHL (0x696e7400), // name = ListenPoint
++ 2, // member count
++ 5,
++ ACE_NTOHL (0x686f7374),
++ ACE_NTOHL (0x0), // name = host
++ CORBA::tk_string,
++ 0U, // string length
++ 5,
++ ACE_NTOHL (0x706f7274),
++ ACE_NTOHL (0x0), // name = port
++ CORBA::tk_ushort,
++
++
++ 0U,
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_IIOP_ListenPointList (
++ CORBA::tk_alias,
++ sizeof (_oc_IIOP_ListenPointList),
++ (char *) &_oc_IIOP_ListenPointList,
++ 0,
++ sizeof (IIOP::ListenPointList)
++ );
++
++namespace IIOP
++{
++ ::CORBA::TypeCode_ptr _tc_ListenPointList =
++ &_tc_TAO_tc_IIOP_ListenPointList;
++}
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_IIOP_BiDirIIOPServiceContext[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 45,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x2f426944),
++ ACE_NTOHL (0x69724949),
++ ACE_NTOHL (0x4f505365),
++ ACE_NTOHL (0x72766963),
++ ACE_NTOHL (0x65436f6e),
++ ACE_NTOHL (0x74657874),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/BiDirIIOPServiceContext:1.0
++ 24,
++ ACE_NTOHL (0x42694469),
++ ACE_NTOHL (0x7249494f),
++ ACE_NTOHL (0x50536572),
++ ACE_NTOHL (0x76696365),
++ ACE_NTOHL (0x436f6e74),
++ ACE_NTOHL (0x65787400), // name = BiDirIIOPServiceContext
++ 1, // member count
++ 14,
++ ACE_NTOHL (0x6c697374),
++ ACE_NTOHL (0x656e5f70),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x73000000), // name = listen_points
++ CORBA::tk_alias, // typecode kind for typedefs
++ 192, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 37,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x2f4c6973),
++ ACE_NTOHL (0x74656e50),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPointList:1.0
++ 16,
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x656e506f),
++ ACE_NTOHL (0x696e744c),
++ ACE_NTOHL (0x69737400), // name = ListenPointList
++ CORBA::tk_sequence, // typecode kind
++ 116, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ CORBA::tk_struct, // typecode kind
++ 100, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 33,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x6f6d672e),
++ ACE_NTOHL (0x6f72672f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x2f4c6973),
++ ACE_NTOHL (0x74656e50),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:omg.org/IIOP/ListenPoint:1.0
++ 12,
++ ACE_NTOHL (0x4c697374),
++ ACE_NTOHL (0x656e506f),
++ ACE_NTOHL (0x696e7400), // name = ListenPoint
++ 2, // member count
++ 5,
++ ACE_NTOHL (0x686f7374),
++ ACE_NTOHL (0x0), // name = host
++ CORBA::tk_string,
++ 0U, // string length
++ 5,
++ ACE_NTOHL (0x706f7274),
++ ACE_NTOHL (0x0), // name = port
++ CORBA::tk_ushort,
++
++
++ 0U,
++
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_IIOP_BiDirIIOPServiceContext (
++ CORBA::tk_struct,
++ sizeof (_oc_IIOP_BiDirIIOPServiceContext),
++ (char *) &_oc_IIOP_BiDirIIOPServiceContext,
++ 0,
++ sizeof (IIOP::BiDirIIOPServiceContext)
++ );
++
++namespace IIOP
++{
++ ::CORBA::TypeCode_ptr _tc_BiDirIIOPServiceContext =
++ &_tc_TAO_tc_IIOP_BiDirIIOPServiceContext;
++}
++
++
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/any_op_cs.cpp:54
+
diff --git a/TAO/tao/diffs/IIOP_Endpoints.diff b/TAO/tao/diffs/IIOP_Endpoints.diff
new file mode 100644
index 00000000000..b1c0c59f650
--- /dev/null
+++ b/TAO/tao/diffs/IIOP_Endpoints.diff
@@ -0,0 +1,396 @@
+--- orig/IIOP_EndpointsC.h 2003-12-24 13:29:44.000000000 -0600
++++ IIOP_EndpointsC.h 2003-12-24 13:07:01.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -33,15 +33,12 @@
+
+ #include /**/ "ace/pre.h"
+
+-#include "tao/ORB.h"
++#include "tao/CDR.h"
+
+ #if !defined (ACE_LACKS_PRAGMA_ONCE)
+ # pragma once
+ #endif /* ACE_LACKS_PRAGMA_ONCE */
+
+-#include "tao/TAO_Export.h"
+-#include "tao/CDR.h"
+-#include "tao/Environment.h"
+ #include "tao/Sequence_T.h"
+ #include "tao/Seq_Var_T.h"
+ #include "tao/Seq_Out_T.h"
+@@ -108,11 +105,6 @@
+ };
+
+ // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info;
+-
+- // TAO_IDL - Generated from
+ // be/be_visitor_sequence/sequence_ch.cpp:101
+
+ #if !defined (_TAO_IIOPENDPOINTSEQUENCE_CH_)
+@@ -161,11 +153,6 @@
+ #endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+- // be/be_visitor_typecode/typecode_decl.cpp:44
+-
+- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence;
+-
+-// TAO_IDL - Generated from
+ // be/be_visitor_module/module_ch.cpp:66
+
+ } // module TAO
+--- orig/IIOP_EndpointsC.i 2003-12-24 13:29:44.000000000 -0600
++++ IIOP_EndpointsC.i 2003-12-23 19:41:59.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+--- orig/IIOP_EndpointsC.cpp 2003-12-24 13:29:44.000000000 -0600
++++ IIOP_EndpointsC.cpp 2003-12-24 13:08:05.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -50,60 +50,6 @@
+
+
+ // TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_TAO_IIOP_Endpoint_Info[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 31,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x54414f2f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x5f456e64),
+- ACE_NTOHL (0x706f696e),
+- ACE_NTOHL (0x745f496e),
+- ACE_NTOHL (0x666f3a31),
+- ACE_NTOHL (0x2e300000), // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
+- 19,
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x5f456e64),
+- ACE_NTOHL (0x706f696e),
+- ACE_NTOHL (0x745f496e),
+- ACE_NTOHL (0x666f0000), // name = IIOP_Endpoint_Info
+- 3, // member count
+- 5,
+- ACE_NTOHL (0x686f7374),
+- ACE_NTOHL (0x0), // name = host
+- CORBA::tk_string,
+- 0U, // string length
+- 5,
+- ACE_NTOHL (0x706f7274),
+- ACE_NTOHL (0x0), // name = port
+- CORBA::tk_short,
+-
+- 9,
+- ACE_NTOHL (0x7072696f),
+- ACE_NTOHL (0x72697479),
+- ACE_NTOHL (0x0), // name = priority
+- CORBA::tk_short,
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_TAO_IIOP_Endpoint_Info (
+- CORBA::tk_struct,
+- sizeof (_oc_TAO_IIOP_Endpoint_Info),
+- (char *) &_oc_TAO_IIOP_Endpoint_Info,
+- 0,
+- sizeof (TAO::IIOP_Endpoint_Info)
+- );
+-
+-namespace TAO
+-{
+- ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info =
+- &_tc_TAO_tc_TAO_IIOP_Endpoint_Info;
+-}
+-
+-// TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_cs.cpp:66
+
+ void
+@@ -170,86 +116,6 @@
+ #endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+-// be/be_visitor_typecode/typecode_defn.cpp:284
+-
+-static const CORBA::Long _oc_TAO_IIOPEndpointSequence[] =
+-{
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 33,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x54414f2f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x456e6470),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x53657175),
+- ACE_NTOHL (0x656e6365),
+- ACE_NTOHL (0x3a312e30),
+- ACE_NTOHL (0x0), // repository ID = IDL:TAO/IIOPEndpointSequence:1.0
+- 21,
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x456e6470),
+- ACE_NTOHL (0x6f696e74),
+- ACE_NTOHL (0x53657175),
+- ACE_NTOHL (0x656e6365),
+- ACE_NTOHL (0x0), // name = IIOPEndpointSequence
+- CORBA::tk_sequence, // typecode kind
+- 140, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- CORBA::tk_struct, // typecode kind
+- 124, // encapsulation length
+- TAO_ENCAP_BYTE_ORDER, // byte order
+- 31,
+- ACE_NTOHL (0x49444c3a),
+- ACE_NTOHL (0x54414f2f),
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x5f456e64),
+- ACE_NTOHL (0x706f696e),
+- ACE_NTOHL (0x745f496e),
+- ACE_NTOHL (0x666f3a31),
+- ACE_NTOHL (0x2e300000), // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
+- 19,
+- ACE_NTOHL (0x49494f50),
+- ACE_NTOHL (0x5f456e64),
+- ACE_NTOHL (0x706f696e),
+- ACE_NTOHL (0x745f496e),
+- ACE_NTOHL (0x666f0000), // name = IIOP_Endpoint_Info
+- 3, // member count
+- 5,
+- ACE_NTOHL (0x686f7374),
+- ACE_NTOHL (0x0), // name = host
+- CORBA::tk_string,
+- 0U, // string length
+- 5,
+- ACE_NTOHL (0x706f7274),
+- ACE_NTOHL (0x0), // name = port
+- CORBA::tk_short,
+-
+- 9,
+- ACE_NTOHL (0x7072696f),
+- ACE_NTOHL (0x72697479),
+- ACE_NTOHL (0x0), // name = priority
+- CORBA::tk_short,
+-
+-
+- 0U,
+-
+-};
+-
+-static CORBA::TypeCode _tc_TAO_tc_TAO_IIOPEndpointSequence (
+- CORBA::tk_alias,
+- sizeof (_oc_TAO_IIOPEndpointSequence),
+- (char *) &_oc_TAO_IIOPEndpointSequence,
+- 0,
+- sizeof (TAO::IIOPEndpointSequence)
+- );
+-
+-namespace TAO
+-{
+- ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence =
+- &_tc_TAO_tc_TAO_IIOPEndpointSequence;
+-}
+-
+-// TAO_IDL - Generated from
+ // be/be_visitor_sequence/cdr_op_cs.cpp:95
+
+ #if !defined _TAO_CDR_OP_TAO_IIOPEndpointSequence_CPP_
+--- orig/IIOP_EndpointsA.h 2003-12-24 13:29:44.000000000 -0600
++++ IIOP_EndpointsA.h 2003-12-24 13:06:56.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -33,6 +33,14 @@
+
+ #include /**/ "ace/pre.h"
+
++// ====== Handcrafted
++namespace TAO
++{
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info;
++
++ TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence;
++}
++
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/any_op_ch.cpp:52
+
+--- orig/IIOP_EndpointsA.cpp 2003-12-24 13:29:44.000000000 -0600
++++ IIOP_EndpointsA.cpp 2003-12-24 13:08:01.000000000 -0600
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+ //
+-// $Id$
++// $Id$
+
+ // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+ // TAO and the TAO IDL Compiler have been developed by:
+@@ -30,6 +30,141 @@
+ #include "tao/Typecode.h"
+ #include "tao/Any_Dual_Impl_T.h"
+
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_TAO_IIOP_Endpoint_Info[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 31,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x54414f2f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x5f456e64),
++ ACE_NTOHL (0x706f696e),
++ ACE_NTOHL (0x745f496e),
++ ACE_NTOHL (0x666f3a31),
++ ACE_NTOHL (0x2e300000), // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
++ 19,
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x5f456e64),
++ ACE_NTOHL (0x706f696e),
++ ACE_NTOHL (0x745f496e),
++ ACE_NTOHL (0x666f0000), // name = IIOP_Endpoint_Info
++ 3, // member count
++ 5,
++ ACE_NTOHL (0x686f7374),
++ ACE_NTOHL (0x0), // name = host
++ CORBA::tk_string,
++ 0U, // string length
++ 5,
++ ACE_NTOHL (0x706f7274),
++ ACE_NTOHL (0x0), // name = port
++ CORBA::tk_short,
++
++ 9,
++ ACE_NTOHL (0x7072696f),
++ ACE_NTOHL (0x72697479),
++ ACE_NTOHL (0x0), // name = priority
++ CORBA::tk_short,
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_TAO_IIOP_Endpoint_Info (
++ CORBA::tk_struct,
++ sizeof (_oc_TAO_IIOP_Endpoint_Info),
++ (char *) &_oc_TAO_IIOP_Endpoint_Info,
++ 0,
++ sizeof (TAO::IIOP_Endpoint_Info)
++ );
++
++namespace TAO
++{
++ ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info =
++ &_tc_TAO_tc_TAO_IIOP_Endpoint_Info;
++}
++
++// TAO_IDL - Generated from
++// be/be_visitor_typecode/typecode_defn.cpp:284
++
++static const CORBA::Long _oc_TAO_IIOPEndpointSequence[] =
++{
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 33,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x54414f2f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x456e6470),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x53657175),
++ ACE_NTOHL (0x656e6365),
++ ACE_NTOHL (0x3a312e30),
++ ACE_NTOHL (0x0), // repository ID = IDL:TAO/IIOPEndpointSequence:1.0
++ 21,
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x456e6470),
++ ACE_NTOHL (0x6f696e74),
++ ACE_NTOHL (0x53657175),
++ ACE_NTOHL (0x656e6365),
++ ACE_NTOHL (0x0), // name = IIOPEndpointSequence
++ CORBA::tk_sequence, // typecode kind
++ 140, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ CORBA::tk_struct, // typecode kind
++ 124, // encapsulation length
++ TAO_ENCAP_BYTE_ORDER, // byte order
++ 31,
++ ACE_NTOHL (0x49444c3a),
++ ACE_NTOHL (0x54414f2f),
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x5f456e64),
++ ACE_NTOHL (0x706f696e),
++ ACE_NTOHL (0x745f496e),
++ ACE_NTOHL (0x666f3a31),
++ ACE_NTOHL (0x2e300000), // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
++ 19,
++ ACE_NTOHL (0x49494f50),
++ ACE_NTOHL (0x5f456e64),
++ ACE_NTOHL (0x706f696e),
++ ACE_NTOHL (0x745f496e),
++ ACE_NTOHL (0x666f0000), // name = IIOP_Endpoint_Info
++ 3, // member count
++ 5,
++ ACE_NTOHL (0x686f7374),
++ ACE_NTOHL (0x0), // name = host
++ CORBA::tk_string,
++ 0U, // string length
++ 5,
++ ACE_NTOHL (0x706f7274),
++ ACE_NTOHL (0x0), // name = port
++ CORBA::tk_short,
++
++ 9,
++ ACE_NTOHL (0x7072696f),
++ ACE_NTOHL (0x72697479),
++ ACE_NTOHL (0x0), // name = priority
++ CORBA::tk_short,
++
++
++ 0U,
++
++};
++
++static CORBA::TypeCode _tc_TAO_tc_TAO_IIOPEndpointSequence (
++ CORBA::tk_alias,
++ sizeof (_oc_TAO_IIOPEndpointSequence),
++ (char *) &_oc_TAO_IIOPEndpointSequence,
++ 0,
++ sizeof (TAO::IIOPEndpointSequence)
++ );
++
++namespace TAO
++{
++ ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence =
++ &_tc_TAO_tc_TAO_IIOPEndpointSequence;
++}
++
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/any_op_cs.cpp:54
+
diff --git a/TAO/tao/diffs/TAO.diff b/TAO/tao/diffs/TAO.diff
new file mode 100644
index 00000000000..0bfa834bc0b
--- /dev/null
+++ b/TAO/tao/diffs/TAO.diff
@@ -0,0 +1,23 @@
+--- orig/TAOC.h 2003-11-08 21:52:21.000000000 -0600
++++ TAOC.h 2003-11-08 21:52:16.000000000 -0600
+@@ -33,19 +33,12 @@
+
+ #include /**/ "ace/pre.h"
+
+-#include "tao/ORB.h"
++#include "PolicyC.h"
+
+ #if !defined (ACE_LACKS_PRAGMA_ONCE)
+ # pragma once
+ #endif /* ACE_LACKS_PRAGMA_ONCE */
+
+-#include "tao/CDR.h"
+-#include "tao/Environment.h"
+-#include "tao/Object.h"
+-#include "tao/Objref_VarOut_T.h"
+-#include "tao/VarOut_T.h"
+-
+-#include "PolicyC.h"
+ #include "TimeBaseC.h"
+ #include "Messaging_SyncScopeC.h"
+
diff --git a/TAO/tests/AMH_Exceptions/AMH_Exceptions.mpc b/TAO/tests/AMH_Exceptions/AMH_Exceptions.mpc
new file mode 100644
index 00000000000..01ed0d16004
--- /dev/null
+++ b/TAO/tests/AMH_Exceptions/AMH_Exceptions.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, amh, portableserver, strategies {
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, amh, portableserver, strategies {
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/tests/AMH_Oneway/AMH_Oneway.mpc b/TAO/tests/AMH_Oneway/AMH_Oneway.mpc
new file mode 100644
index 00000000000..0e5819c5167
--- /dev/null
+++ b/TAO/tests/AMH_Oneway/AMH_Oneway.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver, amh {
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver, amh, strategies {
+ source_files {
+ server.cpp
+ }
+}
diff --git a/TAO/tests/Abstract_Interface/Abstract_Interface.mpc b/TAO/tests/Abstract_Interface/Abstract_Interface.mpc
new file mode 100644
index 00000000000..e67492447d7
--- /dev/null
+++ b/TAO/tests/Abstract_Interface/Abstract_Interface.mpc
@@ -0,0 +1,15 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver {
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver {
+ source_files {
+ server.cpp
+ test_i.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1020_Basic_Regression/Bug_1020_Basic_Regression.mpc b/TAO/tests/Bug_1020_Basic_Regression/Bug_1020_Basic_Regression.mpc
new file mode 100644
index 00000000000..d8f65249161
--- /dev/null
+++ b/TAO/tests/Bug_1020_Basic_Regression/Bug_1020_Basic_Regression.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, messaging {
+ Source_Files {
+ Echo_Caller.cpp
+ Server_Task.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, messaging {
+ Source_Files {
+ Echo.cpp
+ Client_Task.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1020_Regression/Bug_1020_Regression.mpc b/TAO/tests/Bug_1020_Regression/Bug_1020_Regression.mpc
new file mode 100644
index 00000000000..c5bbc559d6f
--- /dev/null
+++ b/TAO/tests/Bug_1020_Regression/Bug_1020_Regression.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, messaging {
+ Source_Files {
+ ORB_Task.cpp
+ Server_i.cpp
+ Server_Task.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, messaging {
+ Source_Files {
+ Echo.cpp
+ ORB_Task.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1269_Regression/Bug_1269_Regression.mpc b/TAO/tests/Bug_1269_Regression/Bug_1269_Regression.mpc
new file mode 100644
index 00000000000..16d6e256d9e
--- /dev/null
+++ b/TAO/tests/Bug_1269_Regression/Bug_1269_Regression.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, messaging {
+ Source_Files {
+ Echo_Caller.cpp
+ Server_Timer.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, messaging {
+ Source_Files {
+ Echo.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1270_Regression/Bug_1270_Regression.mpc b/TAO/tests/Bug_1270_Regression/Bug_1270_Regression.mpc
new file mode 100644
index 00000000000..b52dc03ff11
--- /dev/null
+++ b/TAO/tests/Bug_1270_Regression/Bug_1270_Regression.mpc
@@ -0,0 +1,23 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, messaging {
+ Source_Files {
+ Echo_Caller.cpp
+ Server_Timer.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, messaging {
+ Source_Files {
+ Echo.cpp
+ client.cpp
+ }
+}
+
+project(*Shutdown): taoexe, messaging {
+ Source_Files {
+ shutdown.cpp
+ }
+} \ No newline at end of file
diff --git a/TAO/tests/Bug_1330_Regression/Bug_1330_Client.dsp b/TAO/tests/Bug_1330_Regression/Bug_1330_Client.dsp
new file mode 100644
index 00000000000..3e30b652dae
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Bug_1330_Client.dsp
@@ -0,0 +1,177 @@
+# Microsoft Developer Studio Project File - Name="Bug 1330 Client EXE" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug 1330 Client EXE - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1330_Client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1330_Client.mak" CFG="Bug 1330 Client EXE - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug 1330 Client EXE - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug 1330 Client EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug 1330 Client EXE - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"client.exe" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\ace" /version:1.3.1
+
+!ELSEIF "$(CFG)" == "Bug 1330 Client EXE - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"client.exe" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\ace" /version:1.3.1
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug 1330 Client EXE - Win32 Release"
+# Name "Bug 1330 Client EXE - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Bug 1330 Client EXE - Win32 Release"
+
+# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath)
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\release\tao_idl -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug 1330 Client EXE - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath)
+OutDir=.
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -o $(OutDir) -Ge 1 -Sc $(InputPath)
+
+"$(OutDir)\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1330_Regression/Bug_1330_Regression.mpc b/TAO/tests/Bug_1330_Regression/Bug_1330_Regression.mpc
new file mode 100644
index 00000000000..d547a7e5fd7
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Bug_1330_Regression.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug 1330 Server): server, iortable {
+ Source_Files {
+ Test_i.cpp
+ server.cpp
+ }
+}
+
+project(Bug 1330 Client): client {
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1330_Regression/Bug_1330_Server.dsp b/TAO/tests/Bug_1330_Regression/Bug_1330_Server.dsp
new file mode 100644
index 00000000000..8f70100dc3d
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Bug_1330_Server.dsp
@@ -0,0 +1,195 @@
+# Microsoft Developer Studio Project File - Name="Bug 1330 Server EXE" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug 1330 Server EXE - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1330_Server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1330_Server.mak" CFG="Bug 1330 Server EXE - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug 1330 Server EXE - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug 1330 Server EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug 1330 Server EXE - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\.." /d NDEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_IORTable.lib TAO_PortableServer.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"server.exe" /libpath:"$(TAO_ROOT)\tao\IORTable" /libpath:"$(TAO_ROOT)\tao\PortableServer" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\ace" /version:1.3.1
+
+!ELSEIF "$(CFG)" == "Bug 1330 Server EXE - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\.." /d _DEBUG=1
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_IORTabled.lib TAO_PortableServerd.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"server.exe" /libpath:"$(TAO_ROOT)\tao\IORTable" /libpath:"$(TAO_ROOT)\tao\PortableServer" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\ace" /version:1.3.1
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug 1330 Server EXE - Win32 Release"
+# Name "Bug 1330 Server EXE - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=.\server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=.\Test_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.i
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\README
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Bug 1330 Server EXE - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath)
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\release\tao_idl -Ge 1 -Sc $(InputPath)
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug 1330 Server EXE - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputPath)
+OutDir=.
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -o $(OutDir) -Ge 1 -Sc $(InputPath)
+
+"$(OutDir)\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(OutDir)\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1330_Regression/Makefile b/TAO/tests/Bug_1330_Regression/Makefile
new file mode 100644
index 00000000000..422514319c0
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Makefile
@@ -0,0 +1,21 @@
+# $Id$
+
+#----------------------------------------------------------------------------
+# GNU Workspace
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+TARGETS_NESTED := $(TARGETS_NESTED:.nested=)
+MFILES = \
+ Makefile.Bug_1330_Server \
+ Makefile.Bug_1330_Client
+
+$(TARGETS_NESTED):
+ifneq (Windows,$(findstring Windows,$(OS)))
+ @for file in $(MFILES); do \
+ $(MAKE) -f `basename $$file` -C `dirname $$file` $(@); \
+ done
+else
+ -@cmd /c "$(MAKE) -f Makefile.Bug_1330_Server -C . $(@)"
+ -@cmd /c "$(MAKE) -f Makefile.Bug_1330_Client -C . $(@)"
+endif
diff --git a/TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Client b/TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Client
new file mode 100644
index 00000000000..c2758dcd1b5
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Client
@@ -0,0 +1,70 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1330_Client
+BIN_UNCHECKED = client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+IDL_FILES = Test
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+
+
+FILES = \
+ TestC \
+ client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+
+BIN = $(BIN_UNCHECKED)
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ACELIB = -lACE
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I../../..
+ifeq ($(static_libs),1)
+ifneq ($(LIB),)
+CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+endif
+endif
+
+
+LDFLAGS += -L$(TAO_ROOT)/tao -L../../../ace
+TAO_IDLFLAGS += -Ge 1 -Sc
+
+LDLIBS = -lTAO
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+ADDITIONAL_IDL_TARGETS =
+
+# IDL File Directory: .
+
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+
+all: idl_stubs
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
diff --git a/TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Server b/TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Server
new file mode 100644
index 00000000000..a204ce93222
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Makefile.Bug_1330_Server
@@ -0,0 +1,72 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1330_Server
+BIN_UNCHECKED = server
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+IDL_FILES = Test
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+
+
+FILES = \
+ TestC \
+ TestS \
+ Test_i \
+ server
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+
+BIN = $(BIN_UNCHECKED)
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ACELIB = -lACE
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao -I../../..
+ifeq ($(static_libs),1)
+ifneq ($(LIB),)
+CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+endif
+endif
+
+
+LDFLAGS += -L$(TAO_ROOT)/tao/IORTable -L$(TAO_ROOT)/tao/PortableServer -L$(TAO_ROOT)/tao -L../../../ace
+TAO_IDLFLAGS += -Ge 1 -Sc
+
+LDLIBS = -lTAO_IORTable -lTAO_PortableServer -lTAO
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+ADDITIONAL_IDL_TARGETS =
+
+# IDL File Directory: .
+
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+
+all: idl_stubs
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
diff --git a/TAO/tests/Bug_1330_Regression/README b/TAO/tests/Bug_1330_Regression/README
new file mode 100644
index 00000000000..d1f531018e3
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/README
@@ -0,0 +1,3 @@
+This test contains regression tests for fixes to bugs #1394 and #1395.
+
+See the bugzilla records for these bugs for details. \ No newline at end of file
diff --git a/TAO/tests/Bug_1330_Regression/Test.idl b/TAO/tests/Bug_1330_Regression/Test.idl
new file mode 100644
index 00000000000..cf161d304ee
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Test.idl
@@ -0,0 +1,8 @@
+//
+// $Id$
+//
+
+interface Test
+{
+ void test_method();
+};
diff --git a/TAO/tests/Bug_1330_Regression/Test_i.cpp b/TAO/tests/Bug_1330_Regression/Test_i.cpp
new file mode 100644
index 00000000000..70ccbb17d47
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Test_i.cpp
@@ -0,0 +1,21 @@
+//
+// $Id$
+//
+#include "Test_i.h"
+
+Test_i::Test_i()
+{
+ // Noop
+}
+
+Test_i::~Test_i()
+{
+ // Noop
+}
+
+void
+Test_i::test_method (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Noop
+}
diff --git a/TAO/tests/Bug_1330_Regression/Test_i.h b/TAO/tests/Bug_1330_Regression/Test_i.h
new file mode 100644
index 00000000000..acaff8a29b1
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/Test_i.h
@@ -0,0 +1,26 @@
+//
+// $Id$
+//
+// -*- C++ -*-
+
+#if !defined BUG_1330_REGRESSION_TEST_I_H
+ #define BUG_1330_REGRESSION_TEST_I_H
+
+#include "TestS.h"
+
+class Test_i: public POA_Test
+{
+public:
+ /// Constructor
+ Test_i (void);
+
+ /// Destructor
+ ~Test_i (void);
+
+ /// A method
+ void test_method(ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+};
+
+#endif /* ! BUG_1330_REGRESSION_TEST_I_H */
diff --git a/TAO/tests/Bug_1330_Regression/client.cpp b/TAO/tests/Bug_1330_Regression/client.cpp
new file mode 100644
index 00000000000..f317731aeae
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/client.cpp
@@ -0,0 +1,83 @@
+//
+// $Id$
+//
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+
+const char *ior = "corbaloc:iiop:localhost:12345/Name\\2dwith\\2dhyphens";
+int shutdown_server = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+ case 's':
+ shutdown_server = 1;
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test_var server =
+ Test::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (server.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::Server reference <%s>\n",
+ ior),
+ 1);
+ }
+
+
+ server->test_method(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ result =0;
+
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ result =1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
diff --git a/TAO/tests/Bug_1330_Regression/run_test.pl b/TAO/tests/Bug_1330_Regression/run_test.pl
new file mode 100755
index 00000000000..4dfde222810
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/run_test.pl
@@ -0,0 +1,58 @@
+
+# $Id$
+
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+# The server IOR file
+$server_ior_file = PerlACE::LocalFile ("server.ior");
+
+# The client and server processes
+$SERVER = new PerlACE::Process(PerlACE::LocalFile("server"));
+$CLIENT = new PerlACE::Process(PerlACE::LocalFile("client"));
+
+# We want the server to run on a fixed port
+$port = PerlACE::uniqueid () + 10001; # This can't be 10000 for Chorus 4.0
+$SERVER->Arguments("-ORBEndpoint iiop://localhost:$port");
+
+# Fire up the server
+$SERVER->Spawn();
+
+# We don't need the IOR file but we can wait on the file
+if (PerlACE::waitforfile_timed ($server_ior_file, 10) == -1)
+{
+ print STDERR "ERROR: cannot find $server_ior_file\n";
+ $SERVER->Kill();
+ exit 1;
+}
+
+# Try the corbaloc URL with incorrect '\' escaping of hex characters
+# We expect this to 'fail'
+$CLIENT->Arguments("-k corbaloc:iiop:localhost:$port/Name\\2dwith\\2dhyphens");
+if ($CLIENT->SpawnWaitKill (30) == 0)
+{
+ print STDERR "ERROR: Bug 1330 Regression failed. Incorrect escape characters accepted\n";
+ $SERVER->Kill();
+ exit 1;
+}
+
+# Try the corbaloc URL with the correct '%' escaping of hex characters
+# We expect success
+$CLIENT->Arguments("-k corbaloc:iiop:localhost:$port/Name%2dwith%2dhyphens");
+if ($CLIENT->SpawnWaitKill (30) != 0)
+{
+ print STDERR "ERROR: Bug 1330 Regression failed. Correct escape characters rejected\n";
+ $SERVER->Kill();
+ exit 1;
+}
+
+# Clean up and return
+$SERVER->TerminateWaitKill (5);
+unlink $server_ior_file;
+exit 0;
diff --git a/TAO/tests/Bug_1330_Regression/server.cpp b/TAO/tests/Bug_1330_Regression/server.cpp
new file mode 100644
index 00000000000..63308e1c36c
--- /dev/null
+++ b/TAO/tests/Bug_1330_Regression/server.cpp
@@ -0,0 +1,125 @@
+//
+// $Id$
+//
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+#include "Test_i.h"
+
+#include "tao/IORTable/IORTable.h"
+
+const char *object_key = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ object_key = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "SERVER (%P): usage: %s "
+ "-k <object key>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "SERVER (%P): Unable to initialize the POA.\n"),
+ 1);
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Test_i server_impl;
+
+
+
+ root_poa->activate_object ( &server_impl
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var server = server_impl._this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (server.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var table_object =
+ orb->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ IORTable::Table_var adapter =
+ IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ adapter->bind("Name-with-hyphens", ior.in());
+
+
+ FILE *output_file= ACE_OS::fopen ("server.ior", "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "SERVER (%P): Cannot open output file "
+ "for writing IOR: %s",
+ "server.ior"),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "SERVER (%P): Activated as file://%s\n",
+ "server.ior"));
+
+ poa_manager->activate();
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "SERVER (%P): Caught exception:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1361_Regression/Bug_1361_Regression.mpc b/TAO/tests/Bug_1361_Regression/Bug_1361_Regression.mpc
new file mode 100644
index 00000000000..08f8c6553cd
--- /dev/null
+++ b/TAO/tests/Bug_1361_Regression/Bug_1361_Regression.mpc
@@ -0,0 +1,25 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, messaging {
+ Source_Files {
+ Server_Thread_Pool.cpp
+ Echo_Caller.cpp
+ ORB_Task.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, messaging {
+ Source_Files {
+ Echo.cpp
+ ORB_Task.cpp
+ client.cpp
+ }
+}
+
+project(*Shutdown): taoexe, messaging {
+ Source_Files {
+ shutdown.cpp
+ }
+} \ No newline at end of file
diff --git a/TAO/tests/Bug_1482_Regression/test.mpc b/TAO/tests/Bug_1482_Regression/test.mpc
new file mode 100644
index 00000000000..60cc4b21a2b
--- /dev/null
+++ b/TAO/tests/Bug_1482_Regression/test.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug_1482_Server): taoserver, amh, ami, iortable, portableserver {
+ exename = server
+ Source_Files {
+ Hello.cpp
+ Server_Task.cpp
+ server.cpp
+ }
+}
+
+project(Bug_1482_Client): taoserver, amh, ami {
+ exename = client
+ Source_Files {
+ Client_Task.cpp
+ Reply_Handler.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1551_Regression/test.mpc b/TAO/tests/Bug_1551_Regression/test.mpc
new file mode 100644
index 00000000000..3a49e0f9014
--- /dev/null
+++ b/TAO/tests/Bug_1551_Regression/test.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug_1551_Server): taoserver, ami, iortable, portableserver {
+ exename = server
+ Source_Files {
+ Hello.cpp
+ Server_Task.cpp
+ server.cpp
+ }
+}
+
+project(Bug_1551_Client): taoserver, ami {
+ exename = client
+ Source_Files {
+ Client_Task.cpp
+ Reply_Handler.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1568_Regression/Bug_1568_Regression.dsw b/TAO/tests/Bug_1568_Regression/Bug_1568_Regression.dsw
new file mode 100644
index 00000000000..7d5a1294888
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/Bug_1568_Regression.dsw
@@ -0,0 +1,40 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1670_Regression Client"=.\client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Bug_1670_Regression Server"=.\server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
diff --git a/TAO/tests/Bug_1568_Regression/Bug_1568_Regression.mpc b/TAO/tests/Bug_1568_Regression/Bug_1568_Regression.mpc
new file mode 100644
index 00000000000..76e18048de3
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/Bug_1568_Regression.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver {
+ idlflags += -Gv -GH
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): taoserver {
+ exename = client
+ idlflags += -Gv -GH
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1568_Regression/Makefile b/TAO/tests/Bug_1568_Regression/Makefile
new file mode 100644
index 00000000000..e84707903ac
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/Makefile
@@ -0,0 +1,1484 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = Test
+IDL_SRC = TestC.cpp TestS.cpp
+BIN = client server
+
+SRC = $(addsuffix .cpp, $(BIN)) $(IDL_SRC)
+
+CLIENT_OBJS = client.o TestC.o
+
+SERVER_OBJS = server.o $(IDL_SRC:.cpp=.o)
+
+TAO_IDLFLAGS += -Gv -GH -Ge 1
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), Test$(ext))
+
+client: $(addprefix $(VDIR),$(CLIENT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+server: $(addprefix $(VDIR),$(SERVER_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), Test$(ext))
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/AMH_Response_Handler.h \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/Utils/Servant_Var.h \
+ $(TAO_ROOT)/tao/Utils/Servant_Var.inl \
+ $(ACE_ROOT)/ace/Swap.h \
+ $(ACE_ROOT)/ace/Swap.inl \
+ $(ACE_ROOT)/ace/Swap.cpp \
+ $(TAO_ROOT)/tao/Utils/Servant_Var.cpp \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/ObjectIdListC.h \
+ $(TAO_ROOT)/tao/ObjectIdListC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp
+
+.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/AMH_Response_Handler.h \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Bug_1568_Regression/Makefile.bor b/TAO/tests/Bug_1568_Regression/Makefile.bor
new file mode 100644
index 00000000000..19f31a4d882
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/Makefile.bor
@@ -0,0 +1,7 @@
+#
+# $Id$
+#
+
+MAKEFILES = server.bor client.bor
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/tests/Bug_1568_Regression/Test.idl b/TAO/tests/Bug_1568_Regression/Test.idl
new file mode 100644
index 00000000000..288bf4aac97
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/Test.idl
@@ -0,0 +1,31 @@
+/**
+ * @file Test.idl
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ */
+module Foo
+{
+ module Bar
+ {
+ interface A
+ {
+ void op1();
+ void op2();
+ };
+
+ interface B
+ {
+ void op3();
+ };
+ };
+};
+
+module Baz
+{
+ interface C : Foo::Bar::A, Foo::Bar::B
+ {
+ void op4();
+ };
+};
diff --git a/TAO/tests/Bug_1568_Regression/client.bor b/TAO/tests/Bug_1568_Regression/client.bor
new file mode 100644
index 00000000000..2bff9858124
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/client.bor
@@ -0,0 +1,41 @@
+#
+# $Id$
+#
+
+NAME = client
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Ge 1 -GC
+
+OBJFILES = \
+ $(OBJDIR)\TestC.obj \
+ $(OBJDIR)\client.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_VALUETYPE_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_VALUETYPE_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\Test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\TestS.cpp $(IDLDIR)\TestC.cpp: $(IDLDIR)\Test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/tests/Bug_1568_Regression/client.cpp b/TAO/tests/Bug_1568_Regression/client.cpp
new file mode 100644
index 00000000000..44edda43ee7
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/client.cpp
@@ -0,0 +1,88 @@
+/**
+ * @file client.cpp
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ *
+ */
+#include "TestC.h"
+
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(Bug_1568_Regression, client, "$Id$")
+
+const char *ior = "file://test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var object =
+ orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Baz::C_var cobject =
+ Baz::C::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (cobject.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot narrow Baz::C object <%s>\n",
+ ior),
+ 1);
+ }
+
+ cobject->op1 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ cobject->op2 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ cobject->op3 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ cobject->op4 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1568_Regression/client.dsp b/TAO/tests/Bug_1568_Regression/client.dsp
new file mode 100644
index 00000000000..44740e02ad8
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/client.dsp
@@ -0,0 +1,206 @@
+# Microsoft Developer Studio Project File - Name="Bug_1568_Regression Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1568_Regression Client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak" CFG="Bug_1568_Regression Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1568_Regression Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1568_Regression Client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1568_Regression Client - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../" /I "../../" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 tao.lib ace.lib TAO_PortableServer.lib TAO_Messaging.lib TAO_Valuetype.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1568_Regression Client - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "../../../" /I "../../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 taod.lib aced.lib TAO_PortableServerd.lib TAO_Messagingd.lib TAO_Valuetyped.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1568_Regression Client - Win32 Release"
+# Name "Bug_1568_Regression Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Bug_1568_Regression Client - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1568_Regression Client - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1568_Regression/run_test.pl b/TAO/tests/Bug_1568_Regression/run_test.pl
new file mode 100755
index 00000000000..cb01e54efdc
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/run_test.pl
@@ -0,0 +1,42 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+$status = 0;
+
+$SV = new PerlACE::Process ("server", "-o $iorfile");
+$CL = new PerlACE::Process ("client", " -k file://$iorfile");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile, 5) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->TerminateWaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/Bug_1568_Regression/server.bor b/TAO/tests/Bug_1568_Regression/server.bor
new file mode 100644
index 00000000000..156c619a9dc
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/server.bor
@@ -0,0 +1,42 @@
+#
+# $Id$
+#
+
+NAME = server
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Gv -GH -Ge 1
+
+OBJFILES = \
+ $(OBJDIR)\TestC.obj \
+ $(OBJDIR)\TestS.obj \
+ $(OBJDIR)\server.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_VALUETYPE_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_VALUETYPE_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\Test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\TestS.cpp $(IDLDIR)\TestC.cpp: $(IDLDIR)\Test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/tests/Bug_1568_Regression/server.cpp b/TAO/tests/Bug_1568_Regression/server.cpp
new file mode 100644
index 00000000000..1926fe0a556
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/server.cpp
@@ -0,0 +1,200 @@
+/**
+ * @file server.cpp
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ */
+#include "TestS.h"
+
+#include "tao/Utils/Servant_Var.h"
+#include "tao/corba.h"
+#include "tao/ORB_Core.h"
+#include "ace/Get_Opt.h"
+#include "ace/Reactor.h"
+
+ACE_RCSID(Bug_1568_Regression, server, "$Id$")
+
+/**
+ * @class Simple_C
+ *
+ * @brief A simple implementation of the 'C' object.
+ *
+ */
+class Simple_C
+ : public virtual POA_Baz::AMH_C
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ Simple_C (CORBA::ORB_ptr orb);
+
+ void op1 (
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void op2 (
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void op3 (
+ Foo::Bar::AMH_BResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void op4 (
+ Baz::AMH_CResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+protected:
+ CORBA::ORB_ptr orb_;
+};
+
+
+/***************************/
+/*** Servant Definition ***/
+
+Simple_C::Simple_C (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+void
+Simple_C::op1(
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op1(ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+Simple_C::op2(
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op2(ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+Simple_C::op3(
+ Foo::Bar::AMH_BResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op3(ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+Simple_C::op4(
+ Baz::AMH_CResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op4(ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// ****************************************************************
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ TAO::Utils::Servant_Var<Simple_C> simple_c_impl(
+ new Simple_C(orb.in()));
+
+ Baz::C_var simple_c =
+ simple_c_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (simple_c.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Output the IOR to the <ior_output_file>
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1568_Regression/server.dsp b/TAO/tests/Bug_1568_Regression/server.dsp
new file mode 100644
index 00000000000..5ac0fbd463a
--- /dev/null
+++ b/TAO/tests/Bug_1568_Regression/server.dsp
@@ -0,0 +1,218 @@
+# Microsoft Developer Studio Project File - Name="Bug_1568_Regression Server" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1568_Regression Server - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak" CFG="Bug_1568_Regression Server - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1568_Regression Server - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1568_Regression Server - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1568_Regression Server - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../" /I "../../" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 TAO.lib ace.lib TAO_PortableServer.lib TAO_Messaging.lib TAO_Valuetype.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1568_Regression Server - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "../../../" /I "../../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 TAOd.lib aced.lib TAO_PortableServerd.lib TAO_Messagingd.lib TAO_Valuetyped.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1568_Regression Server - Win32 Release"
+# Name "Bug_1568_Regression Server - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ".idl"
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Bug_1568_Regression Server - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1568_Regression Server - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -GH -Gv -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ".i"
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1627_Regression/Bug_1627_Client.dsp b/TAO/tests/Bug_1627_Regression/Bug_1627_Client.dsp
new file mode 100644
index 00000000000..35a388df030
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Bug_1627_Client.dsp
@@ -0,0 +1,183 @@
+# Microsoft Developer Studio Project File - Name="Bug_1627_Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1627_Client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1627_Client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1627_Client.mak" CFG="Bug_1627_Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1627_Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1627_Client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1627_Client - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\Bug_1627_Client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1627_Client - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\Bug_1627_Client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1627_Client - Win32 Release"
+# Name "Bug_1627_Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\client.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\TestC.cpp"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\TestC.h"
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\TestC.i"
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\README"
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=".\Test.idl"
+
+!IF "$(CFG)" == "Bug_1627_Client - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\Test.idl"
+InputName=Test
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\release\tao_idl -o . -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1627_Client - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\Test.idl"
+InputName=Test
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\tao_idl -o . -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1627_Regression/Bug_1627_Regression.dsw b/TAO/tests/Bug_1627_Regression/Bug_1627_Regression.dsw
new file mode 100644
index 00000000000..3af4f5f9c1a
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Bug_1627_Regression.dsw
@@ -0,0 +1,41 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1627_Server"=Bug_1627_Server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Bug_1627_Client"=Bug_1627_Client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/Bug_1627_Regression/Bug_1627_Server.dsp b/TAO/tests/Bug_1627_Regression/Bug_1627_Server.dsp
new file mode 100644
index 00000000000..5a96e613ca6
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Bug_1627_Server.dsp
@@ -0,0 +1,203 @@
+# Microsoft Developer Studio Project File - Name="Bug_1627_Server" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1627_Server - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1627_Server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1627_Server.mak" CFG="Bug_1627_Server - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1627_Server - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1627_Server - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1627_Server - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\Bug_1627_Server"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_IORTable.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_Valuetype.lib TAO_ObjRefTemplate.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\server.exe" /libpath:"..\..\tao\IORTable" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1627_Server - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\Bug_1627_Server"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_IORTabled.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_Valuetyped.lib TAO_ObjRefTemplated.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\server.exe" /libpath:"..\..\tao\IORTable" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\IORInterceptor" /libpath:"..\..\tao\Valuetype" /libpath:"..\..\tao\ObjRefTemplate" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1627_Server - Win32 Release"
+# Name "Bug_1627_Server - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\server.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\Test_i.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\TestC.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\TestS.cpp"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\Test_i.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\TestC.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\TestS.h"
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\TestC.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\TestS.i"
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\README"
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=".\Test.idl"
+
+!IF "$(CFG)" == "Bug_1627_Server - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\Test.idl"
+InputName=Test
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\release\tao_idl -o . -Gv -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1627_Server - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\Test.idl"
+InputName=Test
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\tao_idl -o . -Gv -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1627_Regression/Makefile b/TAO/tests/Bug_1627_Regression/Makefile
new file mode 100644
index 00000000000..16d467bd978
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Makefile
@@ -0,0 +1,59 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+
+MAKE_OPTIONS=$(shell echo $(MAKEFLAGS) | sed 's/--unix *//; s/ .*//')
+ifeq ($(findstring k,$(MAKE_OPTIONS)),k)
+ KEEP_GOING = 1
+else
+ KEEP_GOING = 0
+endif
+
+%.tgt0:
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Bug_1627_Server -C . $(*);
+else
+ @$(MAKE) -f Makefile.Bug_1627_Server -C . $(*);
+endif
+%.tgt1: %.tgt0
+ifeq ($(KEEP_GOING),1)
+ -@$(MAKE) -f Makefile.Bug_1627_Client -C . $(*);
+else
+ @$(MAKE) -f Makefile.Bug_1627_Client -C . $(*);
+endif
+
+
+all: all.tgt0 all.tgt1
+
+debug: debug.tgt0 debug.tgt1
+
+profile: profile.tgt0 profile.tgt1
+
+optimize: optimize.tgt0 optimize.tgt1
+
+install: install.tgt0 install.tgt1
+
+deinstall: deinstall.tgt0 deinstall.tgt1
+
+clean: clean.tgt0 clean.tgt1
+
+realclean: realclean.tgt0 realclean.tgt1
+
+clobber: clobber.tgt0 clobber.tgt1
+
+depend: depend.tgt0 depend.tgt1
+
+rcs_info: rcs_info.tgt0 rcs_info.tgt1
+
+idl_stubs: idl_stubs.tgt0 idl_stubs.tgt1
+
+reverseclean: realclean.tgt1 realclean.tgt0
diff --git a/TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Client b/TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Client
new file mode 100644
index 00000000000..b6b19d24885
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Client
@@ -0,0 +1,112 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Bug_1627_Client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1627_Client
+BIN_UNCHECKED = client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = ../../../bin/tao_idl
+IDL_FILES = Test
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ TestC \
+ client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bug_1627_Client
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+
+BIN = $(BIN_UNCHECKED)
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(BIN),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+TestC.cpp client.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../.. -I../../tao -I../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../../ace -L../../tao -L../../../lib
+
+TAO_IDLFLAGS += -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+.:
+ -@mkdir -p "."
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Server b/TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Server
new file mode 100644
index 00000000000..e47313f2919
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Makefile.Bug_1627_Server
@@ -0,0 +1,114 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Bug_1627_Server
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1627_Server
+BIN_UNCHECKED = server
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = ../../../bin/tao_idl
+IDL_FILES = Test
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ TestC \
+ TestS \
+ Test_i \
+ server
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_IORTable -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_Valuetype -lTAO_ObjRefTemplate -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bug_1627_Server
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+
+BIN = $(BIN_UNCHECKED)
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(BIN),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+TestC.cpp TestS.cpp Test_i.cpp server.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../.. -I../../tao -I../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../tao/IORTable -L../../tao/PortableServer -L../../tao/IORInterceptor -L../../tao/Valuetype -L../../tao/ObjRefTemplate -L../../../ace -L../../tao -L../../../lib
+
+TAO_IDLFLAGS += -Gv -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+../../../lib:
+ -@mkdir -p "../../../lib"
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/tests/Bug_1627_Regression/README b/TAO/tests/Bug_1627_Regression/README
new file mode 100644
index 00000000000..ac9a014b526
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/README
@@ -0,0 +1,4 @@
+This is an almost exact copy of the test for TAO Bug 1330 (Prism RT Bug 324).
+
+It is meant to provide regression for Prism RT Bug 596:
+"ORBEndpoint QoS" (i.e. it tests that you can define endpoint values as an environment variable). \ No newline at end of file
diff --git a/TAO/tests/Bug_1627_Regression/Test.idl b/TAO/tests/Bug_1627_Regression/Test.idl
new file mode 100644
index 00000000000..6844131c75f
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Test.idl
@@ -0,0 +1,7 @@
+//
+// $Id$
+//
+interface Test
+{
+ void test_method();
+};
diff --git a/TAO/tests/Bug_1627_Regression/Test_i.cpp b/TAO/tests/Bug_1627_Regression/Test_i.cpp
new file mode 100644
index 00000000000..70ccbb17d47
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Test_i.cpp
@@ -0,0 +1,21 @@
+//
+// $Id$
+//
+#include "Test_i.h"
+
+Test_i::Test_i()
+{
+ // Noop
+}
+
+Test_i::~Test_i()
+{
+ // Noop
+}
+
+void
+Test_i::test_method (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Noop
+}
diff --git a/TAO/tests/Bug_1627_Regression/Test_i.h b/TAO/tests/Bug_1627_Regression/Test_i.h
new file mode 100644
index 00000000000..43bcb9a548b
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/Test_i.h
@@ -0,0 +1,25 @@
+//
+// $Id$
+//
+// -*- C++ -*-
+
+#if !defined BUG_1330_REGRESSION_TEST_I_H
+ #define BUG_1330_REGRESSION_TEST_I_H
+
+#include "TestS.h"
+
+class Test_i: public POA_Test
+{
+public:
+ /// Constructor
+ Test_i (void);
+
+ /// Destructor
+ ~Test_i (void);
+
+ /// A method
+ void test_method(ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#endif /* ! BUG_1330_REGRESSION_TEST_I_H */
diff --git a/TAO/tests/Bug_1627_Regression/client.cpp b/TAO/tests/Bug_1627_Regression/client.cpp
new file mode 100644
index 00000000000..f317731aeae
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/client.cpp
@@ -0,0 +1,83 @@
+//
+// $Id$
+//
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+
+const char *ior = "corbaloc:iiop:localhost:12345/Name\\2dwith\\2dhyphens";
+int shutdown_server = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+ case 's':
+ shutdown_server = 1;
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test_var server =
+ Test::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (server.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::Server reference <%s>\n",
+ ior),
+ 1);
+ }
+
+
+ server->test_method(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ result =0;
+
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ result =1;
+ }
+ ACE_ENDTRY;
+
+ return result;
+}
diff --git a/TAO/tests/Bug_1627_Regression/run_test.pl b/TAO/tests/Bug_1627_Regression/run_test.pl
new file mode 100755
index 00000000000..2a542726cec
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/run_test.pl
@@ -0,0 +1,51 @@
+
+# $Id$
+
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+# The server IOR file
+$server_ior_file = PerlACE::LocalFile ("server.ior");
+
+# The client and server processes
+$SERVER = new PerlACE::Process(PerlACE::LocalFile("server"));
+$CLIENT = new PerlACE::Process(PerlACE::LocalFile("client"));
+
+# We want the server to run on a fixed port
+$port = PerlACE::uniqueid () + 10001; # This can't be 10000 for Chorus 4.0
+
+# We would normally have to specify the server port / host via -ORBEndpoint
+# but we are testing the ability to define it as an environment property
+$ENV {'TAO_ORBENDPOINT'} = "iiop://localhost:$port";
+
+# Fire up the server
+$SERVER->Spawn();
+
+# We don't need the IOR file but we can wait on the file
+if (PerlACE::waitforfile_timed ($server_ior_file, 10) == -1)
+{
+ print STDERR "ERROR: cannot find $server_ior_file\n";
+ $SERVER->Kill();
+ exit 1;
+}
+
+# Try the corbaloc URL for the server. It's almost impossible that this will work
+# if the endpoint hasn't been read from the environment so we call success a pass.
+$CLIENT->Arguments("-k corbaloc:iiop:localhost:$port/Name-with-hyphens");
+if ($CLIENT->SpawnWaitKill (30) != 0)
+{
+ print STDERR "ERROR: Bug rt596 Regression failed. Endpoint was not read from environment\n";
+ $SERVER->Kill();
+ exit 1;
+}
+
+# Clean up and return
+$SERVER->TerminateWaitKill (5);
+unlink $server_ior_file;
+exit 0;
diff --git a/TAO/tests/Bug_1627_Regression/server.cpp b/TAO/tests/Bug_1627_Regression/server.cpp
new file mode 100644
index 00000000000..63308e1c36c
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/server.cpp
@@ -0,0 +1,125 @@
+//
+// $Id$
+//
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+#include "Test_i.h"
+
+#include "tao/IORTable/IORTable.h"
+
+const char *object_key = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ object_key = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "SERVER (%P): usage: %s "
+ "-k <object key>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "SERVER (%P): Unable to initialize the POA.\n"),
+ 1);
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Test_i server_impl;
+
+
+
+ root_poa->activate_object ( &server_impl
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var server = server_impl._this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (server.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var table_object =
+ orb->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ IORTable::Table_var adapter =
+ IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ adapter->bind("Name-with-hyphens", ior.in());
+
+
+ FILE *output_file= ACE_OS::fopen ("server.ior", "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "SERVER (%P): Cannot open output file "
+ "for writing IOR: %s",
+ "server.ior"),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "SERVER (%P): Activated as file://%s\n",
+ "server.ior"));
+
+ poa_manager->activate();
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "SERVER (%P): Caught exception:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1627_Regression/test.mpc b/TAO/tests/Bug_1627_Regression/test.mpc
new file mode 100644
index 00000000000..766c8194f9f
--- /dev/null
+++ b/TAO/tests/Bug_1627_Regression/test.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug_1627_Server): server, iortable {
+ Source_Files {
+ Test_i.cpp
+ server.cpp
+ }
+}
+
+project(Bug_1627_Client): client {
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1628_Regression/TestCase.idl b/TAO/tests/Bug_1628_Regression/TestCase.idl
new file mode 100644
index 00000000000..1e95c85d444
--- /dev/null
+++ b/TAO/tests/Bug_1628_Regression/TestCase.idl
@@ -0,0 +1,16 @@
+//
+// $Id$
+//
+
+#include "TestType.idl"
+
+//module Test {
+//module Test2 {
+
+
+
+ typedef HashedMD5SimpleSecret Body;
+
+
+//};
+//};
diff --git a/TAO/tests/Bug_1628_Regression/TestType.idl b/TAO/tests/Bug_1628_Regression/TestType.idl
new file mode 100644
index 00000000000..a7f1adde7b2
--- /dev/null
+++ b/TAO/tests/Bug_1628_Regression/TestType.idl
@@ -0,0 +1,16 @@
+//
+// $Id$
+//
+
+//module Test {
+
+
+ // The size of the hash md5
+ const unsigned long HASH_MD5_SIZEOF = 16;
+
+ // The hash MD5 type
+ typedef octet HashedMD5SimpleSecret[HASH_MD5_SIZEOF] ;
+
+
+
+//};
diff --git a/TAO/tests/Bug_1628_Regression/run_test.pl b/TAO/tests/Bug_1628_Regression/run_test.pl
new file mode 100755
index 00000000000..e2abf7ec7d8
--- /dev/null
+++ b/TAO/tests/Bug_1628_Regression/run_test.pl
@@ -0,0 +1,62 @@
+
+# $Id$
+
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$status =0;
+
+# The location of the tao_idl utility - depends on O/S
+if ($^O eq "MSWin32")
+{
+ $tao_idl = "../../../bin/tao_idl";
+}
+else
+{
+ $tao_idl = "../../../TAO/TAO_IDL/tao_idl";
+}
+
+# Generated code file names
+$TestCaseC_i = PerlACE::LocalFile("TestCaseC.i");
+unlink $TestCaseC_i;
+
+
+# Compile the IDL
+#
+$TAO_IDL = new PerlACE::Process("$tao_idl");
+$TAO_IDL->Arguments( "-Ge 1 -Sc TestCase.idl" ) ;
+if( $TAO_IDL->SpawnWaitKill(10) != 0 )
+{
+ print STDERR "ERROR: can't compile IDL\n";
+ $TAO_IDL->Kill ();
+ $status = 1;
+ exit $status;
+}
+
+# Test for the presence of Body_dup etc. Crude test assumes that if
+# Body_dup is there, then all the Body_* methods are also there.
+#
+$found = 0 ;
+open (I_FILE, "$TestCaseC_i") ;
+while( <I_FILE> )
+{
+ chomp ;
+ if( $_ =~ /Body_dup/ )
+ {
+ $found = 1 ;
+ last ;
+ }
+}
+if( $found != 1 )
+{
+ print STDERR "ERROR: Body_* methods not found\n" ;
+ $status = 1 ;
+}
+
+exit $status;
diff --git a/TAO/tests/Bug_1635_Regression/Bug_1635_Client.dsp b/TAO/tests/Bug_1635_Regression/Bug_1635_Client.dsp
new file mode 100644
index 00000000000..be8e948fdee
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/Bug_1635_Client.dsp
@@ -0,0 +1,85 @@
+# Microsoft Developer Studio Project File - Name="Bug_1635_Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1635_Client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE run the tool that generated this project file and specify the
+!MESSAGE nmake output type. You can then use the following command:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1635_Client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1635_Client.mak" CFG="Bug_1635_Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1635_Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1635_Client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1635_Client - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\Bug_1635_Client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /O2 /W3 /GX /MD /GR /I "..\.." /I "..\..\tao" /I "..\..\.." /D NDEBUG /D WIN32 /D _CONSOLE /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d NDEBUG /i "..\.." /i "..\..\tao" /i "..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO TAO.lib ACE.lib /libpath:"..\..\tao" /libpath:"..\..\..\ace" /libpath:"..\..\..\lib" /nologo /version:1.3.5 /subsystem:console /pdb:"Release\client.pdb" /machine:I386 /out:"Release\client.exe"
+
+!ELSEIF "$(CFG)" == "Bug_1635_Client - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\Bug_1635_Client"
+# PROP Target_Dir ""
+# ADD CPP /nologo /Ob0 /W3 /Gm /GX /Zi /MDd /GR /Gy /I "..\.." /I "..\..\tao" /I "..\..\.." /D _DEBUG /D WIN32 /D _CONSOLE /FD /c
+# SUBTRACT CPP /YX
+# ADD RSC /l 0x409 /d _DEBUG /i "..\.." /i "..\..\tao" /i "..\..\.."
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO TAOd.lib ACEd.lib /libpath:"..\..\tao" /libpath:"..\..\..\ace" /libpath:"..\..\..\lib" /nologo /version:1.3.5 /subsystem:console /pdb:".\client.pdb" /debug /machine:I386 /out:".\client.exe"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1635_Client - Win32 Release"
+# Name "Bug_1635_Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\client.cpp"
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\README"
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1635_Regression/Bug_1635_Regression.dsw b/TAO/tests/Bug_1635_Regression/Bug_1635_Regression.dsw
new file mode 100644
index 00000000000..08fa1bbc38d
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/Bug_1635_Regression.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1635_Client"=Bug_1635_Client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/Bug_1635_Regression/Bug_1635_Regression.mpc b/TAO/tests/Bug_1635_Regression/Bug_1635_Regression.mpc
new file mode 100644
index 00000000000..715495ac8a6
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/Bug_1635_Regression.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project(Bug_1635_Client): taoexe {
+ Source_Files {
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Bug_1635_Regression/Makefile b/TAO/tests/Bug_1635_Regression/Makefile
new file mode 100644
index 00000000000..2055d8a7019
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/Makefile
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+TARGETS_NESTED = all debug profile optimize install deinstall clean realclean clobber depend rcs_info idl_stubs
+
+$(TARGETS_NESTED):
+ @$(MAKE) -f Makefile.Bug_1635_Client $(@);
+
+reverseclean:
+ @$(MAKE) -f Makefile.Bug_1635_Client realclean
diff --git a/TAO/tests/Bug_1635_Regression/Makefile.Bug_1635_Client b/TAO/tests/Bug_1635_Regression/Makefile.Bug_1635_Client
new file mode 100644
index 00000000000..8713cf1c27d
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/Makefile.Bug_1635_Client
@@ -0,0 +1,88 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Bug_1635_Client
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1635_Client
+BIN_UNCHECKED = client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+FILES = \
+ client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bug_1635_Client
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+
+BIN = $(BIN_UNCHECKED)
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../.. -I../../tao -I../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../tao -L../../../ace -L../../../lib
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+.:
+ -@mkdir -p "."
+
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/tests/Bug_1635_Regression/README b/TAO/tests/Bug_1635_Regression/README
new file mode 100644
index 00000000000..96331bc4cb6
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/README
@@ -0,0 +1,7 @@
+This test provides regression for Bug 1635:
+"Enhancement - provide date and time stamping to the TAO log file"
+
+The fix allows the setting of a system property that results in a date and time stamp being applied to all ACE log messages.
+
+The client program merely initialises and destroys an ORB - enough activity to prompt the writing of debug messages. The run_test.pl checks the debug output produced for timestamps.
+
diff --git a/TAO/tests/Bug_1635_Regression/client.cpp b/TAO/tests/Bug_1635_Regression/client.cpp
new file mode 100644
index 00000000000..9db84a9a4f5
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/client.cpp
@@ -0,0 +1,26 @@
+//
+// $Id$
+//
+#include "tao/ORB.h"
+
+int
+main (int argc, char *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "SERVER (%P): Caught exception:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1635_Regression/run_test.pl b/TAO/tests/Bug_1635_Regression/run_test.pl
new file mode 100755
index 00000000000..41231eb00e8
--- /dev/null
+++ b/TAO/tests/Bug_1635_Regression/run_test.pl
@@ -0,0 +1,78 @@
+
+# $Id$
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+# The file we want TAO to write debug messages to
+$debug_file = PerlACE::LocalFile ("debug.log");
+unlink $debug_file;
+
+# The client process - simply initialises an ORB to create some minimal debug
+$CLIENT = new PerlACE::Process(PerlACE::LocalFile("client"));
+$CLIENT->Arguments("-ORBDebugLevel 10 -ORBLogFile $debug_file");
+
+sub run_client
+{
+ # Run the client
+ if ($CLIENT->SpawnWaitKill (30) != 0)
+ {
+ print STDERR "ERROR: Bug 1635 Regression failed. Client failed to run.\n";
+ $ENV {'TAO_LOG_TIMESTAMP'} = "";
+ exit 1;
+ }
+
+ # Open the log file, read a line, close, and delete it.
+ open (HANDLE, "$debug_file");
+ $_ = <HANDLE>;
+ close HANDLE;
+ unlink $debug_file;
+}
+
+# Run the client with no value for the environment variable
+$ENV {'ACE_LOG_TIMESTAMP'} = "";
+run_client;
+
+# Check result is as expected, i.e. starts like:
+# TAO (12...etc.
+if (!/^TAO \(/)
+{
+ print STDERR "ERROR: Bug 1635 Regression failed. Unexpected normal log format.\n";
+ $ENV {'ACE_LOG_TIMESTAMP'} = "";
+ exit 1;
+}
+
+# Try again with the 'TIME' logging property set
+$ENV {'ACE_LOG_TIMESTAMP'} = "TIME";
+run_client;
+
+# Check result is as expected, i.e. starts like:
+# 14:36:38.222000|TAO (12...etc.
+if (!/^\d{2}:\d{2}:\d{2}.\d{6}\|TAO \(/)
+{
+ print STDERR "ERROR: Bug 1635 Regression failed. Unexpected 'TIME' log format.\n";
+ $ENV {'ACE_LOG_TIMESTAMP'} = "";
+ exit 1;
+}
+
+# Try again with the 'DATE' logging property set
+$ENV {'ACE_LOG_TIMESTAMP'} = "DATE";
+run_client;
+
+# Check result is as expected, i.e. starts like:
+# Wed Feb 12 2003 14:36:38.222000|TAO (12...etc.
+if (!/^[A-Z][a-z]{2} [A-Z][a-z]{2} \d{2} \d{4} \d{2}:\d{2}:\d{2}.\d{6}\|TAO \(/)
+{
+ print STDERR "ERROR: Bug 1635 Regression failed. Unexpected 'DATE' log format.\n";
+ $ENV {'ACE_LOG_TIMESTAMP'} = "";
+ exit 1;
+}
+
+$ENV {'ACE_LOG_TIMESTAMP'} = "";
+exit 0;
+
diff --git a/TAO/tests/Bug_1636_Regression/Bug_1636_Regression.dsw b/TAO/tests/Bug_1636_Regression/Bug_1636_Regression.dsw
new file mode 100644
index 00000000000..104271784fe
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/Bug_1636_Regression.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "bug_1636_testclient"=bug_1636_testclient.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/Bug_1636_Regression/Makefile b/TAO/tests/Bug_1636_Regression/Makefile
new file mode 100644
index 00000000000..9cd5a082cb8
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/Makefile
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+TARGETS_NESTED = all debug profile optimize install deinstall clean realclean clobber depend rcs_info idl_stubs
+
+$(TARGETS_NESTED):
+ @$(MAKE) -f Makefile.bug_1636_testclient $(@);
+
+reverseclean:
+ @$(MAKE) -f Makefile.bug_1636_testclient realclean
diff --git a/TAO/tests/Bug_1636_Regression/Makefile.bug_1636_testclient b/TAO/tests/Bug_1636_Regression/Makefile.bug_1636_testclient
new file mode 100644
index 00000000000..419ad68980e
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/Makefile.bug_1636_testclient
@@ -0,0 +1,113 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.bug_1636_testclient
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.bug_1636_testclient
+BIN_UNCHECKED = client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = ../../../bin/tao_idl
+IDL_FILES = test
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ testS \
+ testC \
+ client
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_DynamicAny -lTAO_DynamicInterface -lTAO_PortableServer -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/bug_1636_testclient
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+
+BIN = $(BIN_UNCHECKED)
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+
+ifneq ($(BIN),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+testS.cpp testC.cpp client.cpp: idl_stubs
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../../../include -I../../orbsvcs -I. -I../.. -I../../tao -I../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../tao/DynamicAny -L../../tao/DynamicInterface -L../../../ace -L../../tao -L../../tao/PortableServer -L../../../lib
+
+TAO_IDLFLAGS += -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+.:
+ -@mkdir -p "."
+
+
+ADDITIONAL_IDL_TARGETS =
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/tests/Bug_1636_Regression/README b/TAO/tests/Bug_1636_Regression/README
new file mode 100644
index 00000000000..1a653378856
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/README
@@ -0,0 +1,14 @@
+An Any is populated with a union whose member is not empty.
+Call dynAny->from_any (Any);
+to put the Any'd union into a DynAny object.
+Call dynAny->to_any () : Any
+to get the Any'd union from a DynAny object.
+
+Repeat the process except this time, use a union whose member is empty,
+ie, _default () has been called on the union.
+
+from_any (Any) succeeded.
+to_any () : Any failed.
+
+to_any () needs to check for an empty union before adding its member
+to a CDR stream. \ No newline at end of file
diff --git a/TAO/tests/Bug_1636_Regression/bug_1636_testclient.dsp b/TAO/tests/Bug_1636_Regression/bug_1636_testclient.dsp
new file mode 100644
index 00000000000..fc4e82936c6
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/bug_1636_testclient.dsp
@@ -0,0 +1,195 @@
+# Microsoft Developer Studio Project File - Name="bug_1636_testclient" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=bug_1636_testclient - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "bug_1636_testclient.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "bug_1636_testclient.mak" CFG="bug_1636_testclient - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "bug_1636_testclient - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "bug_1636_testclient - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "bug_1636_testclient - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\bug_1636_testclient"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\include" /I "..\..\orbsvcs" /I "." /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\..\..\include" /i "..\..\orbsvcs" /i "." /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_DynamicAny.lib TAO_DynamicInterface.lib TAO_PortableServer.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:"..\..\tao\DynamicAny" /libpath:"..\..\tao\DynamicInterface" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "bug_1636_testclient - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\bug_1636_testclient"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\..\..\include" /I "..\..\orbsvcs" /I "." /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\..\..\include" /i "..\..\orbsvcs" /i "." /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_DynamicAnyd.lib TAO_DynamicInterfaced.lib TAO_PortableServerd.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\tao\DynamicAny" /libpath:"..\..\tao\DynamicInterface" /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "bug_1636_testclient - Win32 Release"
+# Name "bug_1636_testclient - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\client.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\testC.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\testS.cpp"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\testC.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\testS.h"
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\testC.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\testS.i"
+# End Source File
+# End Group
+# Begin Group "Documentation"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\README"
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=".\test.idl"
+
+!IF "$(CFG)" == "bug_1636_testclient - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\test.idl"
+InputName=test
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\release\tao_idl -o . -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "bug_1636_testclient - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\test.idl"
+InputName=test
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\tao_idl -o . -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1636_Regression/client.cpp b/TAO/tests/Bug_1636_Regression/client.cpp
new file mode 100644
index 00000000000..51a28417346
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/client.cpp
@@ -0,0 +1,91 @@
+//
+// $Id$
+//
+#include "tao/DynamicInterface/Request.h"
+#include "tao/DynamicAny/DynAnyFactory.h"
+#include "testC.h"
+
+int main (int argc, char* argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv,
+ "" /* the ORB name, it can be anything! */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,"Get reference to the DynAny Factory\n"));
+ CORBA::Object_var obj =
+ orb->resolve_initial_references ("DynAnyFactory"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ DynamicAny::DynAnyFactory_var daf =
+ DynamicAny::DynAnyFactory::_narrow (obj.in()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ UnionIecs::S_i_num s_num;
+ s_num.type_num = UnionIecs::E_type_num_called_party_number;
+ s_num.nature = 5;
+
+ UnionIecs::S_num num1;
+ num1.num(s_num);
+ CORBA::Any MyAny1;
+ MyAny1 <<= num1;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "calling from_any () and to_any () with non-empty union...\n"));
+ DynamicAny::DynAny_var dynany1 =
+ daf->create_dyn_any_from_type_code (UnionIecs::_tc_S_num
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ dynany1->from_any(MyAny1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ CORBA::Any_var arg1 =
+ dynany1->to_any (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "...done\n"));
+
+ UnionIecs::S_num num2;
+ num2._default();
+ CORBA::Any MyAny2;
+ MyAny2 <<= num2;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "calling from_any () and to_any () with empty union...\n" ));
+ DynamicAny::DynAny_var dynany2 =
+ daf-> create_dyn_any_from_type_code (UnionIecs::_tc_S_num
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ dynany2->from_any (MyAny2
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Any_var arg2 =
+ dynany2->to_any(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,"...done.\nTest passed.\n"));
+
+ // Finally destroy the ORB
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception - test failed:\n");
+ return 1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN(1);
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1636_Regression/run_test.pl b/TAO/tests/Bug_1636_Regression/run_test.pl
new file mode 100755
index 00000000000..3003b155caa
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/run_test.pl
@@ -0,0 +1,25 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# This is a Perl script that runs the federated Name Service timeout test.
+# It starts all the servers and clients as necessary.
+
+use lib '../../../bin';
+
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$CLIENT = new PerlACE::Process ("client");
+
+$client = $CLIENT->SpawnWaitKill (30);
+
+if ($client !=0 ) {
+ print STDERR "ERROR: client returned $client\n";
+}
+
+exit $status;
diff --git a/TAO/tests/Bug_1636_Regression/test.idl b/TAO/tests/Bug_1636_Regression/test.idl
new file mode 100644
index 00000000000..bcc36ac8d64
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/test.idl
@@ -0,0 +1,26 @@
+//
+// $Id$
+//
+module UnionIecs
+{
+ enum E_type_num
+ {
+ E_type_num_called_party_number,
+ E_type_num_calling_party_number,
+ E_type_num_inconnu
+ };
+
+ typedef octet T_champ_num;
+
+ struct S_i_num
+ {
+ E_type_num type_num;
+ T_champ_num nature;
+ };
+
+ union S_num switch (boolean)
+ {
+ case TRUE :
+ S_i_num num;
+ } ;
+};
diff --git a/TAO/tests/Bug_1636_Regression/test.mpc b/TAO/tests/Bug_1636_Regression/test.mpc
new file mode 100644
index 00000000000..194e1e090d1
--- /dev/null
+++ b/TAO/tests/Bug_1636_Regression/test.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project (bug_1636_testclient) : taoexe, dynamicany, dynamicinterface, portableserver {
+ avoids += minimum_corba
+ exename = client
+
+ IDL_Files {
+ test.idl
+ }
+
+ Source_Files {
+ testS.cpp
+ testC.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1639_Regression/Bug_1639_Regression.dsw b/TAO/tests/Bug_1639_Regression/Bug_1639_Regression.dsw
new file mode 100644
index 00000000000..f00a970bc43
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/Bug_1639_Regression.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1639_testclient"=Bug_1639_testclient.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/Bug_1639_Regression/Bug_1639_testclient.dsp b/TAO/tests/Bug_1639_Regression/Bug_1639_testclient.dsp
new file mode 100644
index 00000000000..85099f535c8
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/Bug_1639_testclient.dsp
@@ -0,0 +1,187 @@
+# Microsoft Developer Studio Project File - Name="Bug_1639_testclient" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1639_testclient - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1639_testclient.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Bug_1639_testclient.mak" CFG="Bug_1639_testclient - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1639_testclient - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1639_testclient - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1639_testclient - Win32 Release"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\Bug_1639_testclient"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\include" /I "." /I "..\.." /I "..\..\tao" /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\..\..\include" /i "." /i "..\.." /i "..\..\tao" /i "..\..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_PortableServer.lib TAO_DynamicAny.lib TAO.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:"..\..\..\ace" /libpath:"." /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\DynamicAny" /libpath:"..\..\tao" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1639_testclient - Win32 Debug"
+
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug\Bug_1639_testclient"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Gy /I "..\..\..\include" /I "." /I "..\.." /I "..\..\tao" /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x413
+# ADD RSC /l 0x409 /i "..\..\..\include" /i "." /i "..\.." /i "..\..\tao" /i "..\..\.." /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /machine:IX86
+# ADD LINK32 advapi32.lib user32.lib TAO_PortableServerd.lib TAO_DynamicAnyd.lib TAOd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\..\ace" /libpath:"." /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\DynamicAny" /libpath:"..\..\tao" /libpath:"..\..\..\lib" /version:1.3.5
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1639_testclient - Win32 Release"
+# Name "Bug_1639_testclient - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;cxx;c"
+# Begin Source File
+
+SOURCE=".\struct_client.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\structC.cpp"
+# End Source File
+# Begin Source File
+
+SOURCE=".\structS.cpp"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hh"
+# Begin Source File
+
+SOURCE=".\structC.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\structS.h"
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i;inl"
+# Begin Source File
+
+SOURCE=".\structC.i"
+# End Source File
+# Begin Source File
+
+SOURCE=".\structS.i"
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=".\struct.idl"
+
+!IF "$(CFG)" == "Bug_1639_testclient - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\struct.idl"
+InputName=struct
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\release\tao_idl -o . -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1639_testclient - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
+InputPath=".\struct.idl"
+InputName=struct
+
+BuildCmds= \
+ PATH=%PATH%;..\..\..\lib \
+ ..\..\..\bin\tao_idl -o . -Ge 1 -Sc -Wb,pre_include=ace\pre.h -Wb,post_include=ace\post.h $(InputPath) \
+
+
+".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1639_Regression/Makefile b/TAO/tests/Bug_1639_Regression/Makefile
new file mode 100644
index 00000000000..1556b0e7128
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/Makefile
@@ -0,0 +1,19 @@
+#----------------------------------------------------------------------------
+# GNU ACE Workspace
+#
+# @file Makefile
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+
+TARGETS_NESTED = all debug profile optimize install deinstall clean realclean clobber depend rcs_info idl_stubs
+
+$(TARGETS_NESTED):
+ @$(MAKE) -f Makefile.Bug_1639_testclient $(@);
+
+reverseclean:
+ @$(MAKE) -f Makefile.Bug_1639_testclient realclean
diff --git a/TAO/tests/Bug_1639_Regression/Makefile.Bug_1639_testclient b/TAO/tests/Bug_1639_Regression/Makefile.Bug_1639_testclient
new file mode 100644
index 00000000000..f34b58b912f
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/Makefile.Bug_1639_testclient
@@ -0,0 +1,131 @@
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file Makefile.Bug_1639_testclient
+#
+# $Id$
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = Makefile.Bug_1639_testclient
+BIN_UNCHECKED = client
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+ifndef CIAO_ROOT
+ CIAO_ROOT = $(TAO_ROOT)/CIAO
+endif
+
+TAO_IDL = ../../../bin/tao_idl
+IDL_FILES = struct
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+FILES = \
+ struct_client \
+ structC \
+ structS
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_DynamicAny -lTAO_PortableServer -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype -lTAO -lACE
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bug_1639_testclient
+
+all: $(TEMPINCDIR)
+
+$(TEMPINCDIR):
+ @-test -d $(TEMPINCDIR) || mkdir -p $(TEMPINCDIR) $(ACE_NUL_STDERR)
+
+endif
+OUTPUT_DIRECTORY = .
+all: $(OUTPUT_DIRECTORY)
+
+$(OUTPUT_DIRECTORY):
+ -@mkdir -p "$(OUTPUT_DIRECTORY)"
+
+
+ifeq ($(exceptions),1)
+BIN = $(BIN_UNCHECKED)
+else
+ all: require_warning
+endif
+
+OBJS = $(addsuffix .o, $(notdir $(FILES)))
+SRC = $(addsuffix .cpp, $(FILES))
+ifneq (,$(RC))
+ FILES += $(RESOURCES)
+endif
+
+
+ifneq ($(BIN),)
+all: idl_stubs
+
+# This rule forces make to run the idl_stubs
+# target before building any of the source files.
+FORCED_IDL_STUBS = struct_client.cpp structC.cpp structS.cpp
+endif
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPPFLAGS += -I../../../include -I. -I../.. -I../../tao -I../../..
+ifeq ($(static_libs),1)
+ ifneq ($(LIB),)
+ CPPFLAGS += -DTAO_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS -DACE_AS_STATIC_LIBS
+ endif
+endif
+
+
+LDFLAGS += -L../../../lib
+
+TAO_IDLFLAGS += -Gv -I../.. -I../../tao -Ge 1 -Sc -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo exceptions
+
+
+# IDL File Directory: .
+
+ifneq ($(ADDITIONAL_IDL_TARGETS),)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+endif
+
+ifneq ($(FORCED_IDL_STUBS),)
+$(FORCED_IDL_STUBS): idl_stubs
+endif
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+ifndef kylix
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+$(BIN): $(addprefix $(VDIR), $(OBJS))
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), $(foreach file, $(IDL_FILES), $(file)$(ext)))
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/TAO/tests/Bug_1639_Regression/run_test.pl b/TAO/tests/Bug_1639_Regression/run_test.pl
new file mode 100755
index 00000000000..7c101f09272
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/run_test.pl
@@ -0,0 +1,26 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "../../../bin";
+use PerlACE::Run_Test;
+
+$status = 0;
+$type = "";
+
+print STDERR "\nDynamic Any struct and union alias tests\n";
+
+$CL = new PerlACE::Process ("client");
+
+$client = $CL->SpawnWaitKill (30);
+
+if ($client != 0)
+{
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+exit $status;
diff --git a/TAO/tests/Bug_1639_Regression/struct.idl b/TAO/tests/Bug_1639_Regression/struct.idl
new file mode 100644
index 00000000000..ab7ae27e229
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/struct.idl
@@ -0,0 +1,20 @@
+//
+// $Id$
+//
+module StructTest {
+
+ struct MyStruct {
+ octet MyOctet;
+ unsigned long MyLong;
+ };
+
+ typedef MyStruct MyStructAlias;
+
+ union MyUnion switch (boolean) {
+ case TRUE :
+ unsigned short MyShort;
+ };
+
+ typedef MyUnion MyUnionAlias;
+
+};
diff --git a/TAO/tests/Bug_1639_Regression/struct_client.cpp b/TAO/tests/Bug_1639_Regression/struct_client.cpp
new file mode 100644
index 00000000000..06ebf90cf9a
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/struct_client.cpp
@@ -0,0 +1,117 @@
+//
+// $Id$
+//
+#include "tao/DynamicAny/DynAnyFactory.h"
+#include "structC.h"
+#include <iostream>
+
+using namespace StructTest;
+using namespace DynamicAny;
+using namespace std;
+//--------------------------------------------------------------------
+int main (int argc, char * argv[])
+//--------------------------------------------------------------------
+{
+
+ // Generic catch handler
+ try {
+
+ // Initialize the ORB
+ // ------------------
+ CORBA::ORB_var orb; // _var, so we don't need/may not CORBA::release(orb)
+ try {
+ orb = CORBA::ORB_init (argc, argv);
+ } catch (...) {
+ cerr << "Cannot initialize ORB" << endl;
+ throw;
+ }
+
+ // Get reference to the DynAny Factory
+ CORBA::Object_var obj = orb->resolve_initial_references("DynAnyFactory");
+
+ DynAnyFactory_var daf =
+ DynAnyFactory::_narrow(obj.in());
+
+ MyStruct my_struct;
+ MyStructAlias my_struct_alias;
+ MyUnion my_union;
+ MyUnionAlias my_union_alias;
+
+ CORBA::Any any_struct;
+ CORBA::Any any_struct_alias;
+ CORBA::Any any_union;
+ CORBA::Any any_union_alias;
+
+ // Write the structs and unions to anys so we can get the TypeCode info
+ any_struct <<= my_struct;
+ any_struct_alias <<= my_struct_alias;
+ any_union <<= my_union;
+ any_union_alias <<= my_union_alias;
+
+ // Explicitly set the TypeCode for the aliased types because the any
+ // doesn't take care of aliases
+ any_struct_alias.type(_tc_MyStructAlias);
+ any_union_alias.type(_tc_MyUnionAlias);
+
+ CORBA::TypeCode_var tc_struct = any_struct.type();
+ CORBA::TypeCode_var tc_struct_alias = any_struct_alias.type();
+ CORBA::TypeCode_var tc_union = any_union.type();
+ CORBA::TypeCode_var tc_union_alias = any_union_alias.type();
+
+ cout << "Type Code of the struct: " << tc_struct->kind() << endl;
+ cout << "Type Code of the struct alias: " << tc_struct_alias->kind() << endl;
+ cout << "Type Code of the union: " << tc_union->kind() << endl;
+ cout << "Type Code of the union alias: " << tc_union_alias->kind() << endl;
+
+ // equal returns true only when the TypeCodes are exactly the same.
+ if (tc_struct->equal(tc_struct_alias.in())) {
+ cout << "Type Codes are identical" << endl;
+ } else {
+ cout << "Type Codes are different" << endl;
+ }
+ // equivalent returns true when the TypeCode is an alias
+ if (tc_struct->equivalent(tc_struct_alias.in())) {
+ cout << "Type Codes are equivalent" << endl;
+ } else {
+ cout << "Type Codes are not equivalent" << endl;
+ }
+
+ DynAny_var da_struct = daf->create_dyn_any_from_type_code (tc_struct.in());
+
+ try {
+ DynAny_var da_struct_alias = daf->create_dyn_any_from_type_code (tc_struct_alias.in());
+ } catch ( const CORBA::UNKNOWN &) {
+ cout << "CORBA::UNKNOWN exception when calling create_dyn_any_from_type_code (tc_struct_alias)" << endl;
+ }
+
+ try {
+ DynAny_var da_struct_alias = daf->create_dyn_any (any_struct_alias);
+ } catch ( const CORBA::UNKNOWN &) {
+ cout << "CORBA::UNKNOWN exception when calling create_dyn_any (any_struct_alias)" << endl;
+ }
+
+ DynAny_var da_union = daf->create_dyn_any_from_type_code (tc_union.in());
+
+ try {
+ DynAny_var da_union_alias = daf->create_dyn_any_from_type_code (tc_union_alias.in());
+ } catch ( const CORBA::UNKNOWN &) {
+ cout << "CORBA::UNKNOWN exception when calling create_dyn_any_from_type_code (tc_union_alias)" << endl;
+ }
+
+ try {
+ DynAny_var da_union_alias = daf->create_dyn_any (any_union_alias);
+ } catch ( const CORBA::UNKNOWN &) {
+ cout << "CORBA::UNKNOWN exception when calling create_dyn_any (any_union_alias)" << endl;
+ }
+
+ } // end try
+
+ catch (const CORBA::Exception &) {
+ cerr << "Caught CORBA exception" << endl;
+ return 1;
+ }
+ catch (...) {
+ return 1;
+ }
+ return 0;
+}
diff --git a/TAO/tests/Bug_1639_Regression/test.mpc b/TAO/tests/Bug_1639_Regression/test.mpc
new file mode 100644
index 00000000000..84fe4dd77b5
--- /dev/null
+++ b/TAO/tests/Bug_1639_Regression/test.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project (Bug_1639_testclient) : taoserver {
+ exename = client
+ includes += $(ACE_ROOT)/include .
+ requires += exceptions
+ libs += TAO_DynamicAny
+ Source_Files {
+ struct_client.cpp
+ structC.cpp
+ structS.cpp
+ }
+
+ IDL_Files {
+ struct.idl
+ }
+
+}
diff --git a/TAO/tests/Bug_1670_Regression/Bug_1670_Regression.dsw b/TAO/tests/Bug_1670_Regression/Bug_1670_Regression.dsw
new file mode 100644
index 00000000000..7d5a1294888
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/Bug_1670_Regression.dsw
@@ -0,0 +1,40 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1670_Regression Client"=.\client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Bug_1670_Regression Server"=.\server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
diff --git a/TAO/tests/Bug_1670_Regression/Bug_1670_Regression.mpc b/TAO/tests/Bug_1670_Regression/Bug_1670_Regression.mpc
new file mode 100644
index 00000000000..76e18048de3
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/Bug_1670_Regression.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver {
+ idlflags += -Gv -GH
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): taoserver {
+ exename = client
+ idlflags += -Gv -GH
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Bug_1670_Regression/Makefile b/TAO/tests/Bug_1670_Regression/Makefile
new file mode 100644
index 00000000000..e84707903ac
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/Makefile
@@ -0,0 +1,1484 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = Test
+IDL_SRC = TestC.cpp TestS.cpp
+BIN = client server
+
+SRC = $(addsuffix .cpp, $(BIN)) $(IDL_SRC)
+
+CLIENT_OBJS = client.o TestC.o
+
+SERVER_OBJS = server.o $(IDL_SRC:.cpp=.o)
+
+TAO_IDLFLAGS += -Gv -GH -Ge 1
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), Test$(ext))
+
+client: $(addprefix $(VDIR),$(CLIENT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+server: $(addprefix $(VDIR),$(SERVER_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), Test$(ext))
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/AMH_Response_Handler.h \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/Utils/Servant_Var.h \
+ $(TAO_ROOT)/tao/Utils/Servant_Var.inl \
+ $(ACE_ROOT)/ace/Swap.h \
+ $(ACE_ROOT)/ace/Swap.inl \
+ $(ACE_ROOT)/ace/Swap.cpp \
+ $(TAO_ROOT)/tao/Utils/Servant_Var.cpp \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ServicesC.h \
+ $(TAO_ROOT)/tao/ServicesC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/ObjectIdListC.h \
+ $(TAO_ROOT)/tao/ObjectIdListC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp
+
+.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/AMH_Response_Handler.h \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Bug_1670_Regression/Makefile.bor b/TAO/tests/Bug_1670_Regression/Makefile.bor
new file mode 100644
index 00000000000..19f31a4d882
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/Makefile.bor
@@ -0,0 +1,7 @@
+#
+# $Id$
+#
+
+MAKEFILES = server.bor client.bor
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/tests/Bug_1670_Regression/Test.idl b/TAO/tests/Bug_1670_Regression/Test.idl
new file mode 100644
index 00000000000..2b43053cca3
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/Test.idl
@@ -0,0 +1,31 @@
+/**
+ * @file Test.idl
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ */
+module Foo
+{
+ module Bar
+ {
+ interface A
+ {
+ long op1();
+ long op2();
+ };
+
+ interface B
+ {
+ long op3();
+ };
+ };
+};
+
+module Baz
+{
+ interface C : Foo::Bar::A, Foo::Bar::B
+ {
+ long op4();
+ };
+};
diff --git a/TAO/tests/Bug_1670_Regression/client.bor b/TAO/tests/Bug_1670_Regression/client.bor
new file mode 100644
index 00000000000..2bff9858124
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/client.bor
@@ -0,0 +1,41 @@
+#
+# $Id$
+#
+
+NAME = client
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Ge 1 -GC
+
+OBJFILES = \
+ $(OBJDIR)\TestC.obj \
+ $(OBJDIR)\client.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_VALUETYPE_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_VALUETYPE_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\Test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\TestS.cpp $(IDLDIR)\TestC.cpp: $(IDLDIR)\Test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/tests/Bug_1670_Regression/client.cpp b/TAO/tests/Bug_1670_Regression/client.cpp
new file mode 100644
index 00000000000..bf5e3b6385c
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/client.cpp
@@ -0,0 +1,133 @@
+/**
+ * @file client.cpp
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ *
+ */
+#include "TestC.h"
+
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(Bug_1670_Regression, client, "$Id$")
+
+const char *ior = "file://test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var object =
+ orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Baz::C_var cobject =
+ Baz::C::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (cobject.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot narrow Baz::C object <%s>\n",
+ ior),
+ 1);
+ }
+
+ CORBA::Long result;
+ result = cobject->op1 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 1);
+
+ result = cobject->op2 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 2);
+
+ result = cobject->op3 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 3);
+
+ result = cobject->op4 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 4);
+
+ Foo::Bar::B_var bobject =
+ Foo::Bar::B::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (bobject.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot narrow Foo::Bar::B object <%s>\n",
+ ior),
+ 1);
+ }
+
+ result = bobject->op3 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 3);
+
+ Foo::Bar::A_var aobject =
+ Foo::Bar::A::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (aobject.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot narrow Foo::Bar::A object <%s>\n",
+ ior),
+ 1);
+ }
+
+ result = aobject->op1 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 1);
+
+ result = aobject->op2 (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(result == 2);
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1670_Regression/client.dsp b/TAO/tests/Bug_1670_Regression/client.dsp
new file mode 100644
index 00000000000..2dec52ab7d6
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/client.dsp
@@ -0,0 +1,206 @@
+# Microsoft Developer Studio Project File - Name="Bug_1670_Regression Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1670_Regression Client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak" CFG="Bug_1670_Regression Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1670_Regression Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1670_Regression Client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1670_Regression Client - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../" /I "../../" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 tao.lib ace.lib TAO_PortableServer.lib TAO_Valuetype.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1670_Regression Client - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "../../../" /I "../../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 taod.lib aced.lib TAO_PortableServerd.lib TAO_Valuetyped.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1670_Regression Client - Win32 Release"
+# Name "Bug_1670_Regression Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Bug_1670_Regression Client - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1670_Regression Client - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1670_Regression/run_test.pl b/TAO/tests/Bug_1670_Regression/run_test.pl
new file mode 100755
index 00000000000..cb01e54efdc
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/run_test.pl
@@ -0,0 +1,42 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+$status = 0;
+
+$SV = new PerlACE::Process ("server", "-o $iorfile");
+$CL = new PerlACE::Process ("client", " -k file://$iorfile");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile, 5) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->TerminateWaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/Bug_1670_Regression/server.bor b/TAO/tests/Bug_1670_Regression/server.bor
new file mode 100644
index 00000000000..156c619a9dc
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/server.bor
@@ -0,0 +1,42 @@
+#
+# $Id$
+#
+
+NAME = server
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Gv -GH -Ge 1
+
+OBJFILES = \
+ $(OBJDIR)\TestC.obj \
+ $(OBJDIR)\TestS.obj \
+ $(OBJDIR)\server.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_VALUETYPE_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_VALUETYPE_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\Test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\TestS.cpp $(IDLDIR)\TestC.cpp: $(IDLDIR)\Test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/tests/Bug_1670_Regression/server.cpp b/TAO/tests/Bug_1670_Regression/server.cpp
new file mode 100644
index 00000000000..20032cea31b
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/server.cpp
@@ -0,0 +1,200 @@
+/**
+ * @file server.cpp
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@atdesk.com>
+ */
+#include "TestS.h"
+
+#include "tao/Utils/Servant_Var.h"
+#include "tao/corba.h"
+#include "tao/ORB_Core.h"
+#include "ace/Get_Opt.h"
+#include "ace/Reactor.h"
+
+ACE_RCSID(Bug_1670_Regression, server, "$Id$")
+
+/**
+ * @class Simple_C
+ *
+ * @brief A simple implementation of the 'C' object.
+ *
+ */
+class Simple_C
+ : public virtual POA_Baz::AMH_C
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ Simple_C (CORBA::ORB_ptr orb);
+
+ void op1 (
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void op2 (
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void op3 (
+ Foo::Bar::AMH_BResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void op4 (
+ Baz::AMH_CResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+protected:
+ CORBA::ORB_ptr orb_;
+};
+
+
+/***************************/
+/*** Servant Definition ***/
+
+Simple_C::Simple_C (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+void
+Simple_C::op1(
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op1(1 ACE_ENV_ARG_PARAMETER);
+}
+
+void
+Simple_C::op2(
+ Foo::Bar::AMH_AResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op2(2 ACE_ENV_ARG_PARAMETER);
+}
+
+void
+Simple_C::op3(
+ Foo::Bar::AMH_BResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op3(3 ACE_ENV_ARG_PARAMETER);
+}
+
+void
+Simple_C::op4(
+ Baz::AMH_CResponseHandler_ptr _tao_rh
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ _tao_rh->op4(4 ACE_ENV_ARG_PARAMETER);
+}
+
+// ****************************************************************
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ TAO::Utils::Servant_Var<Simple_C> simple_c_impl(
+ new Simple_C(orb.in()));
+
+ Baz::C_var simple_c =
+ simple_c_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (simple_c.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Output the IOR to the <ior_output_file>
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1670_Regression/server.dsp b/TAO/tests/Bug_1670_Regression/server.dsp
new file mode 100644
index 00000000000..acc507c6c12
--- /dev/null
+++ b/TAO/tests/Bug_1670_Regression/server.dsp
@@ -0,0 +1,218 @@
+# Microsoft Developer Studio Project File - Name="Bug_1670_Regression Server" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Bug_1670_Regression Server - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak" CFG="Bug_1670_Regression Server - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Bug_1670_Regression Server - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Bug_1670_Regression Server - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Bug_1670_Regression Server - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../" /I "../../" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 TAO.lib ace.lib TAO_PortableServer.lib TAO_Valuetype.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "Bug_1670_Regression Server - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /I "../../../" /I "../../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 TAOd.lib aced.lib TAO_PortableServerd.lib TAO_Valuetyped.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\Valuetype"
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "Bug_1670_Regression Server - Win32 Release"
+# Name "Bug_1670_Regression Server - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ".idl"
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Bug_1670_Regression Server - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Bug_1670_Regression Server - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 -Gv -GH $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ".i"
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1693_Test/Bug_1693_Test.dsw b/TAO/tests/Bug_1693_Test/Bug_1693_Test.dsw
new file mode 100644
index 00000000000..d1d7fd62e0d
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/Bug_1693_Test.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Bug_1693_Test Client"=.\client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/Bug_1693_Test/Bug_1693_Test.mpc b/TAO/tests/Bug_1693_Test/Bug_1693_Test.mpc
new file mode 100644
index 00000000000..f0d8bc70c0d
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/Bug_1693_Test.mpc
@@ -0,0 +1,10 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client): taoexe {
+ Source_Files {
+ testC.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Bug_1693_Test/Makefile b/TAO/tests/Bug_1693_Test/Makefile
new file mode 100644
index 00000000000..961ef4892fa
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/Makefile
@@ -0,0 +1,495 @@
+#----------------------------------------------------------------------------
+# $Id$
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = test
+IDL_SRC = testC.cpp
+BIN = client
+
+SRC = $(IDL_SRC) $(addsuffix .cpp, $(BIN))
+
+CLIENT_OBJS = \
+ testC.o \
+ client.o
+
+TAO_IDLFLAGS += -Ge 1
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), test$(ext))
+
+client: $(addprefix $(VDIR),$(CLIENT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_CLNT_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), test$(ext))
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/testC.o .obj/testC.so .shobj/testC.o .shobj/testC.so: testC.cpp testC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ testC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i
+
+.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ testC.h testC.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Bug_1693_Test/Makefile.bor b/TAO/tests/Bug_1693_Test/Makefile.bor
new file mode 100644
index 00000000000..d4f5ea99fd7
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/Makefile.bor
@@ -0,0 +1,8 @@
+# $Id$
+#
+# Makefile for building the Bug_1693_Test test executables
+#
+
+MAKEFILES = client.bor
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/tests/Bug_1693_Test/client.bor b/TAO/tests/Bug_1693_Test/client.bor
new file mode 100644
index 00000000000..e56b46d5e20
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/client.bor
@@ -0,0 +1,36 @@
+# $Id$
+#
+# Makefile for building the Codec test client
+#
+
+NAME = client
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -I../.. -g $(CORE_BINDIR)\gperf.exe -Ge 1
+
+OBJFILES = \
+ $(OBJDIR)\testC.obj \
+ $(OBJDIR)\client.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\testC.cpp: $(IDLDIR)\test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/tests/Bug_1693_Test/client.cpp b/TAO/tests/Bug_1693_Test/client.cpp
new file mode 100644
index 00000000000..604e68bd38c
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/client.cpp
@@ -0,0 +1,100 @@
+// -*- C++ -*-
+
+#include "tao/IOP_CodecC.h"
+#include "testC.h"
+#include "ace/Log_Msg.h"
+
+ACE_RCSID (Codec,
+ client,
+ "$Id$")
+
+int
+main (int argc, char *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ "my_orb"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Obtain a reference to the CodecFactory.
+ CORBA::Object_var obj =
+ orb->resolve_initial_references ("CodecFactory"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ IOP::CodecFactory_var codec_factory =
+ IOP::CodecFactory::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // ----------------------------------------------------------
+
+ // Set up a structure that contains information necessary to
+ // create a GIOP 1.1 CDR encapsulation Codec.
+ IOP::Encoding encoding;
+ encoding.format = IOP::ENCODING_CDR_ENCAPS;
+ encoding.major_version = 1;
+ encoding.minor_version = 1;
+
+ // Obtain the CDR encapsulation Codec.
+ IOP::Codec_var codec =
+ codec_factory->create_codec (encoding
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // ----------------------------------------------------------
+ {
+ CORBA::OctetSeq_var encoded_data;
+ CORBA::Any_var decoded_data;
+
+ Foo::type_ulong l = 9192631;
+
+ CORBA::Any tmp;
+
+ tmp <<= l;
+
+ encoded_data =
+ codec->encode_value (tmp
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ decoded_data =
+ codec->decode_value (encoded_data.in (),
+ Foo::_tc_type_ulong
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Foo::type_ulong check = 0;
+
+ if (!(decoded_data >>= check))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "ERROR: Unable to extract typedefed decoded "
+ "data from Any\n"),
+ -1);
+
+ if (check != l)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "ERROR: Extracted value not equal "
+ "to the encoded value \n"),
+ -1);
+
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) Test passed \n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Bug_1693_Test test:");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_1693_Test/client.dsp b/TAO/tests/Bug_1693_Test/client.dsp
new file mode 100644
index 00000000000..d0bafb0ce45
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/client.dsp
@@ -0,0 +1,205 @@
+# Microsoft Developer Studio Project File - Name="Codec Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Codec Client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak" CFG="Codec Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Codec Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Codec Client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Codec Client - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR- /GX /O2 /I "../../.." /I "../.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 tao.lib ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ELSEIF "$(CFG)" == "Codec Client - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR- /GX /Zi /Od /I "../../.." /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 taod.lib aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Codec Client - Win32 Release"
+# Name "Codec Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\testC.cpp
+# ADD CPP /GR
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h"
+# Begin Source File
+
+SOURCE=.\testC.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\test.idl
+
+!IF "$(CFG)" == "Codec Client - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Codec Client - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\testC.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Bug_1693_Test/run_test.pl b/TAO/tests/Bug_1693_Test/run_test.pl
new file mode 100755
index 00000000000..255f60afe65
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/run_test.pl
@@ -0,0 +1,22 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# -*- perl -*-
+# $Id$
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+print STDERR "\n\n==== Running Bug_1693_Test test\n";
+
+$T = new PerlACE::Process ("client");
+
+$test = $T->SpawnWaitKill (15);
+
+if ($test != 0) {
+ print STDERR "ERROR: Codec test returned $test\n";
+ exit 1;
+}
+
+exit 0;
diff --git a/TAO/tests/Bug_1693_Test/test.idl b/TAO/tests/Bug_1693_Test/test.idl
new file mode 100644
index 00000000000..5bc80d66988
--- /dev/null
+++ b/TAO/tests/Bug_1693_Test/test.idl
@@ -0,0 +1,18 @@
+// -*- IDL -*-
+
+//=============================================================================
+/**
+ * @file test.idl
+ *
+ * $Id$
+ *
+ * "test" IDL interface for the Codec test.
+ *
+ * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+module Foo
+{
+ typedef unsigned long type_ulong;
+};
diff --git a/TAO/tests/CodeSets/libs/IBM1047_ISO8859/CodeSets_libs_IMB1047_ISO8859.mpc b/TAO/tests/CodeSets/libs/IBM1047_ISO8859/CodeSets_libs_IMB1047_ISO8859.mpc
new file mode 100644
index 00000000000..4282d275377
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/IBM1047_ISO8859/CodeSets_libs_IMB1047_ISO8859.mpc
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project(*) : taolib {
+ sharedname = IBM1047_ISO8859
+ dynamicflags += IBM1047_ISO8859_BUILD_DLL
+} \ No newline at end of file
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/CodeSets_libs_UCS4_UTF16.mpc b/TAO/tests/CodeSets/libs/UCS4_UTF16/CodeSets_libs_UCS4_UTF16.mpc
new file mode 100644
index 00000000000..522c94f5415
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/CodeSets_libs_UCS4_UTF16.mpc
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project(*) : taolib {
+ sharedname = UCS4_UTF16
+ dynamicflags += UCS4_UTF16_BUILD_DLL
+}
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/Makefile b/TAO/tests/CodeSets/libs/UCS4_UTF16/Makefile
new file mode 100644
index 00000000000..4197b4d06ca
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/Makefile
@@ -0,0 +1,341 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+MAKEFILE = Makefile
+LIBNAME = libUCS4_UTF16
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+ACE_SHLIBS = -lTAO -lACE
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+CPP_SRCS += \
+ WUCS4_UTF16 \
+ WUCS4_UTF16_Factory
+
+IDL_SRC = \
+ $(addsuffix S.cpp, $(IDL_FILES)) \
+ $(addsuffix C.cpp, $(IDL_FILES))
+FILES = $(CPP_SRCS)
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets (and local hacks)
+#----------------------------------------------------------------------------
+
+LDFLAGS += -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/WUCS4_UTF16.o .obj/WUCS4_UTF16.so .shobj/WUCS4_UTF16.o .shobj/WUCS4_UTF16.so: WUCS4_UTF16.cpp WUCS4_UTF16.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ WUCS4_UTF16_export.h
+
+.obj/WUCS4_UTF16_Factory.o .obj/WUCS4_UTF16_Factory.so .shobj/WUCS4_UTF16_Factory.o .shobj/WUCS4_UTF16_Factory.so: WUCS4_UTF16_Factory.cpp WUCS4_UTF16_Factory.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Codeset_Translator_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Codeset_Translator_Factory_T.h \
+ $(TAO_ROOT)/tao/Codeset_Translator_Factory_T.cpp \
+ $(TAO_ROOT)/tao/debug.h \
+ WUCS4_UTF16_export.h WUCS4_UTF16.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.cpp b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.cpp
new file mode 100644
index 00000000000..2508e98eb6b
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.cpp
@@ -0,0 +1,250 @@
+// -*- C++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// ace
+//
+// = FILENAME
+// WUCS4_UTF16.cpp
+//
+// = DESCRIPTION
+// Defines the actions required to convert between UCS-4, a 4 byte wide char
+// codeset as the native wchar codeset, and UCS-16, aka unicode, a 2-byte
+// codeset for the transport wchar codeset.
+//
+// This translator does not alter any codepoint values, but it does
+// illustrate how to deal with the unicode byte order marker (BOM) and how
+// to deal with codepoint size differences.
+//
+// Note that the BOM is an optional value. The write_*() methods do not
+// encode this value. When BOM is not encoded, the byte order of the
+// encapsulation is used.
+//
+// = AUTHOR
+// Phil Mesnier <mesnier_p@ociweb.com>
+//
+// ============================================================================
+
+#include "WUCS4_UTF16.h"
+#include "ace/OS_Memory.h"
+
+ACE_RCSID(UCS4_UTF16, WUCS4_UTF16, "$Id$")
+
+// ****************************************************************
+
+WUCS4_UTF16::WUCS4_UTF16 (void)
+ : tcs_size_ (2)
+{
+
+}
+
+WUCS4_UTF16::~WUCS4_UTF16 (void)
+{
+
+}
+
+// = Documented in $ACE_ROOT/ace/CDR_Stream.h
+ACE_CDR::Boolean
+WUCS4_UTF16::read_wchar (ACE_InputCDR &cdr, ACE_CDR::WChar &x)
+{
+ ACE_CDR::UShort sx = 0;
+ if (ACE_static_cast (ACE_CDR::Short, this->major_version(cdr)) == 1
+ && ACE_static_cast (ACE_CDR::Short, this->minor_version(cdr)) == 2)
+ {
+ ACE_CDR::Octet len;
+ if (!this->read_1 (cdr, &len))
+ return 0;
+ if (! this->read_2 (cdr,&sx))
+ return 0;
+ // We need to consume the optional byte-order-marker
+ if (sx == 0xFEFE || sx == 0xFFFE)
+ {
+ int old_bo = cdr.byte_order();
+ cdr.reset_byte_order (sx == 0xFFFE);
+ this->read_2 (cdr,&sx);
+ cdr.reset_byte_order (old_bo);
+ return 1;
+ }
+ }
+ else
+ {
+ if (!this->read_2 (cdr, &sx))
+ return 0;
+ }
+ x = ACE_static_cast(ACE_CDR::WChar, sx);
+ return 1;
+}
+
+ACE_CDR::Boolean
+WUCS4_UTF16::read_wstring (ACE_InputCDR &cdr,
+ ACE_CDR::WChar *&x)
+{
+ ACE_CDR::ULong len;
+ if (!this->read_4 (cdr, &len))
+ return 0;
+
+ // A check for the length being too great is done later in the
+ // call to read_char_array but we want to have it done before
+ // the memory is allocated.
+ if (len > 0 && len <= cdr.length())
+ {
+ if (ACE_static_cast (ACE_CDR::Short, this->major_version(cdr)) == 1
+ && ACE_static_cast (ACE_CDR::Short, this->minor_version(cdr)) == 2)
+ {
+ len /= this->tcs_size_;
+
+ //allocating one extra for the null character needed by applications
+ ACE_NEW_RETURN (x,
+ ACE_CDR::WChar [len + 1],
+ 0);
+ if (this->read_wchar_array (cdr, x, len))
+ {
+ //Null character used by applications to find the end of
+ //the wstring
+ //Is this okay with the GIOP 1.2 spec??
+ x[len] = '\x00';
+ return 1;
+ }
+ }
+ else
+ {
+ ACE_NEW_RETURN (x,
+ ACE_CDR::WChar [len],
+ 0);
+ if (this->read_wchar_array (cdr, x, len))
+ return 1;
+ }
+ delete [] x;
+ }
+ else if (len == 0)
+ {
+ // Convert any null strings to empty strings since empty
+ // strings can cause crashes. (See bug 58.)
+ ACE_NEW_RETURN (x,
+ ACE_CDR::WChar[1],
+ 0);
+ x[0] = '\x00';
+ return 1;
+ }
+ x = 0;
+ return 0;
+}
+
+ACE_CDR::Boolean
+WUCS4_UTF16::read_wchar_array (ACE_InputCDR & cdr,
+ ACE_CDR::WChar *x,
+ ACE_CDR::ULong length)
+{
+ if (length == 0)
+ return 1;
+ char* buf;
+ size_t align = ACE_CDR::SHORT_ALIGN;
+ if (cdr.adjust (this->tcs_size_ * length, align, buf) == 0)
+ {
+ ACE_CDR::UShort *sb = ACE_reinterpret_cast(ACE_CDR::UShort *, buf);
+ int old_bo = cdr.byte_order();
+ if (*sb == 0xFEFE || *sb == 0xFFFE)
+ {
+ cdr.reset_byte_order (*sb == 0xFFFE);
+ sb ++;
+ length --;
+ }
+ for (size_t i = 0; i < length; i++)
+#if defined (ACE_DISABLE_SWAP_ON_READ)
+ x[i] = ACE_static_cast (ACE_CDR::WChar, sb[i]);
+#else
+ if (!cdr.do_byte_swap ())
+ x[i] = ACE_static_cast (ACE_CDR::WChar, sb[i]);
+ else
+ {
+ ACE_CDR::UShort sx;
+ ACE_CDR::swap_2 (&buf[i*2], ACE_reinterpret_cast(char *,&sx));
+ x[i] = ACE_static_cast (ACE_CDR::WChar,sx);
+ }
+#endif /* ACE_DISABLE_SWAP_ON_READ */
+ cdr.reset_byte_order (old_bo);
+
+ return 1;
+ }
+ return 0;
+}
+
+ACE_CDR::Boolean
+WUCS4_UTF16::write_wchar (ACE_OutputCDR &cdr,
+ ACE_CDR::WChar x)
+{
+ ACE_CDR::UShort sx = ACE_static_cast(ACE_CDR::Short,x);
+ if (ACE_static_cast (ACE_CDR::Short, this->major_version(cdr)) == 1
+ && ACE_static_cast (ACE_CDR::Short, this->minor_version(cdr)) == 2)
+ {
+ if (this->write_1 (cdr, &this->tcs_size_))
+ return this->write_array(cdr, &sx, this->tcs_size_, ACE_CDR::SHORT_ALIGN, 1);
+ else
+ return 0;
+ }
+ else if (ACE_static_cast (ACE_CDR::Short, this->minor_version(cdr)) == 0)
+ { // wchar is not allowed with GIOP 1.0.
+ errno = EINVAL;
+ return 0;
+ }
+ return this->write_2 (cdr, &sx);
+}
+
+ACE_CDR::Boolean
+WUCS4_UTF16::write_wstring (ACE_OutputCDR & cdr,
+ ACE_CDR::ULong len,
+ const ACE_CDR::WChar *x)
+{
+ ACE_CDR::ULong l = 0;
+ if (ACE_static_cast (ACE_CDR::Short, this->major_version(cdr)) == 1
+ && ACE_static_cast (ACE_CDR::Short, this->minor_version(cdr)) == 2)
+ {
+ l = len * this->tcs_size_;
+ if (this->write_4 (cdr, &l) && x != 0)
+ return this->write_wchar_array (cdr, x, len);
+ }
+ else
+ {
+ l = len + 1;
+ if (this->write_4 (cdr, &l))
+ if (x != 0)
+ return this->write_wchar_array (cdr, x, len + 1);
+ else
+ {
+ ACE_CDR::UShort s = 0;
+ return this->write_2 (cdr,&s);
+ }
+ }
+ return 0;
+}
+
+ACE_CDR::Boolean
+WUCS4_UTF16::write_wchar_array (ACE_OutputCDR & cdr,
+ const ACE_CDR::WChar *x,
+ ACE_CDR::ULong length)
+{
+ if (length == 0)
+ return 1;
+ char* buf;
+ size_t align = ACE_CDR::SHORT_ALIGN;
+ if (cdr.adjust (this->tcs_size_ * length, align, buf) == 0)
+ {
+ ACE_CDR::UShort *sb = ACE_reinterpret_cast(ACE_CDR::UShort *, buf);
+ for (size_t i = 0; i < length; i++)
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ sb[i] = ACE_static_cast (ACE_CDR::UShort, x[i]);
+#else
+ if (!cdr.do_byte_swap())
+ sb[i] = ACE_static_cast (ACE_CDR::UShort, x[i]);;
+ else
+ {
+ ACE_CDR::UShort sx = ACE_static_cast (ACE_CDR::UShort, x[i]);
+ ACE_CDR::swap_2 (ACE_reinterpret_cast(char *,&sx),&buf[i*2]);
+ }
+#endif /* ACE_DISABLE_SWAP_ON_READ */
+ return 1;
+ }
+ return 0;
+}
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.h b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.h
new file mode 100644
index 00000000000..e7feca60d8d
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.h
@@ -0,0 +1,83 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file WUCS4_UTF16.h
+ *
+ * $Id$
+ *
+ *
+ *
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef WUCS4_UTF16_H
+#define WUCS4_UTF16_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/CDR_Stream.h"
+#include "WUCS4_UTF16_export.h"
+
+// ****************************************************************
+
+/**
+ * @class ACE_Char_UCS4_UTF16
+ *
+ * @brief Codeset translation specialization.
+ *
+ * This class performs the codeset translation:
+ * - Native: UCS4 (4-byte codepoints, lower 16 match Unicode)
+ * - Stream: UTF16 (i.e. Unicode)
+ * Defines the actions required to convert between UCS-4, a 4 byte wide char
+ * codeset as the native wchar codeset, and UCS-16, aka unicode, a 2-byte
+ * codeset for the transport wchar codeset.
+ *
+ * This translator does not alter any codepoint values, but it does
+ * illustrate how to deal with the unicode byte order marker (BOM) and how
+ * to deal with codepoint size differences.
+ *
+ * Note that the BOM is an optional value. The write_*() methods do not
+ * encode this value. When BOM is not encoded, the byte order of the
+ * encapsulation is used.
+ */
+class UCS4_UTF16_Export WUCS4_UTF16 : public ACE_WChar_Codeset_Translator
+{
+public:
+ /// A do nothing constructor.
+ WUCS4_UTF16 (void);
+
+ /// Virtual destruction
+ virtual ~WUCS4_UTF16 (void);
+
+ // = Documented in $ACE_ROOT/ace/CDR_Stream.h
+ virtual ACE_CDR::Boolean read_wchar (ACE_InputCDR &,
+ ACE_CDR::WChar &);
+ virtual ACE_CDR::Boolean read_wstring (ACE_InputCDR &,
+ ACE_CDR::WChar *&);
+ virtual ACE_CDR::Boolean read_wchar_array (ACE_InputCDR &,
+ ACE_CDR::WChar *,
+ ACE_CDR::ULong);
+ virtual ACE_CDR::Boolean write_wchar (ACE_OutputCDR &,
+ ACE_CDR::WChar);
+ virtual ACE_CDR::Boolean write_wstring (ACE_OutputCDR &,
+ ACE_CDR::ULong,
+ const ACE_CDR::WChar *);
+ virtual ACE_CDR::Boolean write_wchar_array (ACE_OutputCDR &,
+ const ACE_CDR::WChar *,
+ ACE_CDR::ULong);
+ virtual ACE_CDR::ULong ncs () {return 0x00010104;}
+ virtual ACE_CDR::ULong tcs () {return 0x00010109;}
+
+private:
+ ACE_CDR::Octet tcs_size_;
+};
+
+#include /**/ "ace/post.h"
+#endif /* WCHAR_UCS4_UTF16_TRANSLATOR */
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.cpp b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.cpp
new file mode 100644
index 00000000000..f6700337cbe
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.cpp
@@ -0,0 +1,25 @@
+// -*- C++ -*-
+
+#include "WUCS4_UTF16_Factory.h"
+
+ACE_RCSID(UCS4_UTF16, WUCS4_UTF16_Factory, "$Id$")
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class TAO_Codeset_Translator_Factory_T<WUCS4_UTF16>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate TAO_Codeset_Translator_Factory_T<WUCS4_UTF16>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+ACE_STATIC_SVC_DEFINE (WUCS4_UTF16_Factory,
+ ACE_TEXT ("WUCS4_UTF16_Factory"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (WUCS4_UTF16_Factory),
+ ACE_Service_Type::DELETE_THIS
+ | ACE_Service_Type::DELETE_OBJ,
+ 0)
+ACE_FACTORY_DEFINE (UCS4_UTF16, WUCS4_UTF16_Factory)
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.h b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.h
new file mode 100644
index 00000000000..666f61fee1d
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.h
@@ -0,0 +1,30 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file WUCS4_UTF16_Factory.h
+ *
+ * $Id$
+ *
+ *
+ *
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef WUCS4_UTF16_FACTORY_H
+#define WUCS4_UTF16_FACTORY_H
+
+#include <ace/pre.h>
+#include <ace/Service_Config.h>
+#include <tao/Codeset_Translator_Factory.h>
+
+#include "WUCS4_UTF16_export.h"
+#include "WUCS4_UTF16.h"
+
+typedef UCS4_UTF16_Export TAO_Codeset_Translator_Factory_T<WUCS4_UTF16> WUCS4_UTF16_Factory;
+
+ACE_STATIC_SVC_DECLARE_EXPORT (UCS4_UTF16, WUCS4_UTF16_Factory)
+ACE_FACTORY_DECLARE (UCS4_UTF16, WUCS4_UTF16_Factory)
+
+#include <ace/post.h>
+#endif /* WUCS4_UTF16_FACTORY_H */
diff --git a/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_export.h b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_export.h
new file mode 100644
index 00000000000..d668942ef44
--- /dev/null
+++ b/TAO/tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_export.h
@@ -0,0 +1,40 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef UCS4_UTF16_EXPORT_H
+#define UCS4_UTF16_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (TAO_AS_STATIC_LIBS)
+# if !defined (UCS4_UTF16_HAS_DLL)
+# define UCS4_UTF16_HAS_DLL 0
+# endif /* ! UCS4_UTF16_HAS_DLL */
+#else
+# if !defined (UCS4_UTF16_HAS_DLL)
+# define UCS4_UTF16_HAS_DLL 1
+# endif /* ! UCS4_UTF16_HAS_DLL */
+#endif
+
+#if defined (UCS4_UTF16_HAS_DLL) && (UCS4_UTF16_HAS_DLL == 1)
+# if defined (UCS4_UTF16_BUILD_DLL)
+# define UCS4_UTF16_Export ACE_Proper_Export_Flag
+# define UCS4_UTF16_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define UCS4_UTF16_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* UCS4_UTF16_BUILD_DLL */
+# define UCS4_UTF16_Export ACE_Proper_Import_Flag
+# define UCS4_UTF16_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define UCS4_UTF16_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* UCS4_UTF16_BUILD_DLL */
+#else /* UCS4_UTF16_HAS_DLL == 1 */
+# define UCS4_UTF16_Export
+# define UCS4_UTF16_SINGLETON_DECLARATION(T)
+# define UCS4_UTF16_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* UCS4_UTF16_HAS_DLL == 1 */
+
+#endif /* UCS4_UTF16_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tests/CodeSets/simple/CodeSets_simple.mpc b/TAO/tests/CodeSets/simple/CodeSets_simple.mpc
new file mode 100644
index 00000000000..1873e72a3ef
--- /dev/null
+++ b/TAO/tests/CodeSets/simple/CodeSets_simple.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver {
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver {
+ source_files {
+ server.cpp
+ }
+}
diff --git a/TAO/tests/CodeSets/simple/wcs_test.conf b/TAO/tests/CodeSets/simple/wcs_test.conf
new file mode 100644
index 00000000000..7ed0b22bb78
--- /dev/null
+++ b/TAO/tests/CodeSets/simple/wcs_test.conf
@@ -0,0 +1,13 @@
+#First, load the appropriate codeset translator factories
+dynamic Char_IBM1047_ISO8859_Factory Service_Object * IBM1047_ISO8859:_make_Char_IBM1047_ISO8859_Factory ()
+
+dynamic WUCS4_UTF16_Factory Service_Object * WUCS4_UTF16:_make_WUCS4_UTF16_Factory ()
+
+static Resource_Factory
+ "-ORBNativeCharCodeSet 0x10020417 -ORBCharCodesetTranslator Char_IBM1047_ISO8859_Factory -ORBNativeWcharCodeSet 0x00010104 -ORBWcharCodesetTranslator WUCS4_UTF16_Factory"
+
+# Alternatively, A locale name may be used to specify the native char codeset
+# if one is defined in ace/Codeset_Registry_db.cpp
+
+#static Resource_Factory
+# "-ORBNativeCharCodeSet EBCDIC -ORBCharCodesetTranslator Char_IBM1047_ISO8859_Factory -ORBNativeWcharCodeSet UCS-4 -ORBWcharCodesetTranslator WUCS4_UTF16_Factory"
diff --git a/TAO/tests/Collocation_Tests/Collocation_Tests.mpc b/TAO/tests/Collocation_Tests/Collocation_Tests.mpc
new file mode 100644
index 00000000000..a3b38d9513d
--- /dev/null
+++ b/TAO/tests/Collocation_Tests/Collocation_Tests.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project(Collocation_Tests): taoserver {
+ exename = Collocated_Test
+}
diff --git a/TAO/tests/FL_Cube/FL_Cube.mpc b/TAO/tests/FL_Cube/FL_Cube.mpc
new file mode 100644
index 00000000000..549ef30e1f6
--- /dev/null
+++ b/TAO/tests/FL_Cube/FL_Cube.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver, strategies {
+ source_files {
+ client.cpp
+ }
+}
+
+project(*server) : taoexe, portableserver, strategies {
+ source_files {
+ server.cpp
+ }
+}
diff --git a/TAO/tests/OBV/Collocated/Forward/Makefile b/TAO/tests/OBV/Collocated/Forward/Makefile
new file mode 100644
index 00000000000..e590286b736
--- /dev/null
+++ b/TAO/tests/OBV/Collocated/Forward/Makefile
@@ -0,0 +1,5829 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = TreeBase TreeController TreeNode
+
+IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext)))
+
+BIN = collocated
+
+FILES = \
+ Test_impl \
+ TreeBaseC \
+ TreeControllerC \
+ TreeNodeC \
+ TreeBaseS \
+ TreeControllerS \
+ TreeNodeS \
+ Collocated_Test \
+ Client_Task \
+ Server_Task
+
+SRC = $(addsuffix .cpp, $(FILES)) $(IDL_SRC)
+
+BIN_OBJS = $(SRC:.cpp=.o)
+
+TAO_IDLFLAGS += -Ge 1
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), Test$(ext))
+
+collocated: $(addprefix $(VDIR),$(BIN_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), Test$(ext))
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Test_impl.o .obj/Test_impl.so .shobj/Test_impl.o .shobj/Test_impl.so: Test_impl.cpp Test_impl.h TreeControllerS.h \
+ TreeControllerC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeControllerC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeControllerS_T.h TreeControllerS_T.i TreeControllerS_T.cpp \
+ TreeControllerS.i TreeBaseS.h TreeBaseC.h TreeBaseC.i TreeBaseS_T.h \
+ TreeBaseS_T.i TreeBaseS_T.cpp TreeBaseS.i TreeNodeS.h TreeNodeC.h \
+ TreeNodeC.i TreeNodeS_T.h TreeNodeS_T.i TreeNodeS_T.cpp TreeNodeS.i
+
+.obj/TreeBaseC.o .obj/TreeBaseC.so .shobj/TreeBaseC.o .shobj/TreeBaseC.so: TreeBaseC.cpp TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i
+
+.obj/TreeControllerC.o .obj/TreeControllerC.so .shobj/TreeControllerC.o .shobj/TreeControllerC.so: TreeControllerC.cpp TreeControllerC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeControllerC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp
+
+.obj/TreeNodeC.o .obj/TreeNodeC.so .shobj/TreeNodeC.o .shobj/TreeNodeC.so: TreeNodeC.cpp TreeNodeC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.h TreeBaseC.i TreeNodeC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i
+
+.obj/TreeBaseS.o .obj/TreeBaseS.so .shobj/TreeBaseS.o .shobj/TreeBaseS.so: TreeBaseS.cpp TreeBaseS.h TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeBaseS_T.h TreeBaseS_T.i TreeBaseS_T.cpp TreeBaseS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/TreeControllerS.o .obj/TreeControllerS.so .shobj/TreeControllerS.o .shobj/TreeControllerS.so: TreeControllerS.cpp TreeControllerS.h \
+ TreeControllerC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeControllerC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeControllerS_T.h TreeControllerS_T.i TreeControllerS_T.cpp \
+ TreeControllerS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/TreeNodeS.o .obj/TreeNodeS.so .shobj/TreeNodeS.o .shobj/TreeNodeS.so: TreeNodeS.cpp TreeNodeS.h TreeBaseS.h TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeBaseS_T.h TreeBaseS_T.i TreeBaseS_T.cpp TreeBaseS.i TreeNodeC.h \
+ TreeNodeC.i TreeNodeS_T.h TreeNodeS_T.i TreeNodeS_T.cpp TreeNodeS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Collocated_Test.o .obj/Collocated_Test.so .shobj/Collocated_Test.o .shobj/Collocated_Test.so: Collocated_Test.cpp Server_Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/ORB.i \
+ Client_Task.h TreeBaseC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i TreeControllerC.h TreeControllerC.i TreeNodeC.h TreeNodeC.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Argv_Type_Converter.h \
+ $(ACE_ROOT)/ace/Argv_Type_Converter.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Manual_Event.inl
+
+.obj/Client_Task.o .obj/Client_Task.so .shobj/Client_Task.o .shobj/Client_Task.so: Client_Task.cpp Client_Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i TreeControllerC.h TreeControllerC.i TreeNodeC.h TreeNodeC.i
+
+.obj/Server_Task.o .obj/Server_Task.so .shobj/Server_Task.o .shobj/Server_Task.so: Server_Task.cpp Server_Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(TAO_ROOT)/tao/ORB.i \
+ TreeBaseS.h TreeBaseC.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeBaseS_T.h TreeBaseS_T.i TreeBaseS_T.cpp TreeBaseS.i \
+ TreeControllerS.h TreeControllerC.h TreeControllerC.i \
+ TreeControllerS_T.h TreeControllerS_T.i TreeControllerS_T.cpp \
+ TreeControllerS.i TreeNodeS.h TreeNodeC.h TreeNodeC.i TreeNodeS_T.h \
+ TreeNodeS_T.i TreeNodeS_T.cpp TreeNodeS.i Test_impl.h \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Manual_Event.inl
+
+.obj/TreeBaseC.o .obj/TreeBaseC.so .shobj/TreeBaseC.o .shobj/TreeBaseC.so: TreeBaseC.cpp TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i
+
+.obj/TreeControllerC.o .obj/TreeControllerC.so .shobj/TreeControllerC.o .shobj/TreeControllerC.so: TreeControllerC.cpp TreeControllerC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeControllerC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp
+
+.obj/TreeNodeC.o .obj/TreeNodeC.so .shobj/TreeNodeC.o .shobj/TreeNodeC.so: TreeNodeC.cpp TreeNodeC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.h TreeBaseC.i TreeNodeC.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i
+
+.obj/TreeBaseS.o .obj/TreeBaseS.so .shobj/TreeBaseS.o .shobj/TreeBaseS.so: TreeBaseS.cpp TreeBaseS.h TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeBaseS_T.h TreeBaseS_T.i TreeBaseS_T.cpp TreeBaseS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/TreeControllerS.o .obj/TreeControllerS.so .shobj/TreeControllerS.o .shobj/TreeControllerS.so: TreeControllerS.cpp TreeControllerS.h \
+ TreeControllerC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeControllerC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeControllerS_T.h TreeControllerS_T.i TreeControllerS_T.cpp \
+ TreeControllerS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/TreeNodeS.o .obj/TreeNodeS.so .shobj/TreeNodeS.o .shobj/TreeNodeS.so: TreeNodeS.cpp TreeNodeS.h TreeBaseS.h TreeBaseC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.h \
+ $(TAO_ROOT)/tao/Valuetype/valuetype_export.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.h \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Valuetype/Value_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueBase.inl \
+ $(TAO_ROOT)/tao/Valuetype/Valuetype_Adapter_Impl.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Valuetype_Adapter.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.h \
+ $(TAO_ROOT)/tao/Valuetype/ValueFactory.inl \
+ TreeBaseC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TreeBaseS_T.h TreeBaseS_T.i TreeBaseS_T.cpp TreeBaseS.i TreeNodeC.h \
+ TreeNodeC.i TreeNodeS_T.h TreeNodeS_T.i TreeNodeS_T.cpp TreeNodeS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/OBV/Collocated/Makefile b/TAO/tests/OBV/Collocated/Makefile
new file mode 100644
index 00000000000..9d032c78129
--- /dev/null
+++ b/TAO/tests/OBV/Collocated/Makefile
@@ -0,0 +1,29 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+# Makefile for the OBV tests
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+DIRS = Forward
+
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/TAO/tests/POA/Persistent_ID/Persistent_ID.mpc b/TAO/tests/POA/Persistent_ID/Persistent_ID.mpc
new file mode 100644
index 00000000000..89672d7e32a
--- /dev/null
+++ b/TAO/tests/POA/Persistent_ID/Persistent_ID.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project(POA_server*): taoexe, portableserver {
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(POA_client*): taoexe, portableserver {
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Portable_Interceptors/AMI/Portable_Interceptors_AMI.mpc b/TAO/tests/Portable_Interceptors/AMI/Portable_Interceptors_AMI.mpc
new file mode 100644
index 00000000000..45450026f7b
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/AMI/Portable_Interceptors_AMI.mpc
@@ -0,0 +1,22 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Client) : messaging, taoserver, ami {
+ exename = client
+ source_files {
+ client.cpp
+ Client_Interceptor.cpp
+ Client_ORBInitializer.cpp
+ Echo_Handler.cpp
+ }
+}
+
+project(*server) : messaging, taoserver, ami {
+ exename = server
+ source_files {
+ server.cpp
+ Server_Interceptor.cpp
+ Server_ORBInitializer.cpp
+ Echo.cpp
+ }
+}
diff --git a/TAO/tests/RTCORBA/Diffserv/RTCORBA_Diffserv.mpc b/TAO/tests/RTCORBA/Diffserv/RTCORBA_Diffserv.mpc
new file mode 100644
index 00000000000..2e4c9d4fd1f
--- /dev/null
+++ b/TAO/tests/RTCORBA/Diffserv/RTCORBA_Diffserv.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : taoexe, portableserver, rtcorba {
+ avoids += minimum_corba
+ source_files {
+ client.cpp
+ Custom_Network_Priority_Mapping.cpp
+ }
+}
+
+project(*server) : taoexe, rtportableserver, rtcorba {
+ avoids += minimum_corba
+ source_files {
+ server.cpp
+ Custom_Network_Priority_Mapping.cpp
+ }
+}
diff --git a/TAO/tests/RTCORBA/Profile_And_Endpoint_Selection/Profile_And_Endpoint_Selection.mpc b/TAO/tests/RTCORBA/Profile_And_Endpoint_Selection/Profile_And_Endpoint_Selection.mpc
new file mode 100644
index 00000000000..220bbb47171
--- /dev/null
+++ b/TAO/tests/RTCORBA/Profile_And_Endpoint_Selection/Profile_And_Endpoint_Selection.mpc
@@ -0,0 +1,14 @@
+// $Id$
+project(*Server): rt_server, strategies, portableserver {
+ avoids += minimum_corba
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): rt_client, strategies, portableserver {
+ avoids += minimum_corba
+ Source_Files {
+ client.cpp
+ }
+}
diff --git a/TAO/tests/RTScheduling/VoidData/test.idl b/TAO/tests/RTScheduling/VoidData/test.idl
new file mode 100644
index 00000000000..a806fa8a09a
--- /dev/null
+++ b/TAO/tests/RTScheduling/VoidData/test.idl
@@ -0,0 +1,6 @@
+//$Id$
+#include "tao/RTScheduling/RTScheduler_include.pidl"
+local interface test
+{
+ void bar (in CORBA::VoidData data );
+};
diff --git a/TAO/tests/Servant_To_Reference_Test/Makefile b/TAO/tests/Servant_To_Reference_Test/Makefile
new file mode 100644
index 00000000000..4b425e6fc14
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/Makefile
@@ -0,0 +1,1266 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = Test
+IDL_SRC = TestC.cpp TestS.cpp
+BIN2 = server
+
+SRC = $(addsuffix .cpp, $(BIN) Test_i) $(IDL_SRC)
+
+SERVER_OBJS = server.o Test_i.o $(IDL_SRC:.cpp=.o)
+
+TAO_IDLFLAGS += -Ge 1
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+ifeq ($(minimum_corba),0)
+ BIN=$(BIN2)
+endif #minimum_corba
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), Test$(ext))
+
+server: $(addprefix $(VDIR),$(SERVER_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), Test$(ext))
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp Test_i.h \
+ $(ACE_ROOT)/ace/pre.h \
+ TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Test_i.o .obj/Test_i.so .shobj/Test_i.o .shobj/Test_i.so: Test_i.cpp Test_i.h \
+ $(ACE_ROOT)/ace/pre.h \
+ TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i
+
+.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ TestC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Servant_To_Reference_Test/Servant_to_Reference.mpc b/TAO/tests/Servant_To_Reference_Test/Servant_to_Reference.mpc
new file mode 100644
index 00000000000..f57d76b3b91
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/Servant_to_Reference.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver, minimum_corba {
+ Source_Files {
+ server.cpp
+ Test_i.cpp
+ Test_i.h
+ TestC.cpp
+ TestS.cpp
+ }
+
+ IDL_Files {
+ Test.idl
+ }
+}
+
+
+
diff --git a/TAO/tests/Servant_To_Reference_Test/Test.idl b/TAO/tests/Servant_To_Reference_Test/Test.idl
new file mode 100644
index 00000000000..39548dcbf88
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/Test.idl
@@ -0,0 +1,24 @@
+//
+// $Id$
+//
+
+/// Put the interfaces in a module, to avoid global namespace pollution
+module Test
+{
+ /// A very simple interface
+ interface One
+ {
+ /// Return a simple string
+ string get_string ();
+ };
+
+ interface Two
+ {
+ string get_string ();
+ };
+
+ interface Three
+ {
+ string get_string ();
+ };
+};
diff --git a/TAO/tests/Servant_To_Reference_Test/Test_i.cpp b/TAO/tests/Servant_To_Reference_Test/Test_i.cpp
new file mode 100644
index 00000000000..6095fe48373
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/Test_i.cpp
@@ -0,0 +1,43 @@
+//
+// $Id$
+//
+#include "Test_i.h"
+
+ACE_RCSID(Hello, Hello, "$Id$")
+
+One_Impl::One_Impl (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+char *
+One_Impl::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("One_Impl there!");
+}
+
+Two_Impl::Two_Impl (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+char *
+Two_Impl::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("One_Impl there!");
+}
+
+
+Three_Impl::Three_Impl (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+char *
+Three_Impl::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("Three_Impl there!");
+}
diff --git a/TAO/tests/Servant_To_Reference_Test/Test_i.h b/TAO/tests/Servant_To_Reference_Test/Test_i.h
new file mode 100644
index 00000000000..6b53ffee707
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/Test_i.h
@@ -0,0 +1,77 @@
+//
+// $Id$
+//
+
+#ifndef HELLO_H
+#define HELLO_H
+#include /**/ "ace/pre.h"
+
+#include "TestS.h"
+
+#if defined (_MSC_VER)
+# if (_MSC_VER >= 1200)
+# pragma warning(push)
+# endif /* _MSC_VER >= 1200 */
+# pragma warning (disable:4250)
+#endif /* _MSC_VER */
+
+class One_Impl
+ : public virtual POA_Test::One
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ /// Constructor
+ One_Impl (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to conver strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+class Two_Impl
+ : public virtual POA_Test::Two
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ /// Constructor
+ Two_Impl (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to conver strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+class Three_Impl
+ : public virtual POA_Test::Three
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ /// Constructor
+ Three_Impl (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to conver strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* HELLO_H */
diff --git a/TAO/tests/Servant_To_Reference_Test/run_test.pl b/TAO/tests/Servant_To_Reference_Test/run_test.pl
new file mode 100755
index 00000000000..dcae6d38fb7
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/run_test.pl
@@ -0,0 +1,28 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+$status = 0;
+
+$SV = new PerlACE::Process ("server", "-o $iorfile");
+
+$SV->Spawn ();
+
+$server = $SV->WaitKill (120);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/Servant_To_Reference_Test/server.cpp b/TAO/tests/Servant_To_Reference_Test/server.cpp
new file mode 100644
index 00000000000..65139d0cd63
--- /dev/null
+++ b/TAO/tests/Servant_To_Reference_Test/server.cpp
@@ -0,0 +1,208 @@
+// $Id$
+
+#include "Test_i.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/Task.h"
+
+ACE_RCSID (Hello,
+ server,
+ "$Id$")
+
+const char *ior_output_file = "test.ior";
+
+class MT_Task : public ACE_Task_Base
+{
+public:
+ MT_Task (PortableServer::POA_ptr p,
+ PortableServer::Servant one,
+ PortableServer::Servant two,
+ PortableServer::Servant three)
+ : p_ (PortableServer::POA::_duplicate (p))
+ , one_ (one)
+ , two_ (two)
+ , three_ (three)
+ {
+ }
+
+ int svc (void);
+
+private:
+ PortableServer::POA_var p_;
+ PortableServer::Servant one_;
+ PortableServer::Servant two_;
+ PortableServer::Servant three_;
+};
+
+int
+MT_Task::svc (void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ for (CORBA::Long i = 0;
+ i != 2000;
+ ++i)
+ {
+ CORBA::Object_var one_ref =
+ this->p_->servant_to_reference (this->one_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var two_ref =
+ this->p_->servant_to_reference (this->two_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var three_ref =
+ this->p_->servant_to_reference (this->three_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "(%P|%t) Caugh exception \n");
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ One_Impl *one_impl;
+ ACE_NEW_RETURN (one_impl,
+ One_Impl (orb.in ()),
+ 1);
+ Two_Impl *two_impl;
+ ACE_NEW_RETURN (two_impl,
+ Two_Impl (orb.in ()),
+ 1);
+
+ Three_Impl *three_impl;
+ ACE_NEW_RETURN (three_impl,
+ Three_Impl (orb.in ()),
+ 1);
+
+
+ PortableServer::ServantBase_var owner_transfer1 (one_impl);
+ PortableServer::ServantBase_var owner_transfer2 (two_impl);
+ PortableServer::ServantBase_var owner_transfer3 (three_impl);
+
+ CORBA::PolicyList policies; // Empty policy list.
+
+ PortableServer::POA_var first_poa =
+ root_poa->create_POA ("first POA",
+ poa_manager.in (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ PortableServer::ObjectId_var oid1 =
+ first_poa->activate_object (one_impl
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::ObjectId_var oid2 =
+ first_poa->activate_object (two_impl
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::ObjectId_var oid3 =
+ first_poa->activate_object (three_impl
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ MT_Task task (first_poa.in (),
+ one_impl,
+ two_impl,
+ three_impl);
+
+ if (task.activate (THR_NEW_LWP | THR_JOINABLE,
+ 32) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot activate threads\n"),
+ 1);
+
+ task.thr_mgr ()->wait ();
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - test finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Server_Connection_Purging/Server_Connection_Purging.mpc b/TAO/tests/Server_Connection_Purging/Server_Connection_Purging.mpc
new file mode 100644
index 00000000000..862babe5909
--- /dev/null
+++ b/TAO/tests/Server_Connection_Purging/Server_Connection_Purging.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver {
+ Source_Files {
+ Test_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, portableserver {
+ Source_Files {
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Smart_Proxies/Benchmark/Smart_Proxies_Benchmark.mpc b/TAO/tests/Smart_Proxies/Benchmark/Smart_Proxies_Benchmark.mpc
new file mode 100644
index 00000000000..ea8e6a3a0d7
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Benchmark/Smart_Proxies_Benchmark.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver, smart_proxies {
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, portableserver, smart_proxies {
+ Source_Files {
+ client.cpp
+ Smart_Proxy_Impl.cpp
+ }
+}
+
diff --git a/TAO/tests/Smart_Proxies/Collocation/Makefile b/TAO/tests/Smart_Proxies/Collocation/Makefile
new file mode 100644
index 00000000000..4b4fdfb58ad
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Collocation/Makefile
@@ -0,0 +1,35 @@
+ #----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+MAKEFILE = Makefile
+
+#----------------------------------------------------------------------------
+# Include macros
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+
+MKLIST = \
+ Makefile.Coll_Test_Stubs \
+ Makefile.Diamond \
+ Makefile.main
+
+.NOTPARALLEL:
+
+all debug profile optimize install deinstall clean realclean clobber depend idl_stubs:
+%.mkfile: %
+ @echo $(MAKE) -f $< $(MKFILE_TARGET)
+ @$(MAKE) -f $< $(MKFILE_TARGET)
+
+all debug profile optimize install deinstall clean realclean clobber depend idl_stubs :
+ifneq ($(MKLIST),)
+ @echo $(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+ @$(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+endif
diff --git a/TAO/tests/Smart_Proxies/Collocation/Makefile.Coll_Test_Stubs b/TAO/tests/Smart_Proxies/Collocation/Makefile.Coll_Test_Stubs
new file mode 100644
index 00000000000..d347636e794
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Collocation/Makefile.Coll_Test_Stubs
@@ -0,0 +1,1092 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+MAKEFILE = Makefile.Coll_Test_Stubs
+
+# On non-Windows environment, we should at least define
+# the export_include IDL flag.
+TAO_IDLFLAGS += -Wb,skel_export_macro=Diamond_Export \
+ -Wb,stub_export_macro=MY_Stub_Export \
+ -Wb,skel_export_include=diamond_export.h \
+ -Wb,stub_export_include=stub_export.h \
+ -Ge 1 -Gsp
+
+LDLIBS = $(TAO_CLNT_LIBS)
+ACE_SHLIBS = $(TAO_CLNT_LIBS)
+SHLIB = libCollocation_Test_Stub.$(SOEXT)
+LIB = libCollocation_Test_Stub.a
+
+IDL_FILES = Diamond
+
+LSRC = $(IDL_SRC) Smart_Proxy_Impl.cpp
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+ifeq ($(shared_libs),1)
+ifneq ($(SHLIB),)
+CPPFLAGS += -DMY_STUB_BUILD_DLL
+endif
+endif
+
+ifeq ($(static_libs),1)
+ifneq ($(LIB),)
+CPPFLAGS += -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS
+endif
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/DiamondC.o .obj/DiamondC.so .shobj/DiamondC.o .shobj/DiamondC.so: DiamondC.cpp DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/DiamondS.o .obj/DiamondS.so .shobj/DiamondS.o .shobj/DiamondS.so: DiamondS.cpp DiamondS.h DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ diamond_export.h DiamondS_T.h DiamondS_T.i DiamondS_T.cpp DiamondS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Smart_Proxy_Impl.o .obj/Smart_Proxy_Impl.so .shobj/Smart_Proxy_Impl.o .shobj/Smart_Proxy_Impl.so: Smart_Proxy_Impl.cpp Smart_Proxy_Impl.h DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(ACE_ROOT)/ace/svc_export.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Smart_Proxies/Collocation/Makefile.Diamond b/TAO/tests/Smart_Proxies/Collocation/Makefile.Diamond
new file mode 100644
index 00000000000..ed674c83b98
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Collocation/Makefile.Diamond
@@ -0,0 +1,1110 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+MAKEFILE = Makefile.Diamond
+
+# On non-Windows environment, we should at least define
+# the export_include IDL flag.
+TAO_IDLFLAGS += -Wb,skel_export_macro=Diamond_Export \
+ -Wb,stub_export_macro=MY_Stub_Export \
+ -Wb,skel_export_include=diamond_export.h \
+ -Wb,stub_export_include=stub_export.h \
+ -Ge 1 -Gd -Gsp
+
+LDLIBS = -lCollocation_Test_Stub $(TAO_SRVR_LIBS)
+ACE_SHLIBS = -lCollocation_Test_Stub $(TAO_SRVR_LIBS)
+SHLIB = libDiamond.$(SOEXT)
+LIB = libDiamond.a
+
+FILES = Diamond_i.cpp
+
+IDL_FILES = Diamond
+
+SHLIB_SRC = $(IDL_SRC) $(FILES)
+
+LSRC = $(SHLIB_SRC)
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+ifeq ($(shared_libs),1)
+ifneq ($(SHLIB),)
+CPPFLAGS += -DDIAMOND_BUILD_DLL
+endif
+endif
+
+ifeq ($(static_libs),1)
+ifneq ($(LIB),)
+CPPFLAGS += -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS
+endif
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/DiamondC.o .obj/DiamondC.so .shobj/DiamondC.o .shobj/DiamondC.so: DiamondC.cpp DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/DiamondS.o .obj/DiamondS.so .shobj/DiamondS.o .shobj/DiamondS.so: DiamondS.cpp DiamondS.h DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ diamond_export.h DiamondS_T.h DiamondS_T.i DiamondS_T.cpp DiamondS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i
+
+.obj/Diamond_i.o .obj/Diamond_i.so .shobj/Diamond_i.o .shobj/Diamond_i.so: Diamond_i.cpp Diamond_i.h DiamondS.h DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ diamond_export.h DiamondS_T.h DiamondS_T.i DiamondS_T.cpp DiamondS.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Smart_Proxies/Collocation/Makefile.main b/TAO/tests/Smart_Proxies/Collocation/Makefile.main
new file mode 100644
index 00000000000..949439280e2
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Collocation/Makefile.main
@@ -0,0 +1,956 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+MAKEFILE = Makefile.main
+
+
+SRC = Coll_Tester.cpp Smart_Proxy_Impl.cpp
+
+BIN = main
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+LDLIBS += -lDiamond -lCollocation_Test_Stub \
+ -lTAO_SmartProxies \
+ -lTAO_Strategies \
+ $(TAO_SRVR_LIBS)
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+realclean: clean
+ -$(RM) main
+
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Coll_Tester.o .obj/Coll_Tester.so .shobj/Coll_Tester.o .shobj/Coll_Tester.so: Coll_Tester.cpp Coll_Tester.h Diamond_i.h DiamondS.h \
+ DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ diamond_export.h DiamondS_T.h DiamondS_T.i DiamondS_T.cpp DiamondS.i \
+ Smart_Proxy_Impl.h \
+ $(ACE_ROOT)/ace/svc_export.h
+
+.obj/Smart_Proxy_Impl.o .obj/Smart_Proxy_Impl.so .shobj/Smart_Proxy_Impl.o .shobj/Smart_Proxy_Impl.so: Smart_Proxy_Impl.cpp Smart_Proxy_Impl.h DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(ACE_ROOT)/ace/svc_export.h
+
+.obj/main.o .obj/main.so .shobj/main.o .shobj/main.so: main.cpp Coll_Tester.h Diamond_i.h DiamondS.h DiamondC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i \
+ stub_export.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ DiamondC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ diamond_export.h DiamondS_T.h DiamondS_T.i DiamondS_T.cpp DiamondS.i \
+ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \
+ $(TAO_ROOT)/tao/Strategies/strategies_export.h \
+ $(TAO_ROOT)/tao/default_resource.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/default_resource.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Strategies/advanced_resource.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/tests/Smart_Proxies/Collocation/Smart_Proxies_Collocation.mpc b/TAO/tests/Smart_Proxies/Collocation/Smart_Proxies_Collocation.mpc
new file mode 100644
index 00000000000..f98a8de4eb9
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Collocation/Smart_Proxies_Collocation.mpc
@@ -0,0 +1,36 @@
+// -*- MPC -*-
+// $Id$
+
+project(*TestStubsLib): taolib_with_idl, smart_proxies {
+ sharedname = Coll_Test_Stubs
+ dynamicflags += MY_STUB_BUILD_DLL
+ idlflags += -Wb,stub_export_macro=MY_Stub_Export -Wb,stub_export_include=stub_export.h -Wb,skel_export_macro=Diamond_Export -Wb,skel_export_include=diamond_export.h -Gd
+ Source_Files {
+ DiamondC.cpp
+ Smart_Proxy_Impl.cpp
+ }
+}
+
+project(*DiamondLib) : taolib_with_idl, smart_proxies, portableserver {
+ sharedname = Diamond
+ after += *TestStubsLib
+ libs += Coll_Test_Stubs
+ dynamicflags += DIAMOND_BUILD_DLL
+ idlflags += -Wb,stub_export_macro=MY_Stub_Export -Wb,stub_export_include=stub_export.h -Wb,skel_export_macro=Diamond_Export -Wb,skel_export_include=diamond_export.h -Gd
+ Source_Files {
+ Diamond_i.cpp
+ DiamondS.cpp
+ }
+}
+
+project(*Test): taoexe, smart_proxies, portableserver, strategies {
+ after += *TestStubsLib *DiamondLib
+ libs += Coll_Test_Stubs Diamond
+ Source_Files {
+ Coll_Tester.cpp
+ main.cpp
+ }
+ idl_files {
+ }
+}
+
diff --git a/TAO/tests/Smart_Proxies/On_Demand/Smart_Proxies_On_Demand.mpc b/TAO/tests/Smart_Proxies/On_Demand/Smart_Proxies_On_Demand.mpc
new file mode 100644
index 00000000000..9fdbbfc311b
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/On_Demand/Smart_Proxies_On_Demand.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver, smart_proxies {
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, portableserver, smart_proxies {
+ Source_Files {
+ client.cpp
+ Smart_Proxy_Impl.cpp
+ Smart_Test_Factory.cpp
+ }
+}
+
diff --git a/TAO/tests/Smart_Proxies/Policy/Smart_Proxies_Policy.mpc b/TAO/tests/Smart_Proxies/Policy/Smart_Proxies_Policy.mpc
new file mode 100644
index 00000000000..907dac72774
--- /dev/null
+++ b/TAO/tests/Smart_Proxies/Policy/Smart_Proxies_Policy.mpc
@@ -0,0 +1,16 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver, smart_proxies {
+ Source_Files {
+ server.cpp
+ }
+}
+
+project(*Client): taoclient, portableserver, smart_proxies {
+ Source_Files {
+ client.cpp
+ Smart_Proxy_Impl.cpp
+ }
+}
+
diff --git a/TAO/tests/TestUtils/TestUtils.mpc b/TAO/tests/TestUtils/TestUtils.mpc
new file mode 100644
index 00000000000..5147f54562c
--- /dev/null
+++ b/TAO/tests/TestUtils/TestUtils.mpc
@@ -0,0 +1,11 @@
+// -*- MPC -*-
+// $Id$
+
+// This project looks like it's only for vxworks using gmake
+// For now it's defined empty, because there's no convenient
+// way to make it only build for gnuace.
+project : taolib {
+ sharedname = TestUtils
+ source_files {
+ }
+}
diff --git a/TAO/utils/IOR-parser/IOR-parser.mpc b/TAO/utils/IOR-parser/IOR-parser.mpc
new file mode 100644
index 00000000000..ca6b8ee6622
--- /dev/null
+++ b/TAO/utils/IOR-parser/IOR-parser.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+} \ No newline at end of file
diff --git a/TAO/utils/NamingViewer/NamingViewer.mpc b/TAO/utils/NamingViewer/NamingViewer.mpc
new file mode 100644
index 00000000000..e0810bd6a50
--- /dev/null
+++ b/TAO/utils/NamingViewer/NamingViewer.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project : taoexe, portableserver, naming, mfc {
+
+} \ No newline at end of file
diff --git a/TAO/utils/wxNamingViewer/wxNamingViewer.mpc b/TAO/utils/wxNamingViewer/wxNamingViewer.mpc
new file mode 100644
index 00000000000..3d43adbb4a5
--- /dev/null
+++ b/TAO/utils/wxNamingViewer/wxNamingViewer.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project: namingexe, portableserver, wxwindows {
+ exename = wxNamingViewer
+} \ No newline at end of file
diff --git a/ace/OS_main.cpp b/ace/OS_main.cpp
new file mode 100644
index 00000000000..1e926b58ad2
--- /dev/null
+++ b/ace/OS_main.cpp
@@ -0,0 +1,170 @@
+// -*- C++ -*-
+// $Id$
+
+#include "ace/OS_main.h"
+
+ACE_RCSID(ace, OS_main, "$Id$")
+
+#if defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER) && !defined (ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER)
+
+# if !defined (ACE_HAS_MINIMAL_ACE_OS)
+# include "ace/Object_Manager.h"
+# endif /* ! ACE_HAS_MINIMAL_ACE_OS */
+
+// Rename "main ()" on platforms that don't allow it to be called "main ()".
+
+// Also, create ACE_Object_Manager static instance(s) in "main ()".
+// ACE_MAIN_OBJECT_MANAGER defines the ACE_Object_Manager(s) that will
+// be instantiated on the stack of main (). Note that it is only used
+// when compiling main (): its value does not affect the contents of
+// ace/OS.o.
+# if !defined (ACE_MAIN_OBJECT_MANAGER)
+# define ACE_MAIN_OBJECT_MANAGER \
+ ACE_OS_Object_Manager ace_os_object_manager; \
+ ACE_Object_Manager ace_object_manager;
+# endif /* ! ACE_MAIN_OBJECT_MANAGER */
+
+# if !defined (ACE_WIN32)
+
+/* forward declaration */
+extern int ace_main_i (int, char *[]);
+
+# if defined (ACE_PSOSIM)
+// PSOSIM root lacks the standard argc, argv command line parameters,
+// create dummy argc and argv in the "real" main and pass to "user" main.
+// NOTE: ACE_MAIN must be defined to give the return type as well as the
+// name of the entry point.
+
+ACE_MAIN () /* user's entry point, e.g., "main" w/out argc, argv */
+{
+ int argc = 1; /* dummy arg count */
+ char *argv[] = {"psosim"}; /* dummy arg list */
+ ACE_MAIN_OBJECT_MANAGER
+ int ret_val = -1; /* assume the worst */
+ if (ACE_PSOS_Time_t::init_simulator_time ()) /* init simulator time */
+ {
+ ACE_ERROR((LM_ERROR, "init_simulator_time failed\n")); /* report */
+ }
+ else
+ {
+ ret_val = ace_main_i (argc, argv); /* call user main, save result */
+ }
+ ACE_OS::exit (ret_val); /* pass code to simulator exit */
+}
+
+# elif defined (ACE_PSOS) && defined (ACE_PSOS_LACKS_ARGC_ARGV)
+// PSOS root lacks the standard argc, argv command line parameters,
+// create dummy argc and argv in the "real" main and pass to "user" main.
+// Ignore return value from user main as well. NOTE: ACE_MAIN must be
+// defined to give the return type as well as the name of the entry point
+
+ACE_MAIN () /* user's entry point, e.g., "main" w/out argc, argv */
+{
+ int argc = 1; /* dummy arg count */
+ char *argv[] = {"root"}; /* dummy arg list */
+ ACE_MAIN_OBJECT_MANAGER
+ ace_main_i (argc, argv); /* call user main, ignore result */
+}
+
+# endif /* ACE_PSOSIM */
+
+int ace_os_main_i (int argc, char *argv[]) /* user's entry point, e.g., main */
+{
+ ACE_MAIN_OBJECT_MANAGER
+ return ace_main_i (argc, argv); /* what the user calls "main" */
+}
+
+# elif !defined (ACE_WINCE)
+
+# if defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
+int ACE_Main_Base::run (int argc, ACE_TCHAR *argv[])
+{
+ return this->run_i (argc, argv);
+}
+
+ACE_Export int
+ace_os_wmain_i (ACE_Main_Base &mbase, int argc, ACE_TCHAR *argv[]) /* user's entry point, e.g., main */
+{
+ ACE_MAIN_OBJECT_MANAGER
+ return mbase.run (argc, argv); /* what the user calls "main" */
+}
+# else /* ! (ACE_WIN32 && ACE_USES_WCHAR) */
+int ACE_Main_Base::run (int argc, char *argv[])
+{
+ return this->run_i (argc, argv);
+}
+
+ACE_Export int
+ace_os_main_i (ACE_Main_Base &mbase, int argc, char *argv[]) /* user's entry point, e.g., main */
+{
+ ACE_MAIN_OBJECT_MANAGER
+ return mbase.run (argc, argv); /* what the user calls "main" */
+}
+# endif /* ACE_WIN32 && ACE_USES_WCHAR */
+
+# else /* ACE_WINCE */
+
+int ACE_Main_Base::run (int argc, ACE_TCHAR *argv[])
+{
+ return this->run_i (argc, argv);
+}
+
+// CE only gets a command line string; no argv. So we need to convert it
+// when the main entrypoint expects argc/argv. ACE_ARGV supports this.
+# include "ace/ARGV.h"
+
+// Support for ACE_TMAIN, which is a recommended way. It would be nice if
+// CE had CommandLineToArgvW()... but it's only on NT3.5 and up.
+
+int WINAPI ace_os_wintmain_i (ACE_Main_Base &mbase, HINSTANCE hInstance,
+ HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
+{
+ ACE_TCHAR cmdline[1024];
+ ACE_OS::strcpy (cmdline, ACE_LIB_TEXT ("program "));
+ ACE_OS::strcat (cmdline, lpCmdLine);
+ ACE_ARGV ce_argv (cmdline);
+ ACE::init ();
+ ACE_MAIN_OBJECT_MANAGER
+ int i = mbase.run (ce_argv.argc (), ce_argv.argv ());
+ ACE::fini ();
+ return i;
+}
+
+// Support for wchar_t but still can't fit to CE because of the command
+// line parameters.
+int WINAPI ace_os_winwmain_i (ACE_Main_Base &mbase, HINSTANCE hInstance,
+ HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
+{
+ ACE_TCHAR cmdline[1024];
+ ACE_OS::strcpy (cmdline, ACE_LIB_TEXT ("program "));
+ ACE_OS::strcat (cmdline, lpCmdLine);
+ ACE_ARGV ce_argv (cmdline);
+ ACE::init ();
+ ACE_MAIN_OBJECT_MANAGER
+ int i = mbase.run (ce_argv.argc (), ce_argv.argv ());
+ ACE::fini ();
+ return i;
+}
+
+// Supporting legacy 'main' is A LOT easier for users than changing existing
+// code on WinCE. Unfortunately, evc 3 can't grok a #include within the macro
+// expansion, so it needs to go out here.
+# include "ace/Argv_Type_Converter.h"
+int WINAPI ace_os_winmain_i (ACE_Main_Base &mbase, HINSTANCE hInstance,
+ HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
+{
+ ACE_TCHAR cmdline[1024];
+ ACE_OS::strcpy (cmdline, ACE_LIB_TEXT ("program "));
+ ACE_OS::strcat (cmdline, lpCmdLine);
+ ACE_ARGV ce_argv (cmdline);
+ ACE::init ();
+ ACE_MAIN_OBJECT_MANAGER
+ ACE_Argv_Type_Converter command_line (ce_argv.argc (), ce_argv.argv ());
+ int i = mbase.run (command_line.get_argc(), command_line.get_ASCII_argv());
+ ACE::fini ();
+ return i;
+}
+int ace_main_i
+
+# endif /* !ACE_WINCE */
+# endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER && !ACE_HAS_WINCE && !ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER */
diff --git a/ace/TMCast/TMCast.mpc b/ace/TMCast/TMCast.mpc
new file mode 100644
index 00000000000..0899982dd09
--- /dev/null
+++ b/ace/TMCast/TMCast.mpc
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project : acelib, core {
+ requires += exceptions
+ sharedname = TMCast
+ dynamicflags += TMCAST_BUILD_DLL
+}
diff --git a/ace/Task_Ex_T.cpp b/ace/Task_Ex_T.cpp
new file mode 100644
index 00000000000..24bd5345343
--- /dev/null
+++ b/ace/Task_Ex_T.cpp
@@ -0,0 +1,112 @@
+// Task_Ex_T.cpp
+// $Id$
+
+#ifndef ACE_TASK_EX_T_C
+#define ACE_TASK_EX_T_C
+
+#include "ace/Task_Ex_T.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Module.h"
+#include "ace/Null_Condition.h"
+
+#if !defined (__ACE_INLINE__)
+#include "ace/Task_Ex_T.i"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(ace, Task_Ex_T, "$Id$")
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> void
+ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::dump (void) const
+{
+#if defined (ACE_HAS_DUMP)
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::dump");
+ ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\nthr_mgr_ = %x"), this->thr_mgr_));
+ this->msg_queue_->dump ();
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("delete_msg_queue_ = %d\n"), this->delete_msg_queue_));
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\nflags = %x"), this->flags_));
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\nmod_ = %x"), this->mod_));
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\nnext_ = %x"), this->next_));
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\ngrp_id_ = %d"), this->grp_id_));
+ ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\nthr_count_ = %d"), this->thr_count_));
+#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+ this->lock_.dump ();
+#endif /* ACE_MT_SAFE */
+
+ ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+#endif /* ACE_HAS_DUMP */
+}
+
+// If the user doesn't supply a ACE_Message_Queue_Ex pointer then we'll
+// allocate one dynamically. Otherwise, we'll use the one they give.
+
+template<ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE>
+ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::ACE_Task_Ex (ACE_Thread_Manager *thr_man,
+ ACE_Message_Queue_Ex<ACE_MESSAGE_TYPE, ACE_SYNCH_USE> *mq)
+ : ACE_Task_Base (thr_man),
+ msg_queue_ (0),
+ delete_msg_queue_ (0),
+ mod_ (0),
+ next_ (0)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::ACE_Task_Ex");
+
+ if (mq == 0)
+ {
+ ACE_NEW (mq,
+ (ACE_Message_Queue_Ex<ACE_MESSAGE_TYPE, ACE_SYNCH_USE>));
+ this->delete_msg_queue_ = 1;
+ }
+
+ this->msg_queue_ = mq;
+}
+
+template<ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE>
+ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::~ACE_Task_Ex (void)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::~ACE_Task_Ex");
+ if (this->delete_msg_queue_)
+ delete this->msg_queue_;
+
+ // These assignments aren't strickly necessary but they help guard
+ // against odd race conditions...
+ this->delete_msg_queue_ = 0;
+}
+
+template<ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_Task<ACE_SYNCH_USE> *
+ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::sibling (void)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::sibling");
+ /// @todo FIXME Need to impl ACE_Moudle to support ACE_Task as well.
+ /// Now always return 0 for sibling
+ return 0;
+/*
+ if (this->mod_ == 0)
+ return 0;
+ else
+ return this->mod_->sibling (this);
+*/
+}
+
+template<ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> const ACE_TCHAR *
+ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::name (void) const
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::name");
+ if (this->mod_ == 0)
+ return 0;
+ else
+ return this->mod_->name ();
+}
+
+template<ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_Module<ACE_SYNCH_USE> *
+ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::module (void) const
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE>::module");
+ return this->mod_;
+}
+
+#endif /* ACE_TASK_EX_T_C */
diff --git a/ace/Task_Ex_T.h b/ace/Task_Ex_T.h
new file mode 100644
index 00000000000..2539294af8f
--- /dev/null
+++ b/ace/Task_Ex_T.h
@@ -0,0 +1,198 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file Task_Ex_T.h
+ *
+ * $Id$
+ *
+ * @author Kobi Cohen-Arazi <kobi-co@barak-online.net>
+ */
+//=============================================================================
+
+#ifndef ACE_TASK_EX_T_H
+#define ACE_TASK_EX_T_H
+#include /**/ "ace/pre.h"
+
+#include "ace/Service_Object.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Synch_Traits.h"
+#include "ace/Task.h"
+
+// Forward decls...
+template <ACE_SYNCH_DECL> class ACE_Module;
+
+/**
+ * @class ACE_Task_Ex
+ *
+ * @brief Primary interface for application message processing, as well
+ * as input and output message queueing.
+ *
+ * Unlike ACE_Task, these class doesn't have the ability to be a part of
+ * a Stream chain. I.e. You cannot (yet) chain modules based on ACE_Task_Ex.
+ *
+ * @todo: We can merge ACE_Task and ACE_Task_Ex to be one class.
+ * something like that:
+ * template <ACE_SYNCH_DECL, ACE_MESSAGE_TYPE = ACE_Message_Block>
+ * class ACE_Task : public ACE_Task_Base
+ * {
+ * // use here the code from ACE_Task_Ex using ACE_Message_Queue_Ex
+ * };
+ *
+ * Now specialized version of ACE_Task with ACE_Message_Block as its
+ * ACE_MESSAGE_TYPE...
+ *
+ * template <ACE_SYNCH_DECL>
+ * class ACE_Task <ACE_SYNCH_USE, ACE_Message_Block> : public ACE_Task_Base
+ * {
+ * // put here the good old ACE_Task code
+ * };
+ *
+ * When User (and legacy code) write ACE_Task<ACE_MT_SYNCH>, specialized ACE_Task
+ * code is in action.
+ */
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE>
+class ACE_Task_Ex : public ACE_Task_Base
+{
+public:
+ friend class ACE_Module<ACE_SYNCH_USE>;
+ friend class ACE_Module_Type;
+ typedef ACE_Message_Queue_Ex<ACE_MESSAGE_TYPE, ACE_SYNCH_USE> MESSAGE_QUEUE_EX;
+
+ // = Initialization/termination methods.
+ /**
+ * Initialize a Task, supplying a thread manager and a message
+ * queue. If the user doesn't supply a ACE_Message_Queue pointer
+ * then we'll allocate one dynamically. Otherwise, we'll use the
+ * one passed as a parameter.
+ */
+ ACE_Task_Ex (ACE_Thread_Manager *thr_mgr = 0,
+ MESSAGE_QUEUE_EX *mq = 0);
+
+ /// Destructor.
+ virtual ~ACE_Task_Ex (void);
+
+ /// Gets the message queue associated with this task.
+ MESSAGE_QUEUE_EX *msg_queue (void);
+
+ /// Sets the message queue associated with this task.
+ void msg_queue (MESSAGE_QUEUE_EX *);
+
+public: // Should be protected:
+ // = Message queue manipulation methods.
+
+ // = Enqueue and dequeue methods.
+
+ // For the following five method if <timeout> == 0, the caller will
+ // block until action is possible, else will wait until the
+ // <{absolute}> time specified in *<timeout> elapses). These calls
+ // will return, however, when queue is closed, deactivated, when a
+ // signal occurs, or if the time specified in timeout elapses, (in
+ // which case errno = EWOULDBLOCK).
+
+ /// Insert message into the message queue. Note that <timeout> uses
+ /// <{absolute}> time rather than <{relative}> time.
+ int putq (ACE_MESSAGE_TYPE *, ACE_Time_Value *timeout = 0);
+
+ /**
+ * Extract the first message from the queue (blocking). Note that
+ * <timeout> uses <{absolute}> time rather than <{relative}> time.
+ * Returns number of items in queue if the call succeeds or -1 otherwise.
+ */
+ int getq (ACE_MESSAGE_TYPE *&mb, ACE_Time_Value *timeout = 0);
+
+ /// Return a message to the queue. Note that <timeout> uses
+ /// <{absolute}> time rather than <{relative}> time.
+ int ungetq (ACE_MESSAGE_TYPE *, ACE_Time_Value *timeout = 0);
+
+ /**
+ * Turn the message around and send it back down the Stream. Note
+ * that <timeout> uses <{absolute}> time rather than <{relative}>
+ * time.
+ */
+ int reply (ACE_MESSAGE_TYPE *, ACE_Time_Value *timeout = 0);
+
+ /**
+ * Transfer message to the adjacent ACE_Task_Ex in a ACE_Stream. Note
+ * that <timeout> uses <{absolute}> time rather than <{relative}>
+ * time.
+ */
+ int put_next (ACE_MESSAGE_TYPE *msg, ACE_Time_Value *timeout = 0);
+
+ /// Tests whether we can enqueue a message without blocking.
+ int can_put (ACE_MESSAGE_TYPE *);
+
+ // = ACE_Task utility routines to identify names et al.
+ /// Return the name of the enclosing Module if there's one associated
+ /// with the Task, else returns 0.
+ const ACE_TCHAR *name (void) const;
+
+ // = Pointers to next ACE_Task_Base (if ACE is part of an ACE_Stream).
+ /// Get next Task pointer.
+ ACE_Task<ACE_SYNCH_USE> *next (void);
+
+ /// Set next Task pointer.
+ void next (ACE_Task<ACE_SYNCH_USE> *);
+
+ /// Alwasy return 0. @todo FIXME
+ ACE_Task<ACE_SYNCH_USE> *sibling (void);
+
+ /// Return the Task's Module if there is one, else returns 0.
+ ACE_Module<ACE_SYNCH_USE> *module (void) const;
+
+ /**
+ * Flush the task's queue, i.e., free all of the enqueued
+ * message blocks and releases any threads blocked on the queue.
+ * Note that if this conflicts with the C++ iostream <flush>
+ * function, just rewrite the iostream function as ::<flush>.
+ */
+ int flush (u_long flag = ACE_Task_Flags::ACE_FLUSHALL);
+
+ // = Special routines corresponding to certain message types.
+
+ /// Manipulate watermarks.
+ void water_marks (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds, size_t);
+
+ /// Queue of messages on the ACE_Task..
+ MESSAGE_QUEUE_EX *msg_queue_;
+
+ /// 1 if should delete Message_Queue, 0 otherwise.
+ int delete_msg_queue_;
+
+ /// Back-pointer to the enclosing module.
+ ACE_Module<ACE_SYNCH_USE> *mod_;
+
+ /// Pointer to adjacent ACE_Task.
+ ACE_Task<ACE_SYNCH_USE> *next_;
+
+ /// Dump the state of an object.
+ void dump (void) const;
+
+ /// Declare the dynamic allocation hooks.
+ ACE_ALLOC_HOOK_DECLARE;
+
+private:
+
+ // = Disallow these operations.
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Task_Ex (const ACE_Task_Ex<ACE_SYNCH_USE, ACE_MESSAGE_TYPE> &))
+};
+
+#if defined (__ACE_INLINE__)
+#include "ace/Task_Ex_T.i"
+#endif /* __ACE_INLINE__ */
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "ace/Task_Ex_T.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("Task_Ex_T.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#include /**/ "ace/post.h"
+#endif /* ACE_TASK_EX_H */
diff --git a/ace/Task_Ex_T.i b/ace/Task_Ex_T.i
new file mode 100644
index 00000000000..fb68b7f874e
--- /dev/null
+++ b/ace/Task_Ex_T.i
@@ -0,0 +1,109 @@
+/* -*- C++ -*- */
+// $Id$
+
+// Task_Ex_T.i
+
+#include "ace/os_include/os_assert.h"
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE void
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::water_marks (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds cmd,
+ size_t wm_size)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::water_marks");
+ if (cmd == ACE_IO_Cntl_Msg::SET_LWM)
+ this->msg_queue_->low_water_mark (wm_size);
+ else /* cmd == ACE_IO_Cntl_Msg::SET_HWM */
+ this->msg_queue_->high_water_mark (wm_size);
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::getq (ACE_MESSAGE_TYPE *&mb, ACE_Time_Value *tv)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::getq");
+ return this->msg_queue_->dequeue_head (mb, tv);
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::can_put (ACE_MESSAGE_TYPE *)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::can_put");
+ assert (!"not implemented");
+ return -1;
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::putq (ACE_MESSAGE_TYPE *mb, ACE_Time_Value *tv)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::putq");
+ return this->msg_queue_->enqueue_tail (mb, tv);
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::ungetq (ACE_MESSAGE_TYPE *mb, ACE_Time_Value *tv)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::ungetq");
+ return this->msg_queue_->enqueue_head (mb, tv);
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::flush (u_long flag)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::flush");
+ if (ACE_BIT_ENABLED (flag, ACE_Task_Flags::ACE_FLUSHALL))
+ return this->msg_queue_ != 0 && this->msg_queue_->close ();
+ else
+ return -1; // Note, need to be more careful about what we free...
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE void
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::msg_queue (ACE_Message_Queue_Ex<ACE_MESSAGE_TYPE, ACE_SYNCH_USE> *mq)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::msg_queue");
+ if (this->delete_msg_queue_)
+ {
+ delete this->msg_queue_;
+ this->delete_msg_queue_ = 0;
+ }
+ this->msg_queue_ = mq;
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_Message_Queue_Ex<ACE_MESSAGE_TYPE, ACE_SYNCH_USE> *
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::msg_queue (void)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::msg_queue");
+ return this->msg_queue_;
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::reply (ACE_MESSAGE_TYPE *mb, ACE_Time_Value *tv)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::reply");
+ ACE_UNUSED_ARG (mb);
+ ACE_UNUSED_ARG (tv);
+ return -1 ; // this->sibling ()->put_next (mb, tv);
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE ACE_Task<ACE_SYNCH_USE> *
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::next (void)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::next");
+ return this->next_;
+}
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE void
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::next (ACE_Task<ACE_SYNCH_USE> *q)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::next");
+ this->next_ = q;
+}
+
+// Transfer msg to the next ACE_Task_Ex.
+
+template <ACE_SYNCH_DECL, class ACE_MESSAGE_TYPE> ACE_INLINE int
+ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::put_next (ACE_MESSAGE_TYPE *msg, ACE_Time_Value *tv)
+{
+ ACE_TRACE ("ACE_Task_Ex<ACE_SYNCH_USE,ACE_MESSAGE_TYPE>::put_next");
+ ACE_UNUSED_ARG (msg);
+ ACE_UNUSED_ARG (tv);
+ return -1; // this->next_ == 0 ? -1 : this->next_->put (msg, tv);
+}
diff --git a/ace/codecs.mpb b/ace/codecs.mpb
new file mode 100644
index 00000000000..c3cd0a12855
--- /dev/null
+++ b/ace/codecs.mpb
@@ -0,0 +1,12 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ace_codecs) {
+ macros += ACE_HAS_ACE_CODECS
+
+ Source_Files(ACE_COMPONENTS) {
+ Codecs {
+ Codecs.cpp
+ }
+ }
+}
diff --git a/ace/config-lite.h b/ace/config-lite.h
new file mode 100644
index 00000000000..96f57b55449
--- /dev/null
+++ b/ace/config-lite.h
@@ -0,0 +1,709 @@
+// -*- C++ -*-
+
+//==========================================================================
+/**
+ * @file config-lite.h
+ *
+ * $Id$
+ *
+ * @author (Originally in OS.h)Doug Schmidt <schmidt@cs.wustl.edu>
+ * @author Jesper S. M|ller<stophph@diku.dk>
+ * @author and a cast of thousands...
+ *
+ * This file contains the contents of the old config-all.h in order to
+ * avoid a circular dependency problem caused by some of the new
+ * includes added to config-all.h, e.g., OS_main.h.
+ */
+//==========================================================================
+
+#ifndef ACE_CONFIG_LITE_H
+#define ACE_CONFIG_LITE_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/config.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// ACE_HAS_TLI is used to decide whether to try any XTI/TLI functionality
+// so if it isn't set, set it. Capabilities and differences between
+// XTI and TLI favor XTI, but when deciding to do anything, as opposed to
+// ACE_NOTSUP_RETURN for example, ACE_HAS_TLI is the deciding factor.
+#if !defined (ACE_HAS_TLI)
+# if defined (ACE_HAS_XTI)
+# define ACE_HAS_TLI
+# endif /* ACE_HAS_XTI */
+#endif /* ACE_HAS_TLI */
+
+#define ACE_BITS_PER_ULONG (8 * sizeof (u_long))
+
+#if !defined (ACE_OSTREAM_TYPE)
+# if defined (ACE_LACKS_IOSTREAM_TOTALLY)
+# define ACE_OSTREAM_TYPE FILE
+# else /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# define ACE_OSTREAM_TYPE ostream
+# endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+#endif /* ! ACE_OSTREAM_TYPE */
+
+#if !defined (ACE_DEFAULT_LOG_STREAM)
+# if defined (ACE_LACKS_IOSTREAM_TOTALLY)
+# define ACE_DEFAULT_LOG_STREAM 0
+# else /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# define ACE_DEFAULT_LOG_STREAM (&cerr)
+# endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+#endif /* ! ACE_DEFAULT_LOG_STREAM */
+
+// These two are only for backward compatibility. You should avoid
+// using them if not necessary.
+# define ACE_SYNCH_1 ACE_SYNCH_DECL
+# define ACE_SYNCH_2 ACE_SYNCH_USE
+
+// For Win32 compatibility...
+# if !defined (ACE_WSOCK_VERSION)
+# define ACE_WSOCK_VERSION 0, 0
+# endif /* ACE_WSOCK_VERSION */
+
+# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+# define ACE_MT(X) X
+# if !defined (_REENTRANT)
+# define _REENTRANT
+# endif /* _REENTRANT */
+# else
+# define ACE_MT(X)
+# endif /* ACE_MT_SAFE */
+
+# if defined (ACE_HAS_USING_KEYWORD)
+# define ACE_USING using
+# else
+# define ACE_USING
+# endif /* ACE_HAS_USING_KEYWORD */
+
+# if defined (ACE_HAS_TYPENAME_KEYWORD)
+# define ACE_TYPENAME typename
+# else
+# define ACE_TYPENAME
+# endif /* ACE_HAS_TYPENAME_KEYWORD */
+
+# if defined (ACE_HAS_STD_TEMPLATE_SPECIALIZATION)
+# define ACE_TEMPLATE_SPECIALIZATION template<>
+# else
+# define ACE_TEMPLATE_SPECIALIZATION
+# endif /* ACE_HAS_STD_TEMPLATE_SPECIALIZATION */
+
+# if defined (ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION)
+# define ACE_TEMPLATE_METHOD_SPECIALIZATION template<>
+# else
+# define ACE_TEMPLATE_METHOD_SPECIALIZATION
+# endif /* ACE_HAS_STD_TEMPLATE_SPECIALIZATION */
+
+# if defined (ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION)
+# define ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
+# else
+# define ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION template<>
+# endif /* ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION */
+
+// =========================================================================
+// Perfect Multicast filting refers to RFC 3376, where a socket is only
+// delivered dgrams for groups joined even if it didn't bind the group
+// address. We turn this option off by default, although most OS's
+// except for Windows and Solaris probably lack perfect filtering.
+// =========================================================================
+
+# if !defined (ACE_LACKS_PERFECT_MULTICAST_FILTERING)
+# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 0
+# endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */
+
+// =========================================================================
+// Enable/Disable Features By Default
+// =========================================================================
+
+# if !defined (ACE_HAS_POSITION_INDEPENDENT_POINTERS)
+# define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
+# endif /* ACE_HAS_POSITION_INDEPENDENT_POINTERS */
+
+// =========================================================================
+// RCSID Macros
+// =========================================================================
+
+// By default, DO include RCS Id strings in object code.
+#if ! defined (ACE_USE_RCSID)
+# define ACE_USE_RCSID 1
+#endif /* #if ! defined (ACE_USE_RCSID) */
+
+#if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID != 0))
+# if ! defined (ACE_RCSID)
+
+ // This hack has the following purposes:
+ // 1. To define the RCS id string variable as a static char*, so
+ // that there won't be any duplicate extern symbols at link
+ // time.
+ // 2. To have a RCS id string variable with a unique name for each
+ // file.
+ // 3. To avoid warnings of the type "variable declared and never
+ // used".
+
+# define ACE_RCSID(path, file, id) \
+ static inline const char* get_rcsid_ ## path ## _ ## file (const char*) \
+ { \
+ return id ; \
+ } \
+ static const char* rcsid_ ## path ## _ ## file = \
+ get_rcsid_ ## path ## _ ## file ( rcsid_ ## path ## _ ## file ) ;
+
+# endif /* #if ! defined (ACE_RCSID) */
+#else
+
+ // RCS id strings are not wanted.
+# if defined (ACE_RCSID)
+# undef ACE_RCSID
+# endif /* #if defined (ACE_RCSID) */
+# define ACE_RCSID(path, file, id) /* noop */
+#endif /* #if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID != 0)) */
+
+// =========================================================================
+// INLINE macros
+//
+// These macros handle all the inlining of code via the .i or .inl files
+// =========================================================================
+
+#if defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE)
+# define ACE_NO_INLINE
+#endif /* defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE) */
+
+// ACE inlining has been explicitly disabled. Implement
+// internally within ACE by undefining __ACE_INLINE__.
+#if defined (ACE_NO_INLINE)
+# undef __ACE_INLINE__
+#endif /* ! ACE_NO_INLINE */
+
+#if defined (__ACE_INLINE__)
+# define ACE_INLINE inline
+# if !defined (ACE_HAS_INLINED_OSCALLS)
+# define ACE_HAS_INLINED_OSCALLS
+# endif /* !ACE_HAS_INLINED_OSCALLS */
+#else
+# define ACE_INLINE
+#endif /* __ACE_INLINE__ */
+
+# if !defined (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS)
+# define ACE_INLINE_FOR_GNUC ACE_INLINE
+# else
+# define ACE_INLINE_FOR_GNUC
+# endif /* ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS */
+
+// Some ACE classes always use inline functions to maintain high
+// performance, but some platforms have buggy inline function support.
+// In this case, we don't use inline with them.
+# if defined (ACE_LACKS_INLINE_FUNCTIONS)
+# if defined (ASYS_INLINE)
+# undef ASYS_INLINE
+# endif /* ASYS_INLINE */
+# define ASYS_INLINE
+# if defined (ACE_HAS_INLINED_OSCALLS)
+# undef ACE_HAS_INLINED_OSCALLS
+# endif /* ACE_HAS_INLINED_OSCALLS */
+# else
+# define ASYS_INLINE inline
+# endif /* ACE_LACKS_INLINE_FUNCTIONS */
+
+// =========================================================================
+// EXPLICIT macro
+// =========================================================================
+
+# if defined (ACE_HAS_EXPLICIT_KEYWORD)
+# define ACE_EXPLICIT explicit
+# else /* ! ACE_HAS_EXPLICIT_KEYWORD */
+# define ACE_EXPLICIT
+# endif /* ! ACE_HAS_EXPLICIT_KEYWORD */
+
+// =========================================================================
+// MUTABLE macro
+// =========================================================================
+
+# if defined (ACE_HAS_MUTABLE_KEYWORD)
+# define ACE_MUTABLE mutable
+# define ACE_CONST_WHEN_MUTABLE const // Addition #1
+# else /* ! ACE_HAS_MUTABLE_KEYWORD */
+# define ACE_MUTABLE
+# define ACE_CONST_WHEN_MUTABLE // Addition #2
+# endif /* ! ACE_HAS_MUTABLE_KEYWORD */
+
+// ============================================================================
+// EXPORT macros
+//
+// Since Win32 DLL's do not export all symbols by default, they must be
+// explicitly exported (which is done by *_Export macros).
+// ============================================================================
+
+// Win32 should have already defined the macros in config-win32-common.h
+#if !defined (ACE_HAS_CUSTOM_EXPORT_MACROS)
+# define ACE_Proper_Export_Flag
+# define ACE_Proper_Import_Flag
+# define ACE_EXPORT_SINGLETON_DECLARATION(T)
+# define ACE_IMPORT_SINGLETON_DECLARATION(T)
+# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACE_HAS_CUSTOM_EXPORT_MACROS */
+
+// This is a whim of mine -- that instead of annotating a class with
+// ACE_Export in its declaration, we make the declaration near the TOP
+// of the file with ACE_DECLARE_EXPORT.
+// TS = type specifier (e.g., class, struct, int, etc.)
+// ID = identifier
+// So, how do you use it? Most of the time, just use ...
+// ACE_DECLARE_EXPORT(class, someobject);
+// If there are global functions to be exported, then use ...
+// ACE_DECLARE_EXPORT(void, globalfunction) (int, ...);
+// Someday, when template libraries are supported, we made need ...
+// ACE_DECLARE_EXPORT(template class, sometemplate) <class TYPE, class LOCK>;
+# define ACE_DECLARE_EXPORT(TS,ID) TS ACE_Export ID
+
+// ============================================================================
+// Cast macros
+//
+// These macros are used to choose between the old cast style and the new
+// *_cast<> operators
+// ============================================================================
+
+# if defined (ACE_HAS_ANSI_CASTS)
+
+# define ACE_sap_any_cast(TYPE) reinterpret_cast<TYPE> (const_cast<ACE_Addr &> (ACE_Addr::sap_any))
+
+# define ACE_static_cast(TYPE, EXPR) static_cast<TYPE> (EXPR)
+# define ACE_static_cast_1_ptr(TYPE, T1, EXPR) static_cast<TYPE<T1> *> (EXPR)
+# define ACE_static_cast_2_ptr(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> *> (EXPR)
+# define ACE_static_cast_3_ptr(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> *> (EXPR)
+# define ACE_static_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+# define ACE_static_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+# define ACE_static_cast_1_ref(TYPE, T1, EXPR) static_cast<TYPE<T1> &> (EXPR)
+# define ACE_static_cast_2_ref(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> &> (EXPR)
+# define ACE_static_cast_3_ref(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> &> (EXPR)
+# define ACE_static_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+# define ACE_static_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+
+# define ACE_const_cast(TYPE, EXPR) const_cast<TYPE> (EXPR)
+# define ACE_const_cast_1_ptr(TYPE, T1, EXPR) const_cast<TYPE<T1> *> (EXPR)
+# define ACE_const_cast_2_ptr(TYPE, T1, T2, EXPR) const_cast<TYPE<T1, T2> *> (EXPR)
+# define ACE_const_cast_3_ptr(TYPE, T1, T2, T3, EXPR) const_cast<TYPE<T1, T2, T3> *> (EXPR)
+# define ACE_const_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) const_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+# define ACE_const_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) const_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+# define ACE_const_cast_1_ref(TYPE, T1, EXPR) const_cast<TYPE<T1> &> (EXPR)
+# define ACE_const_cast_2_ref(TYPE, T1, T2, EXPR) const_cast<TYPE<T1, T2> &> (EXPR)
+# define ACE_const_cast_3_ref(TYPE, T1, T2, T3, EXPR) const_cast<TYPE<T1, T2, T3> &> (EXPR)
+# define ACE_const_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) const_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+# define ACE_const_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) const_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+
+# define ACE_reinterpret_cast(TYPE, EXPR) reinterpret_cast<TYPE> (EXPR)
+# define ACE_reinterpret_cast_1_ptr(TYPE, T1, EXPR) reinterpret_cast<TYPE<T1> *> (EXPR)
+# define ACE_reinterpret_cast_2_ptr(TYPE, T1, T2, EXPR) reinterpret_cast<TYPE<T1, T2> *> (EXPR)
+# define ACE_reinterpret_cast_3_ptr(TYPE, T1, T2, T3, EXPR) reinterpret_cast<TYPE<T1, T2, T3> *> (EXPR)
+# define ACE_reinterpret_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+# define ACE_reinterpret_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+# define ACE_reinterpret_cast_1_ref(TYPE, T1, EXPR) reinterpret_cast<TYPE<T1> &> (EXPR)
+# define ACE_reinterpret_cast_2_ref(TYPE, T1, T2, EXPR) reinterpret_cast<TYPE<T1, T2> &> (EXPR)
+# define ACE_reinterpret_cast_3_ref(TYPE, T1, T2, T3, EXPR) reinterpret_cast<TYPE<T1, T2, T3> &> (EXPR)
+# define ACE_reinterpret_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+# define ACE_reinterpret_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+
+# if defined (ACE_LACKS_RTTI)
+# define ACE_dynamic_cast(TYPE, EXPR) static_cast<TYPE> (EXPR)
+# define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) static_cast<TYPE<T1> *> (EXPR)
+# define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> *> (EXPR)
+# define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> *> (EXPR)
+# define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+# define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+# define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) static_cast<TYPE<T1> &> (EXPR)
+# define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> &> (EXPR)
+# define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> &> (EXPR)
+# define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+# define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+# else /* ! ACE_LACKS_RTTI */
+# define ACE_dynamic_cast(TYPE, EXPR) dynamic_cast<TYPE> (EXPR)
+# define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) dynamic_cast<TYPE<T1> *> (EXPR)
+# define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) dynamic_cast<TYPE<T1, T2> *> (EXPR)
+# define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) dynamic_cast<TYPE<T1, T2, T3> *> (EXPR)
+# define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+# define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+# define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) dynamic_cast<TYPE<T1> &> (EXPR)
+# define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) dynamic_cast<TYPE<T1, T2> &> (EXPR)
+# define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) dynamic_cast<TYPE<T1, T2, T3> &> (EXPR)
+# define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+# define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+# endif /* ! ACE_LACKS_RTTI */
+
+# else
+
+# define ACE_sap_any_cast(TYPE) ((TYPE) (ACE_Addr::sap_any))
+
+# define ACE_static_cast(TYPE, EXPR) ((TYPE) (EXPR))
+# define ACE_static_cast_1_ptr(TYPE, T1, EXPR) ((TYPE<T1> *) (EXPR))
+# define ACE_static_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> *) (EXPR))
+# define ACE_static_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> *) (EXPR))
+# define ACE_static_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> *) (EXPR))
+# define ACE_static_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> *) (EXPR))
+# define ACE_static_cast_1_ref(TYPE, T1, EXPR) ((TYPE<T1> &) (EXPR))
+# define ACE_static_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> &) (EXPR))
+# define ACE_static_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> &) (EXPR))
+# define ACE_static_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> &) (EXPR))
+# define ACE_static_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> &) (EXPR))
+
+# define ACE_const_cast(TYPE, EXPR) ((TYPE) (EXPR))
+# define ACE_const_cast_1_ptr(TYPE, T1, EXPR) ((TYPE<T1> *) (EXPR))
+# define ACE_const_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> *) (EXPR))
+# define ACE_const_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> *) (EXPR))
+# define ACE_const_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> *) (EXPR))
+# define ACE_const_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> *) (EXPR))
+# define ACE_const_cast_1_ref(TYPE, T1, EXPR) ((TYPE<T1> &) (EXPR))
+# define ACE_const_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> &) (EXPR))
+# define ACE_const_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> &) (EXPR))
+# define ACE_const_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> &) (EXPR))
+# define ACE_const_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> &) (EXPR))
+
+# define ACE_reinterpret_cast(TYPE, EXPR) ((TYPE) (EXPR))
+# define ACE_reinterpret_cast_1_ptr(TYPE, T1, EXPR) ((TYPE<T1> *) (EXPR))
+# define ACE_reinterpret_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> *) (EXPR))
+# define ACE_reinterpret_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> *) (EXPR))
+# define ACE_reinterpret_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> *) (EXPR))
+# define ACE_reinterpret_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> *) (EXPR))
+# define ACE_reinterpret_cast_1_ref(TYPE, T1, EXPR) ((TYPE<T1> &) (EXPR))
+# define ACE_reinterpret_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> &) (EXPR))
+# define ACE_reinterpret_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> &) (EXPR))
+# define ACE_reinterpret_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> &) (EXPR))
+# define ACE_reinterpret_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> &) (EXPR))
+
+# define ACE_dynamic_cast(TYPE, EXPR) ((TYPE) (EXPR))
+# define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) ((TYPE<T1> *) (EXPR))
+# define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> *) (EXPR))
+# define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> *) (EXPR))
+# define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> *) (EXPR))
+# define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> *) (EXPR))
+# define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) ((TYPE<T1> &) (EXPR))
+# define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) ((TYPE<T1, T2> &) (EXPR))
+# define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) ((TYPE<T1, T2, T3> &) (EXPR))
+# define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) ((TYPE<T1, T2, T3, T4> &) (EXPR))
+# define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) ((TYPE<T1, T2, T3, T4, T5> &) (EXPR))
+# endif /* ACE_HAS_ANSI_CASTS */
+
+# if !defined (ACE_CAST_CONST)
+ // Sun CC 4.2, for example, requires const in reinterpret casts of
+ // data members in const member functions. But, other compilers
+ // complain about the useless const. This keeps everyone happy.
+# if defined (__SUNPRO_CC)
+# define ACE_CAST_CONST const
+# else /* ! __SUNPRO_CC */
+# define ACE_CAST_CONST
+# endif /* ! __SUNPRO_CC */
+# endif /* ! ACE_CAST_CONST */
+
+// ============================================================================
+// UNICODE macros (to be added later)
+// ============================================================================
+
+// Get the unicode (i.e. ACE_TCHAR) defines
+# include "ace/ace_wchar.h"
+
+// ============================================================================
+// Compiler Silencing macros
+//
+// Some compilers complain about parameters that are not used. This macro
+// should keep them quiet.
+// ============================================================================
+
+#if defined (ghs) || defined (__GNUC__) || defined (__hpux) || defined (__sgi) || defined (__DECCXX) || defined (__KCC) || defined (__rational__) || defined (__USLC__) || defined (ACE_RM544)
+// Some compilers complain about "statement with no effect" with (a).
+// This eliminates the warnings, and no code is generated for the null
+// conditional statement. NOTE: that may only be true if -O is enabled,
+// such as with GreenHills (ghs) 1.8.8.
+# define ACE_UNUSED_ARG(a) do {/* null */} while (&a == 0)
+#else /* ghs || __GNUC__ || ..... */
+# define ACE_UNUSED_ARG(a) (a)
+#endif /* ghs || __GNUC__ || ..... */
+
+#if defined (__sgi) || defined (ghs) || defined (__DECCXX) || defined(__BORLANDC__) || defined (__KCC) || defined (ACE_RM544) || defined (__USLC__)
+# define ACE_NOTREACHED(a)
+#else /* __sgi || ghs || ..... */
+# define ACE_NOTREACHED(a) a
+#endif /* __sgi || ghs || ..... */
+
+// ============================================================================
+// ACE_ALLOC_HOOK* macros
+//
+// Macros to declare and define class-specific allocation operators.
+// ============================================================================
+
+# if defined (ACE_HAS_ALLOC_HOOKS)
+# define ACE_ALLOC_HOOK_DECLARE \
+ void *operator new (size_t bytes); \
+ void operator delete (void *ptr);
+
+ // Note that these are just place holders for now. Some day they
+ // may be be replaced by <ACE_Malloc>.
+# define ACE_ALLOC_HOOK_DEFINE(CLASS) \
+ void *CLASS::operator new (size_t bytes) { return ::new char[bytes]; } \
+ void CLASS::operator delete (void *ptr) { delete [] ((char *) ptr); }
+# else
+# define ACE_ALLOC_HOOK_DECLARE struct __Ace {} /* Just need a dummy... */
+# define ACE_ALLOC_HOOK_DEFINE(CLASS)
+# endif /* ACE_HAS_ALLOC_HOOKS */
+
+// ============================================================================
+// ACE_OSCALL_* macros
+//
+// The following two macros ensure that system calls are properly
+// restarted (if necessary) when interrupts occur.
+// ============================================================================
+
+#if defined (ACE_HAS_SIGNAL_SAFE_OS_CALLS)
+# define ACE_OSCALL(OP,TYPE,FAILVALUE,RESULT) \
+ do \
+ RESULT = (TYPE) OP; \
+ while (RESULT == FAILVALUE && errno == EINTR)
+# define ACE_OSCALL_RETURN(OP,TYPE,FAILVALUE) \
+ do { \
+ TYPE ace_result_; \
+ do \
+ ace_result_ = (TYPE) OP; \
+ while (ace_result_ == FAILVALUE && errno == EINTR); \
+ return ace_result_; \
+ } while (0)
+# elif defined (ACE_WIN32)
+# define ACE_OSCALL_RETURN(X,TYPE,FAILVALUE) \
+ do \
+ return (TYPE) X; \
+ while (0)
+# define ACE_OSCALL(X,TYPE,FAILVALUE,RESULT) \
+ do \
+ RESULT = (TYPE) X; \
+ while (0)
+# if defined (__BORLANDC__) && (__BORLANDC__ <= 0x550)
+# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
+ do { \
+ TYPE ace_result_; \
+ TYPE ace_local_result_ = (TYPE) X; \
+ ace_result_ = ace_local_result_; \
+ if (ace_result_ == FAILVALUE) \
+ ACE_OS::set_errno_to_last_error (); \
+ return ace_result_; \
+ } while (0)
+# else
+# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
+ do { \
+ TYPE ace_result_; \
+ ace_result_ = (TYPE) X; \
+ if (ace_result_ == FAILVALUE) \
+ ACE_OS::set_errno_to_last_error (); \
+ return ace_result_; \
+ } while (0)
+# endif /* defined (__BORLANDC__) && (__BORLANDC__ <= 0x550) */
+# define ACE_WIN32CALL(X,TYPE,FAILVALUE,RESULT) \
+ do { \
+ RESULT = (TYPE) X; \
+ if (RESULT == FAILVALUE) \
+ ACE_OS::set_errno_to_last_error (); \
+ } while (0)
+#else /* ACE_HAS_SIGNAL_SAFE_OS_CALLS */
+# define ACE_OSCALL_RETURN(OP,TYPE,FAILVALUE) do { TYPE ace_result_ = FAILVALUE; ace_result_ = ace_result_; return OP; } while (0)
+# define ACE_OSCALL(OP,TYPE,FAILVALUE,RESULT) do { RESULT = (TYPE) OP; } while (0)
+#endif /* ACE_HAS_SIGNAL_SAFE_OS_CALLS */
+
+// ============================================================================
+// at_exit declarations
+// ============================================================================
+
+// Marker for cleanup, used by ACE_Exit_Info.
+extern int ace_exit_hook_marker;
+
+// For use by <ACE_OS::exit>.
+extern "C"
+{
+ typedef void (*ACE_EXIT_HOOK) (void);
+}
+
+// Signature for registering a cleanup function that is used by the
+// <ACE_Object_Manager> and the <ACE_Thread_Manager>.
+# if defined (ACE_HAS_SIG_C_FUNC)
+extern "C" {
+# endif /* ACE_HAS_SIG_C_FUNC */
+typedef void (*ACE_CLEANUP_FUNC)(void *object, void *param) /* throw () */;
+# if defined (ACE_HAS_SIG_C_FUNC)
+}
+# endif /* ACE_HAS_SIG_C_FUNC */
+
+// ============================================================================
+// log_msg declarations
+// ============================================================================
+
+# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+typedef int (*ACE_SEH_EXCEPT_HANDLER)(void *);
+// Prototype of win32 structured exception handler functions.
+// They are used to get the exception handling expression or
+// as exception handlers.
+# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+
+class ACE_OS_Thread_Descriptor;
+class ACE_OS_Log_Msg_Attributes;
+typedef void (*ACE_INIT_LOG_MSG_HOOK) (ACE_OS_Log_Msg_Attributes &attr
+# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ , ACE_SEH_EXCEPT_HANDLER selector
+ , ACE_SEH_EXCEPT_HANDLER handler
+# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+ );
+typedef void (*ACE_INHERIT_LOG_MSG_HOOK) (ACE_OS_Thread_Descriptor*,
+ ACE_OS_Log_Msg_Attributes &);
+
+typedef void (*ACE_CLOSE_LOG_MSG_HOOK) (void);
+
+typedef void (*ACE_SYNC_LOG_MSG_HOOK) (const ACE_TCHAR *prog_name);
+
+typedef ACE_OS_Thread_Descriptor *(*ACE_THR_DESC_LOG_MSG_HOOK) (void);
+
+// ============================================================================
+// Fundamental types
+// ============================================================================
+
+#if defined (ACE_WIN32)
+
+typedef HANDLE ACE_HANDLE;
+typedef SOCKET ACE_SOCKET;
+# define ACE_INVALID_HANDLE INVALID_HANDLE_VALUE
+
+#else /* ! ACE_WIN32 */
+
+typedef int ACE_HANDLE;
+typedef ACE_HANDLE ACE_SOCKET;
+# define ACE_INVALID_HANDLE -1
+
+#endif /* ACE_WIN32 */
+
+// Define the type that's returned from the platform's native thread
+// functions. ACE_THR_FUNC_RETURN is the type defined as the thread
+// function's return type, except when the thread function doesn't return
+// anything (pSoS). The ACE_THR_FUNC_NO_RETURN_VAL macro is used to
+// indicate that the actual thread function doesn't return anything. The
+// rest of ACE uses a real type so there's no a ton of conditional code
+// everywhere to deal with the possibility of no return type.
+# if defined (VXWORKS)
+//typedef FUNCPTR ACE_THR_FUNC; // where typedef int (*FUNCPTR) (...)
+# include /**/ <taskLib.h>
+typedef int ACE_THR_FUNC_RETURN;
+# elif defined (ACE_PSOS)
+typedef int ACE_THR_FUNC_RETURN;
+// pSOS task functions don't really return anything... this just makes it
+// easier to deal with declaring variables internally in ACE.
+# elif defined (ACE_WIN32)
+typedef DWORD ACE_THR_FUNC_RETURN;
+# else
+typedef void* ACE_THR_FUNC_RETURN;
+# endif /* VXWORKS */
+typedef ACE_THR_FUNC_RETURN (*ACE_THR_FUNC)(void *);
+
+extern "C" {
+typedef void (*ACE_THR_C_DEST)(void *);
+}
+typedef void (*ACE_THR_DEST)(void *);
+
+// Now some platforms have special requirements...
+# if defined (VXWORKS)
+typedef FUNCPTR ACE_THR_FUNC_INTERNAL; // where typedef int (*FUNCPTR) (...)
+# elif defined (ACE_PSOS)
+typedef void (*ACE_THR_FUNC_INTERNAL)(void *);
+# else
+typedef ACE_THR_FUNC ACE_THR_FUNC_INTERNAL;
+# endif /* VXWORKS */
+
+extern "C"
+{
+# if defined (VXWORKS)
+typedef FUNCPTR ACE_THR_C_FUNC; // where typedef int (*FUNCPTR) (...)
+# elif defined (ACE_PSOS)
+// needed to handle task entry point type inconsistencies in pSOS+
+typedef void (*PSOS_TASK_ENTRY_POINT)();
+typedef void (*ACE_THR_C_FUNC)(void *);
+# else
+typedef ACE_THR_FUNC_RETURN (*ACE_THR_C_FUNC)(void *);
+# endif /* VXWORKS */
+}
+
+// ============================================================================
+// Macros for controlling the lifetimes of dlls loaded by ACE_DLL--including
+// all dlls loaded via the ACE Service Config framework.
+//
+// Please don't change these values or add new ones wantonly, since we use
+// the ACE_BIT_ENABLED, etc..., macros to test them.
+// ============================================================================
+
+// Per-process policy that unloads dlls eagerly.
+#define ACE_DLL_UNLOAD_POLICY_PER_PROCESS 0
+// Apply policy on a per-dll basis. If the dll doesn't use one of the macros
+// below, the current per-process policy will be used.
+#define ACE_DLL_UNLOAD_POLICY_PER_DLL 1
+// Don't unload dll when refcount reaches zero, i.e., wait for either an
+// explicit unload request or program exit.
+#define ACE_DLL_UNLOAD_POLICY_LAZY 2
+// Default policy allows dlls to control their own destinies, but will
+// unload those that don't make a choice eagerly.
+#define ACE_DLL_UNLOAD_POLICY_DEFAULT ACE_DLL_UNLOAD_POLICY_PER_DLL
+
+// Add this macro you one of your cpp file in your dll. X should
+// be either ACE_DLL_UNLOAD_POLICY_DEFAULT or ACE_DLL_UNLOAD_POLICY_LAZY.
+#define ACE_DLL_UNLOAD_POLICY(CLS,X) \
+extern "C" u_long CLS##_Export _get_dll_unload_policy (void) \
+ { return X;}
+
+// ============================================================================
+// ACE_USES_CLASSIC_SVC_CONF macro
+// ============================================================================
+
+// For now, default is to use the classic svc.conf format.
+#if !defined (ACE_USES_CLASSIC_SVC_CONF)
+# if defined (ACE_HAS_CLASSIC_SVC_CONF) && defined (ACE_HAS_XML_SVC_CONF)
+# error You can only use either CLASSIC or XML svc.conf, not both.
+# endif
+// Change the ACE_HAS_XML_SVC_CONF to ACE_HAS_CLASSIC_SVC_CONF when
+// we switch ACE to use XML svc.conf as default format.
+# if defined (ACE_HAS_XML_SVC_CONF)
+# define ACE_USES_CLASSIC_SVC_CONF 0
+# else
+# define ACE_USES_CLASSIC_SVC_CONF 1
+# endif /* ACE_HAS_XML_SVC_CONF */
+#endif /* ACE_USES_CLASSIC_SVC_CONF */
+
+// ============================================================================
+// Default svc.conf file extension.
+// ============================================================================
+#if defined (ACE_USES_CLASSIC_SVC_CONF) && (ACE_USES_CLASSIC_SVC_CONF == 1)
+# define ACE_DEFAULT_SVC_CONF_EXT ".conf"
+#else
+# define ACE_DEFAULT_SVC_CONF_EXT ".conf.xml"
+#endif /* ACE_USES_CLASSIC_SVC_CONF && ACE_USES_CLASSIC_SVC_CONF == 1 */
+
+// ============================================================================
+// Miscellaneous macros
+// ============================================================================
+
+#if defined (ACE_USES_EXPLICIT_STD_NAMESPACE)
+# define ACE_STD_NAMESPACE std
+#else
+# define ACE_STD_NAMESPACE
+#endif
+
+// empty ACE_OS namespace to help identify compiler errors more easily.
+namespace ACE_OS {}
+#if !defined (ACE_OS_String)
+# define ACE_OS_String ACE_OS
+#endif /* ACE_OS_String */
+#if !defined (ACE_OS_Memory)
+# define ACE_OS_Memory ACE_OS
+#endif /* ACE_OS_Memory */
+#if !defined (ACE_OS_Dirent)
+# define ACE_OS_Dirent ACE_OS
+#endif /* ACE_OS_Dirent */
+#if !defined (ACE_OS_TLI)
+# define ACE_OS_TLI ACE_OS
+#endif /* ACE_OS_TLI */
+
+#include /**/ "ace/post.h"
+
+#endif /* ACE_CONFIG_LITE_H */
diff --git a/ace/config-macosx-panther.h b/ace/config-macosx-panther.h
new file mode 100644
index 00000000000..e4bc6a5ec16
--- /dev/null
+++ b/ace/config-macosx-panther.h
@@ -0,0 +1,206 @@
+/* -*- C++ -*- */
+// $Id$
+
+// This configuration file is designed to work with the MacOS X operating system.
+
+#ifndef ACE_CONFIG_MACOSX_H
+#define ACE_CONFIG_MACOSX_H
+
+#if ! defined (__ACE_INLINE__)
+#define __ACE_INLINE__
+#endif /* ! __ACE_INLINE__ */
+
+#if defined (__GNUG__)
+# include "ace/config-g++-common.h"
+#endif /* __GNUG__ */
+
+#undef ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+
+#define ACE_SIZE_T_FORMAT_SPECIFIER ACE_LIB_TEXT ("%lu")
+
+#if defined (ACE_HAS_PENTIUM)
+# undef ACE_HAS_PENTIUM
+#endif /* ACE_HAS_PENTIUM */
+
+#if !defined (_THREAD_SAFE)
+#define _THREAD_SAFE
+#endif /* _THREAD_SAFE */
+
+#define ACE_HAS_GPERF
+#define ACE_HAS_POSIX_SEM
+
+//#define ACE_HAS_SVR4_TLI
+
+#define ACE_HAS_MEMCHR
+
+#define ACE_LACKS_STROPTS_H
+#define ACE_LACKS_SYS_MSG_H
+#define ACE_LACKS_WCHAR_H
+
+//
+// Compiler/platform defines the sig_atomic_t typedef.
+#define ACE_HAS_SIG_ATOMIC_T
+
+// Compiler/platform supports SVR4 signal typedef
+#define ACE_HAS_SVR4_SIGNAL_T
+
+//Platform/compiler has the sigwait(2) prototype
+#define ACE_HAS_SIGWAIT
+
+//Platform supports sigsuspend()
+#define ACE_HAS_SIGSUSPEND
+
+//Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
+#define ACE_HAS_SIG_MACROS
+
+//#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
+#define ACE_LACKS_GETPGID
+#define ACE_LACKS_RWLOCK_T
+
+// Optimize ACE_Handle_Set for select().
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+
+#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+
+//?
+#define ACE_LACKS_SIGSET
+
+#define ACE_NEEDS_SCHED_H
+
+// Use of <malloc.h> is deprecated.
+#define ACE_LACKS_MALLOC_H
+
+#define ACE_HAS_ALT_CUSERID
+
+// Platform supports POSIX timers via struct timespec.
+#define ACE_HAS_POSIX_TIME
+#define ACE_HAS_UALARM
+
+// Platform defines struct timespec but not timespec_t
+#define ACE_LACKS_TIMESPEC_T
+
+#define ACE_LACKS_STRRECVFD
+
+#define ACE_HAS_SIN_LEN
+
+#define ACE_HAS_ANSI_CASTS
+
+// Platform supports System V IPC (most versions of UNIX, but not Win32)
+//#define ACE_HAS_SYSV_IPC
+
+// Compiler/platform contains the <sys/syscall.h> file.
+#define ACE_HAS_SYSCALL_H
+
+#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
+
+// Compiler/platform supports alloca().
+// Although ACE does have alloca() on this compiler/platform combination, it is
+// disabled by default since it can be dangerous. Uncomment the following line
+// if you ACE to use it.
+//#define ACE_HAS_ALLOCA
+
+// Compiler/platform correctly calls init()/fini() for shared libraries.
+#define ACE_HAS_AUTOMATIC_INIT_FINI
+
+// Explicit dynamic linking permits "lazy" symbol resolution
+//#define ACE_HAS_RTLD_LAZY_V
+
+// platform supports POSIX O_NONBLOCK semantics
+#define ACE_HAS_POSIX_NONBLOCK
+
+// platform supports IP multicast
+#define ACE_HAS_IP_MULTICAST
+#define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
+
+//platform supports snprintf ()
+#define ACE_HAS_SNPRINTF
+
+// Compiler/platform has the getrusage() system call.
+#define ACE_HAS_GETRUSAGE
+
+// Compiler supports the ssize_t typedef.
+#define ACE_HAS_SSIZE_T
+
+// Compiler/platform supports strerror ().
+#define ACE_HAS_STRERROR
+
+// Compiler/platform provides the sockio.h file.
+#define ACE_HAS_SOCKIO_H
+
+// Defines the page size of the system.
+#define ACE_HAS_GETPAGESIZE
+
+// Platform provides <sys/filio.h> header.
+#define ACE_HAS_SYS_FILIO_H
+
+// Compiler/platform supports SVR4 gettimeofday() prototype
+#define ACE_HAS_SUNOS4_GETTIMEOFDAY
+#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
+
+// Turns off the tracing feature.
+#if !defined (ACE_NTRACE)
+#define ACE_NTRACE 1
+#endif /* ACE_NTRACE */
+
+#define ACE_LACKS_SYSV_MSG_H
+#define ACE_LACKS_SYSV_MSQ_PROTOS
+#define ACE_HAS_MSG
+#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_NONCONST_MSGSND
+
+// Thread specific settings
+// Yes, we do have threads.
+#define ACE_HAS_THREADS
+// And they're even POSIX pthreads
+#if !defined (ACE_MT_SAFE)
+# define ACE_MT_SAFE 1
+#endif /* ! ACE_MT_SAFE */
+#define ACE_HAS_PTHREADS
+#define ACE_HAS_PTHREADS_STD
+#define ACE_HAS_PTHREAD_KILL
+#define ACE_HAS_PTHREAD_CANCEL
+#define ACE_HAS_PTHREAD_SIGMASK
+#define ACE_LACKS_THREAD_PROCESS_SCOPING
+#define ACE_HAS_THREAD_SPECIFIC_STORAGE
+#define ACE_HAS_DIRENT
+#define ACE_LACKS_SYSTIME_H
+#define ACE_LACKS_POLL_H
+#define ACE_LACKS_SEARCH_H
+
+#define ACE_LACKS_SETSCHED
+//#define ACE_HAS_RECURSIVE_MUTEXES
+
+#define ACE_HAS_TERM_IOCTLS
+#define TCGETS TIOCGETA
+#define TCSETS TIOCSETA
+
+#define ACE_HAS_SEMUN
+#define ACE_HAS_SIGINFO_T
+#define ACE_LACKS_SIGINFO_H
+#define ACE_HAS_UCONTEXT_T
+#define ACE_HAS_GETIFADDRS
+#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+#define ACE_LACKS_UNNAMED_SEMAPHORE
+
+// dlcompat package (not part of base Darwin) is needed for dlopen().
+// You may download directly from sourceforge and install or use fink
+// Fink installer puts libraries in /sw/lib and headers in /sw/include
+// In order to install dlcompat do the following:
+// - download fink from http://fink.sf.net
+// - type:
+// fink install dlcompat
+// as of Dec 2002, if you use fink you will need to uncomment the next line
+//#define ACE_NEEDS_DL_UNDERSCORE
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
+#define ACE_LD_SEARCH_PATH ACE_LIB_TEXT ("DYLD_LIBRARY_PATH")
+#define ACE_DLL_SUFFIX ACE_LIB_TEXT (".dylib")
+//#define ACE_LACKS_DLCLOSE
+
+// gperf seems to need this
+//#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+
+#if defined(__APPLE_CC__) && (__APPLE_CC__ < 1173)
+#error "Compiler must be upgraded, see http://developer.apple.com"
+#endif /* __APPLE_CC__ */
+
+#endif /* ACE_CONFIG_MACOSX_H */
diff --git a/ace/config-tandem-nsk-mips-v2.h b/ace/config-tandem-nsk-mips-v2.h
new file mode 100644
index 00000000000..d5ff0281c7a
--- /dev/null
+++ b/ace/config-tandem-nsk-mips-v2.h
@@ -0,0 +1,424 @@
+// $Id$
+#ifndef ACE_CONFIG_NSK_H
+#define ACE_CONFIG_NSK_H
+#include /**/ "ace/pre.h"
+
+
+// The following configuration file contains defines for Tandem NSK
+// platform, MIPS processor, version 2 C++ compiler.
+
+
+//=========================================================================
+// Tandem NSK specific parts
+//=========================================================================
+
+
+// Disable pthread renaming of symbols such as "open" and "close"
+#define _CMA_NOWRAPPERS_ 1
+
+// Get Handle_Set.cpp to generate correct bit operations for NSK platform
+#define ACE_TANDEM_NSK_BIT_ORDER
+
+// Use facilities provided by T1248 version of pthreads.
+// (If not defined, will use old version of pthreads.)
+#define ACE_TANDEM_T1248_PTHREADS
+
+// Use all available T1248 thread aware wrapper functions for providing
+// non-blocking I/O.
+//#define ACE_TANDEM_T1248_PTHREADS_ALL_IO_WRAPPERS
+
+
+// Need this include here because some symbols defined by pthreads
+// (e.g. timespec_t) are needed before spthread.h is normally included
+// by ACE
+#ifdef ACE_TANDEM_T1248_PTHREADS
+#include <spthread.h>
+#else
+#include "pthread.h"
+#include "dce/cma_dispatch_coop.h"
+#endif
+
+// The following #defines are hacks to get around things
+// that seem to be missing or different in Tandem land
+#define NSIG 32 // missing from Signal.h
+ // note: on nsk TNS/R there is room in
+ // sigset_t for 128 signals but those
+ // above 31 are not valid.
+typedef long fd_mask; // should be in select.h but no such file
+#define NBBY 8 // must be consistent with value in sys/types.h
+#define NFDBITS (sizeof (fd_mask) * NBBY) /* bits per mask */
+#define MAXNAMLEN 248 // missing from dirent.h
+#define ERRMAX 4218 // from errno.h
+
+// Following seems to be missing from G06.20 version of standard
+// pthreads includes (it appeared in older version of standard pthreads)
+// (SCHED_FIFO (aka cma_c_sched_fifo) used in Dynamic_Priority_Test)
+#ifdef ACE_TANDEM_T1248_PTHREADS
+typedef enum CMA_T_SCHED_POLICY {
+ cma_c_sched_fifo = 0,
+ cma_c_sched_rr = 1,
+ cma_c_sched_throughput = 2,
+ cma_c_sched_background = 3,
+ cma_c_sched_ada_low = 4
+ } cma_t_sched_policy;
+#endif
+
+
+//=========================================================================
+// Platform specific parts
+//=========================================================================
+
+// Platform lacks getpwnam_r() methods (e.g., SGI 6.2).
+#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS
+
+// Platform/compiler lacks {get,set}rlimit() function
+#define ACE_LACKS_RLIMIT
+
+// The platform doesn't have mmap(2)
+#define ACE_LACKS_MMAP
+
+// Platform lacks streambuf "linebuffered ()". [C++ iostream]
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
+
+// Use native implementation of memchr.
+#define ACE_HAS_MEMCHR
+
+// Platform supports recvmsg and sendmsg
+#define ACE_HAS_MSG
+
+// Platform has ACE_HAS_4_4BSD_SENDMSG_RECVMSG but its cmsghdr
+// structure does not contain an 'unsigned char cmsg_data[0]' member.
+#define ACE_LACKS_CMSG_DATA_MEMBER
+
+// Platform defines ACE_HAS_MSG, but lacks msg_accrights{,len}.
+#define ACE_LACKS_MSG_ACCRIGHTS
+
+// Platform supports sigsuspend()
+#define ACE_HAS_SIGSUSPEND
+
+// Platform/compiler has the sigwait(2) prototype
+#define ACE_HAS_SIGWAIT
+
+// Compiler/platform defines the sig_atomic_t typedef
+#define ACE_HAS_SIG_ATOMIC_T
+
+// OS/compiler uses size_t * rather than int * for socket lengths
+#define ACE_HAS_SIZET_SOCKET_LEN
+
+// OS/compiler uses void * arg 4 setsockopt() rather than const char *
+#define ACE_HAS_VOIDPTR_SOCKOPT
+
+// The platform doesn't have mprotect(2)
+#define ACE_LACKS_MPROTECT
+
+// Platform lacks struct msgbuf
+#define ACE_LACKS_MSGBUF_T
+
+// Platform lacks msync()
+#define ACE_LACKS_MSYNC
+
+// Platform does not support reentrant netdb functions (getprotobyname_r,
+// getprotobynumber_r, gethostbyaddr_r, gethostbyname_r, getservbyname_r).
+#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS Platform does not support
+
+// Platform lacks madvise()
+#define ACE_LACKS_MADVISE
+
+// Platform lacks pri_t
+#define ACE_LACKS_PRI_T
+
+// Platform lacks a working sbrk()
+#define ACE_LACKS_SBRK
+
+// Platform doesn't have syscall() prototype
+#define ACE_LACKS_SYSCALL
+
+// Platform lacks the inet_aton() function.
+#define ACE_LACKS_INET_ATON
+
+// Compiler/platform has Dirent iterator functions
+#define ACE_HAS_DIRENT
+
+// Platform uses ACE_HAS_DIRENT but does not have readdir_r()
+#define ACE_LACKS_READDIR_R
+
+// Platform supports getpagesize() call (otherwise,
+// ACE_PAGE_SIZE must be defined)
+#define ACE_HAS_GETPAGESIZE
+
+// Platform supports IP multicast
+#define ACE_HAS_IP_MULTICAST
+
+// Platform's select() uses non-const timeval*
+#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+
+// Platform supports POSIX O_NONBLOCK semantics
+#define ACE_HAS_POSIX_NONBLOCK
+
+// Platform lacks named POSIX semaphores
+#define ACE_LACKS_NAMED_POSIX_SEM
+
+// Platform has support for multi-byte character support compliant
+// with the XPG4 Worldwide Portability Interface wide-character
+// classification.
+#define ACE_HAS_XPG4_MULTIBYTE_CHAR
+
+// Platform supports the POSIX regular expression library.
+// [Note Tandem NSK platform does have regular expresson support but it
+// does not follow the assumptions made by ACE. To use it would need
+// to make some ACE modifications.]
+//#define ACE_HAS_REGEX
+
+// Compiler/platform supports strerror ()
+#define ACE_HAS_STRERROR
+
+// Platform doesn't have truncate()
+#define ACE_LACKS_TRUNCATE
+
+// Platform lacks readers/writer locks.
+#define ACE_LACKS_RWLOCK_T
+
+// Compiler's 'new' throws exception on failure (ANSI C++ behavior).
+#define ACE_NEW_THROWS_EXCEPTIONS
+
+// Optimize ACE_Handle_Set::count_bits for select() operations (common
+// case)
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+
+// Platform lacks setreuid()
+#define ACE_LACKS_SETREUID
+
+// Platform lacks setregid()
+#define ACE_LACKS_SETREGID
+
+// Platforms/compiler lacks the sys_nerr variable
+#define ACE_LACKS_SYS_NERR
+
+// Compile using multi-thread libraries
+#define ACE_MT_SAFE 1
+
+
+
+// Platform supports System V IPC
+#define ACE_HAS_SYSV_IPC
+
+// Platform lacks the socketpair() call
+// [Needed due to failure of Pipe_Test. even though nsk platform
+// has socketpair(), Pipe.cpp tries to set socket buf size but this
+// is not allowed for AF_UNIX protocol on nsk.]
+#define ACE_LACKS_SOCKET_BUFSIZ
+
+// Platform lacks the socketpair() call
+#define ACE_LACKS_SOCKETPAIR
+
+//=========================================================================
+// Threads specific parts
+//=========================================================================
+
+// Platform supports threads
+#define ACE_HAS_THREADS
+
+// Platform supports POSIX Pthreads, of one form or another. This
+// macro says the platform has a pthreads variety - should also define
+// one of the below to say which one. Also may need some
+// ACE_HAS_... thing for extensions.
+#define ACE_HAS_PTHREADS
+
+// Platform's 'Pthreads' is .4a draft 4
+#ifndef ACE_TANDEM_T1248_PTHREADS
+# define ACE_HAS_PTHREADS_DRAFT4
+# define ACE_LACKS_CONST_TIMESPEC_PTR
+extern int cma_sigwait (sigset_t *);
+#endif
+
+// Platform supports POSIX.1c-1995 threads
+// (This is the final standard Pthreads).
+#ifdef ACE_TANDEM_T1248_PTHREADS
+#define ACE_HAS_PTHREADS_STD
+#endif
+
+// Compiler/platform has thread-specific storage
+#define ACE_HAS_THREAD_SPECIFIC_STORAGE
+
+// Platform has no implementation of pthread_condattr_setpshared(),
+// even though it supports pthreads!
+#define ACE_LACKS_CONDATTR_PSHARED
+
+// pthread_cond_timedwait does *not* reset the time argument when the
+// lock is acquired.
+#define ACE_LACKS_COND_TIMEDWAIT_RESET
+
+// Platform lacks pthread_attr_setsched()
+#define ACE_LACKS_SETSCHED
+
+// Platform has pthread_mutexattr_setkind_np().
+#define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP
+
+// Platform lacks pthread_mutexattr_setpshared().
+#define ACE_LACKS_MUTEXATTR_PSHARED
+
+// Platform lacks pthread_attr_setscope()
+#define ACE_LACKS_THREAD_PROCESS_SCOPING
+
+// Platform lacks pthread_attr_setstackaddr
+#define ACE_LACKS_THREAD_STACK_ADDR
+
+// Defining ACE_HAS_UCONTEXT_T since G06.21 version of spthreads has
+// a definition for it.
+#ifdef ACE_TANDEM_T1248_PTHREADS
+#define ACE_HAS_UCONTEXT_T
+#endif
+
+//=========================================================================
+// Include file characteristics
+//=========================================================================
+
+// Compiler/platform contains the <sys/syscall.h> file.
+#define ACE_HAS_SYSCALL_H
+
+// Platform lacks malloc.h
+#define ACE_LACKS_MALLOC_H
+
+// <time.h> doesn't automatically #include /**/ <sys/time.h>
+#define ACE_LACKS_SYSTIME_H
+
+// Platform lacks the siginfo.h include file
+#define ACE_LACKS_SIGINFO_H
+
+// Platform doesn't define struct strrecvfd.
+#define ACE_LACKS_STRRECVFD
+
+// Platform lacks the ucontext.h file
+#define ACE_LACKS_UCONTEXT_H
+
+// Prototypes for both signal() and struct sigaction are consistent.
+#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
+
+// Platform lacks POSIX prototypes for certain System V functions like
+// shared memory and message queues.
+#define ACE_LACKS_SOME_POSIX_PROTOTYPES
+
+// Platform supports the POSIX struct timespec type
+#define ACE_HAS_POSIX_TIME
+
+// Platform/compiler supports timezone * as second parameter to gettimeofday()
+#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
+
+// Platform has <strings.h> (which contains bzero() prototype)
+#define ACE_HAS_STRINGS 1
+
+
+// OS/compiler omits the const from the iovec parameter in the
+// writev() prototype.
+#define ACE_HAS_BROKEN_WRITEV
+
+// Platform lacks <stdint.h>
+#define ACE_LACKS_STDINT_H
+
+// Platform lacks <inttypes.h>
+#define ACE_LACKS_INTTYPES_H
+
+// Platform lacks <sys/select.h>
+#define ACE_LACKS_SYS_SELECT_H
+
+// Platform lacks <dlfcn.h>
+#define ACE_LACKS_DLFCN_H
+
+// Platform lacks <semaphore.h>
+#define ACE_LACKS_SEMAPHORE_H
+
+// Platform lacks <poll.h>
+#define ACE_LACKS_POLL_H
+
+//=========================================================================
+// Compiler specific parts
+//=========================================================================
+
+// Platform supports new C++ style casts (dynamic_cast, static_cast,
+// reinterpret_cast and const_cast)
+#define ACE_HAS_ANSI_CASTS
+
+// Compiler supports C++ exception handling
+#define ACE_HAS_EXCEPTIONS
+
+// Compiler/platform has correctly prototyped header files
+#define ACE_HAS_CPLUSPLUS_HEADERS
+
+// Compiler supports mutable.
+#define ACE_HAS_MUTABLE_KEYWORD
+
+// Compiler/platform does not support the unsigned long long datatype.
+#define ACE_LACKS_LONGLONG_T
+
+// Compiler supports the ssize_t typedef
+#define ACE_HAS_SSIZE_T
+
+// Platform/compiler supports Standard C++ Library
+#define ACE_HAS_STANDARD_CPP_LIBRARY 0
+
+// Compiler support explicit constructors (for type conversions).
+#define ACE_HAS_EXPLICIT_KEYWORD
+
+// Compiler uses the template<> syntax
+#define ACE_HAS_STD_TEMPLATE_SPECIALIZATION
+#define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION
+#define ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
+
+// Compiler's template mechanism must see source code (i.e.,
+// .cpp files).
+#define ACE_TEMPLATES_REQUIRE_SOURCE
+
+// Compiler implements template specialization
+#define ACE_HAS_TEMPLATE_SPECIALIZATION
+
+// Compiler implements templates that support typedefs inside
+// of classes used as formal arguments to a template class.
+#define ACE_HAS_TEMPLATE_TYPEDEFS
+
+// Platform/Compiler supports a String class
+//#define ACE_HAS_STRING_CLASS
+//# define ACE_HAS_STDCPP_STL_INCLUDES
+
+// Platform has its standard c++ library in the namespace std.
+#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+
+// Compiler doesn't support static data member templates
+#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+
+// Platform lacks "signed char" type (broken!)
+// Following will not be needed if use standard c library (G06.20 and later)
+#define ACE_LACKS_SIGNED_CHAR
+
+//=========================================================================
+// Build options
+//=========================================================================
+
+// Use in-line functions by default
+//#if ! defined (__ACE_INLINE__)
+//# define __ACE_INLINE__
+//#endif /* ! __ACE_INLINE__ */
+
+// Disable the inclusion of RCS ids in the generated code.
+#define ACE_USE_RCSID 0
+
+// Turns off the tracing feature.
+// Setting ACE_NTRACE to 1 disables tracing. Any other value (or if
+// ACE_TRACE is not defined) enables tracing.
+#if !defined (ACE_NTRACE)
+#define ACE_NTRACE 1
+#endif /* ACE_NTRACE */
+
+// For debugging problems in os calls (but this doesn't work too well
+// since output is not interleaved properly with output from ACE_TRACE
+//# define ACE_OS_TRACE(X) ::printf(X)
+
+// Uncomment the following if timed message blocks are needed (e.g.
+// for Dynamic_Priority_Test. Otherwise leave this disabled because
+// enabling it adds overhead to message blocks and timed message blocks
+// are "rarely used."
+//#define ACE_HAS_TIMED_MESSAGE_BLOCKS
+
+// Uncomment the following if tokens library is needed.
+//#define ACE_HAS_TOKENS_LIBRARY
+
+#endif /* ACE_CONFIG_NSK_H */
diff --git a/ace/filecache.mpb b/ace/filecache.mpb
new file mode 100644
index 00000000000..a1b94c41fef
--- /dev/null
+++ b/ace/filecache.mpb
@@ -0,0 +1,10 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ace_filecache) {
+ Source_Files(ACE_COMPONENTS) {
+ Filecache {
+ Filecache.cpp
+ }
+ }
+}
diff --git a/ace/other.mpb b/ace/other.mpb
new file mode 100644
index 00000000000..b606968966f
--- /dev/null
+++ b/ace/other.mpb
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ace_other) {
+ macros += ACE_HAS_ACE_OTHER
+
+ Source_Files(ACE_COMPONENTS) {
+ Other {
+ Local_Name_Space.cpp
+ Name_Proxy.cpp
+ Name_Request_Reply.cpp
+ Name_Space.cpp
+ Naming_Context.cpp
+ Registry_Name_Space.cpp
+ Remote_Name_Space.cpp
+ NT_Service.cpp
+ }
+ }
+}
diff --git a/ace/svcconf.mpb b/ace/svcconf.mpb
new file mode 100644
index 00000000000..5f5ba112e86
--- /dev/null
+++ b/ace/svcconf.mpb
@@ -0,0 +1,26 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ace_svcconf) {
+ macros += ACE_HAS_ACE_SVCCONF
+
+ Source_Files(ACE_COMPONENTS) {
+ Svcconf {
+ DLL.cpp
+ DLL_Manager.cpp
+ Dynamic_Service_Base.cpp
+ Parse_Node.cpp
+ Service_Config.cpp
+ Service_Manager.cpp
+ Service_Object.cpp
+ Service_Repository.cpp
+ Service_Types.cpp
+ Service_Templates.cpp
+ Shared_Object.cpp
+ Svc_Conf_l.cpp
+ Svc_Conf_y.cpp
+ Svc_Conf_Lexer_Guard.cpp
+ XML_Svc_Conf.cpp
+ }
+ }
+}
diff --git a/ace/token.mpb b/ace/token.mpb
new file mode 100644
index 00000000000..7795ec54328
--- /dev/null
+++ b/ace/token.mpb
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ace_token) {
+ macros += ACE_HAS_ACE_TOKEN
+
+ Source_Files(ACE_COMPONENTS) {
+ Token {
+ Local_Tokens.cpp
+ Remote_Tokens.cpp
+ Token_Collection.cpp
+ Token_Invariants.cpp
+ Token_Manager.cpp
+ Token_Request_Reply.cpp
+ }
+ }
+}
diff --git a/ace/uuid.mpb b/ace/uuid.mpb
new file mode 100644
index 00000000000..daec7327188
--- /dev/null
+++ b/ace/uuid.mpb
@@ -0,0 +1,12 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ace_uuid) {
+ macros += ACE_HAS_ACE_UUID
+
+ Source_Files(ACE_COMPONENTS) {
+ UUID {
+ UUID.cpp
+ }
+ }
+}
diff --git a/apps/JAWS3/bench/mkfiles.cpp b/apps/JAWS3/bench/mkfiles.cpp
new file mode 100644
index 00000000000..9bceb281e92
--- /dev/null
+++ b/apps/JAWS3/bench/mkfiles.cpp
@@ -0,0 +1,156 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Get_Opt.h"
+
+#include <math.h>
+
+static float gammln (float xx);
+static float poidev (float xm);
+
+int main (int argc, char *argv[])
+{
+ ACE_Get_Opt options (argc, argv, "m:s:x:n:");
+ // m -- median file size in kB
+ // x -- maximum file size in kB
+ // n -- number of files
+
+ long median = 8;
+ long maximum = 1024;
+ long number = 1000;
+
+ int c;
+ while ((c = options ()) != -1)
+ {
+ switch (c)
+ {
+ case 'm':
+ median = ACE_OS::atoi (options.optarg);
+ break;
+ case 'x':
+ maximum = ACE_OS::atoi (options.optarg);
+ break;
+ case 'n':
+ number = ACE_OS::atoi (options.optarg);
+ break;
+ default:
+ break;
+ }
+ }
+
+ char filename[1024];
+ const char *seventyfive_bytes = "\
+01010101010101010101010101010101010101010101010101010101010101010101010101\n\
+";
+
+ int seen_max = 0;
+
+ long i;
+ for (i = 0; i < number; i++)
+ {
+ long size = 0;
+ float p = ::floor (::pow (2, poidev (::log (2 * median)/::log (2)) - 1));
+ if (p > maximum)
+ p = maximum;
+ p *= 1024;
+ if (p < 1.0)
+ p = 1.0;
+ size = (long) p;
+ if (i == (number - 1))
+ if (! seen_max)
+ size = maximum * 1024;
+ else
+ seen_max = (size == (maximum * 1024));
+
+ ::sprintf (filename, "file%011ld.html", i);
+ FILE *fp = ::fopen (filename, "w+b");
+ while (size > 75)
+ {
+ fprintf (fp, "%s", seventyfive_bytes);
+ size -= 75;
+ }
+ if (size > 15)
+ {
+ fprintf (fp, "%0*.0f\n", (int) (size - 1), p);
+ }
+ else
+ {
+ fprintf (fp, "%015.0f\n", p + 16 - size);
+ }
+ fclose (fp);
+ }
+
+ return 0;
+}
+
+static float
+gammln (float xx)
+{
+ double x, y, tmp, ser;
+ static const double cof[6] = { 76.18009172947146,
+ -86.50532032941677,
+ 24.01409824083091,
+ -1.231739572450155,
+ 0.1208650973866179e-2,
+ -0.5395239384953e-5 };
+ int j;
+
+ y = x = xx;
+ tmp = x + 5.5;
+ tmp -= (x+0.5) * ::log (tmp);
+
+ ser = 1.000000000190015;
+ for (j = 0; j < 6; j++)
+ ser += cof[j]/++y;
+
+ return -tmp + ::log (2.5066282746310005 * ser / x);
+}
+
+static float
+poidev (float xm)
+{
+ static const double PI = 3.141592654;
+ static float sq, alxm, g, oldm = -1.0;
+ float em, t, y, fem;
+
+ if (xm < 2.0)
+ {
+ if (xm != oldm)
+ {
+ oldm = xm;
+ g = ::exp (-xm);
+ }
+ em = -1.0;
+ t = 1.0;
+ do
+ {
+ ++em;
+ t *= (1.0 + ::rand ())/RAND_MAX;
+ }
+ while (t > g);
+ }
+ else
+ {
+ if (xm != oldm)
+ {
+ oldm = xm;
+ sq = ::sqrt (2.0 + xm);
+ alxm = log (xm);
+ g = xm * alxm - gammln (xm + 1.0);
+ }
+ do
+ {
+ do
+ {
+ y = ::tan (PI * (1.0 + ::rand ())/RAND_MAX);
+ em = sq * y + xm;
+ }
+ while (em < 0.0);
+ fem = ::floor (em);
+ t = 0.9 * (1.0 + y * y) * ::exp (fem * alxm - gammln (fem + 1.0) - g);
+ }
+ while ((1.0 + ::rand ())/RAND_MAX > t);
+ }
+
+ return em;
+}
diff --git a/apps/JAWS3/bench/rqfiles.cpp b/apps/JAWS3/bench/rqfiles.cpp
new file mode 100644
index 00000000000..d4a77a41ae1
--- /dev/null
+++ b/apps/JAWS3/bench/rqfiles.cpp
@@ -0,0 +1,271 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Get_Opt.h"
+#include "ace/Svc_Handler.h"
+#include "ace/Reactor.h"
+#include "ace/Select_Reactor.h"
+#include "ace/Connector.h"
+#include "ace/SOCK_Connector.h"
+
+#include <math.h>
+
+static char **requests;
+static int number_of_urls;
+static int number_of_outstanding_requests;
+
+class HTTP_Sink_Svc_Handler
+ : public ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+
+ int open (void *)
+ {
+ ACE_Reactor::instance ()
+ ->register_handler (this, ACE_Event_Handler::WRITE_MASK);
+ return 0;
+ }
+
+ int handle_input (ACE_HANDLE handle)
+ {
+ char buf[8 * 1024];
+ int result = this->peer ().recv (buf, sizeof (buf));
+ if (result <= 0)
+ {
+ ACE_Reactor::instance ()
+ ->cancel_wakeup (handle, ACE_Event_Handler::READ_MASK);
+
+ if (--number_of_outstanding_requests == 0)
+ ACE_Reactor::instance ()->end_event_loop ();
+
+ return -1;
+ }
+ return 0;
+ }
+
+ int handle_output (ACE_HANDLE handle)
+ {
+ int random_number;
+ random_number = (int) ((::rand () / (1.0 + RAND_MAX)) * number_of_urls);
+ const char *random_request = requests[random_number];
+ size_t random_request_length = ::strlen (random_request);
+ ssize_t result = 0;
+ result = this->peer ().send_n (random_request, random_request_length);
+ ACE_Reactor::instance ()
+ ->cancel_wakeup (handle, ACE_Event_Handler::WRITE_MASK);
+ if (result < 0)
+ return -1;
+ ACE_Reactor::instance ()
+ ->schedule_wakeup (handle, ACE_Event_Handler::READ_MASK);
+ return 0;
+ }
+
+};
+
+typedef ACE_Connector <HTTP_Sink_Svc_Handler, ACE_SOCK_CONNECTOR>
+ HTTP_Sink_Connector;
+
+
+class HTTP_Make_Request_Event_Handler
+ : public ACE_Event_Handler
+{
+public:
+
+ HTTP_Make_Request_Event_Handler (const ACE_Time_Value &request_rate,
+ int number_of_requests = -1,
+ const char *website = 0)
+ : number_of_requests_ (number_of_requests)
+ , addr_ (website ? website : "localhost:5432")
+ {
+ number_of_outstanding_requests = number_of_requests;
+ this->timer_id_
+ = ACE_Reactor::instance ()->schedule_timer (this, 0, 0, request_rate);
+ }
+
+ int handle_timeout (const ACE_Time_Value &, const void *)
+ {
+ if (this->number_of_requests_ > 0)
+ this->number_of_requests_--;
+
+ int tries = 0;
+ int result = 0;
+
+ do
+ {
+ HTTP_Sink_Svc_Handler *handler = 0;
+ result = this->connector_.connect (handler, this->addr_,
+ ACE_Synch_Options::asynch);
+ tries++;
+ }
+ while (result < 0 && tries < 100);
+
+ if (ACE_Reactor::instance ()->event_loop_done ())
+ this->number_of_requests_ = 0;
+
+ if (this->number_of_requests_ == 0 || result < 0)
+ ACE_Reactor::instance ()->cancel_timer (this->timer_id_);
+
+ if (result < 0)
+ {
+ ACE_Reactor::instance ()->end_event_loop ();
+ return -1;
+ }
+
+ return 0;
+ }
+
+ int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+ {
+ delete this;
+ return 0;
+ }
+
+private:
+
+ int number_of_requests_;
+ int number_of_outstanding_requests_;
+
+ HTTP_Sink_Connector connector_;
+ ACE_INET_Addr addr_;
+
+ long timer_id_;
+
+};
+
+class Signal_Handler
+ : public ACE_Event_Handler
+{
+public:
+
+ int handle_signal (int signo, siginfo_t *, ucontext_t *)
+ {
+ switch (signo)
+ {
+ case SIGINT:
+ ACE_Reactor::instance ()->end_event_loop ();
+ break;
+
+ default:
+ break;
+ }
+
+ return 0;
+ }
+
+};
+
+typedef ACE_Select_Reactor_Token_T<ACE_Noop_Token>
+ ACE_Select_Reactor_Noop_Token;
+typedef ACE_Select_Reactor_T<ACE_Select_Reactor_Noop_Token>
+ ACE_Select_NULL_LOCK_Reactor;
+
+int
+main (int argc, char *argv[])
+{
+ ACE_Select_NULL_LOCK_Reactor *select_reactor;
+ select_reactor = new ACE_Select_NULL_LOCK_Reactor;
+ ACE_Reactor::instance (new ACE_Reactor (select_reactor, 1), 1);
+
+ // Install signal handlers
+ Signal_Handler *signal_handler = new Signal_Handler;
+
+ ACE_Reactor::instance ()->register_handler (SIGINT, signal_handler);
+ ACE_OS::signal (SIGPIPE, SIG_IGN);
+
+ ACE_Get_Opt options (argc, argv, "f:r:n:w:");
+
+ // f -- file list
+ // r -- request rate in requests per second
+ // n -- number of requests to generate
+ // w -- website in form of hostname:port (e.g., www.yahoo.com:80)
+
+ char *filelist_name = 0;
+ double request_rate = 1.0;
+ char *website = 0;
+ int number_of_requests = 0;
+
+ int c;
+ while ((c = options ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ filelist_name = options.optarg;
+ break;
+ case 'r':
+ request_rate = ::atof (options.optarg);
+ if (request_rate == 0.0)
+ request_rate = 1.0;
+ break;
+ case 'n':
+ number_of_requests = ACE_OS::atoi (options.optarg);
+ break;
+ case 'w':
+ website = options.optarg;
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (filelist_name == 0)
+ ::abort ();
+
+ double rq_interval_sec;
+ double rq_interval_usec;
+ rq_interval_usec = 1000000 * ::modf (1/request_rate, &rq_interval_sec);
+ ACE_Time_Value tv ((long) rq_interval_sec, (long) rq_interval_usec);
+
+ // Scan file for number of lines.
+
+ FILE *fp = ::fopen (filelist_name, "r+b");
+ while ((c = ::fgetc (fp)) != EOF)
+ {
+ if (c == '\n')
+ number_of_urls++;
+ }
+ ::fclose (fp);
+
+ requests = (char **) ::malloc (number_of_urls * sizeof (char *));
+
+ // Read in the file list and create requests
+
+ int i = 0;
+ static char buf[BUFSIZ];
+ fp = ::fopen (filelist_name, "r+b");
+ while (::fgets (buf, sizeof (buf), fp) != NULL)
+ {
+ static char rq[BUFSIZ];
+ sprintf (rq, "GET /%s\r\n", buf);
+ requests[i++] = ::strdup (rq);
+ }
+ ::fclose (fp);
+
+ // Create a series of requests
+
+ HTTP_Make_Request_Event_Handler *eh;
+ eh = new HTTP_Make_Request_Event_Handler (tv, number_of_requests, website);
+
+ while (! ACE_Reactor::instance ()->event_loop_done ())
+ ACE_Reactor::instance ()->handle_events ();
+
+ // Cleanup
+
+ for (i = 0; i < number_of_urls; i++)
+ ::free (requests[i]);
+ ::free (requests);
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Connector <HTTP_Sink_Svc_Handler, ACE_SOCK_CONNECTOR>;
+template class ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+template class ACE_Svc_Tuple<HTTP_Sink_Svc_Handler>;
+template class ACE_Map_Iterator_Base<int, ACE_Svc_Tuple<HTTP_Sink_Svc_Handler> *, ACE_SYNCH_RW_MUTEX>;
+template class ACE_Map_Manager<int, ACE_Svc_Tuple<HTTP_Sink_Svc_Handler> *, ACE_SYNCH_RW_MUTEX>;
+template class ACE_Select_Reactor_Token_T<ACE_Noop_Token>;
+template class ACE_Select_Reactor_T<ACE_Select_Reactor_Noop_Token>;
+template class ACE_Lock_Adapter<ACE_Select_Reactor_Noop_Token>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/apps/JAWS3/http/HTTP_States.h b/apps/JAWS3/http/HTTP_States.h
new file mode 100644
index 00000000000..12d8922d50a
--- /dev/null
+++ b/apps/JAWS3/http/HTTP_States.h
@@ -0,0 +1,75 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_HTTP_STATES_H
+#define JAWS_HTTP_STATES_H
+
+#include "ace/OS.h"
+#include "ace/Singleton.h"
+
+#include "jaws3/Protocol_Handler.h"
+
+#define JAWS_HTTP_STATE_MACRO(JAWS_HTTP_STATE_NAME) \
+ \
+class JAWS_HTTP_STATE_NAME : protected JAWS_Protocol_State \
+{ \
+public: \
+ \
+ int service (JAWS_Event_Completer *, JAWS_HTTP_Data *); \
+ \
+ JAWS_Protocol_State * transition ( const JAWS_Event_Result & \
+ , JAWS_HTTP_Data * \
+ , void * \
+ ); \
+ \
+ static JAWS_Protocol_State * instance (void) \
+ { \
+ return ACE_Singleton<JAWS_HTTP_STATE_NAME, ACE_SYNCH_MUTEX> \
+ ::instance (); \
+ } \
+ \
+private: \
+ \
+ int service (JAWS_Event_Completer *ec, void *d) \
+ { \
+ JAWS_HTTP_Data *hd = ACE_static_cast (JAWS_HTTP_Data *, d); \
+ return this->service (ec, hd); \
+ } \
+ \
+ JAWS_Protocol_State * transition ( const JAWS_Event_Result &r \
+ , void d* \
+ , void a* \
+ ) \
+ { \
+ JAWS_HTTP_Data *hd = ACE_static_cast (JAWS_HTTP_Data *, d); \
+ return this->transition (r, hd, a); \
+ } \
+ \
+}
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Read_Request);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Read_Headers);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Parse_Error);
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_GET);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_HEAD);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_PUT);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_POST);
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_GET_Response);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_HEAD_Response);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_PUT_Response);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_POST_Response);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Auth_Response);
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Transmit_File);
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Send_Message);
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Spawn_CGI);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Send_CGI_Status);
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_Wait_CGI);
+
+JAWS_HTTP_STATE_MACRO (JAWS_HTTP_DONE);
+
+#endif /* JAWS_HTTP_STATES_H */
diff --git a/apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.cpp b/apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.cpp
new file mode 100644
index 00000000000..258c27a0698
--- /dev/null
+++ b/apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.cpp
@@ -0,0 +1,82 @@
+/* -*- c++ -*- */
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Addr.h"
+#include "ace/Synch.h"
+#include "ace/Acceptor.h"
+#include "ace/Singleton.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+
+#include "jaws3/Reactive_Socket_Helpers.h"
+
+JAWS_Socket_EC_SH_Adapter
+::JAWS_Socket_EC_SH_Adapter ( ACE_SOCK_Stream *stream
+ , JAWS_Event_Completer *completer
+ , void *act
+ , JAWS_EC_CALLBACK callback
+ , JAWS_Event_Result::JE_REASON ok_reason
+ , JAWS_Event_Result::JE_REASON timeout_reason
+ , JAWS_Event_Result::JE_REASON error_reason
+ )
+ : stream_ (stream)
+ , completer_ (completer)
+ , act_ (act)
+ , callback_ (callback)
+ , ok_reason_ (ok_reason)
+ , timeout_reason_ (timeout_reason)
+ , error_reason_ (error_reason)
+{
+}
+
+
+int
+JAWS_Socket_EC_SH_Adapter::open (void *)
+{
+ JAWS_Event_Result result ( 0
+ , JAWS_Event_Result::JE_OK
+ , this->ok_reason_
+ , 0
+ , this->stream_);
+
+ *this->stream_ = this->peer ();
+ this->set_handle (ACE_INVALID_HANDLE);
+ (this->completer_->*callback_) (result, this->act_);
+
+ return -1;
+}
+
+
+JAWS_Socket_Accept_EC_SH_Adapter
+::JAWS_Socket_Accept_EC_SH_Adapter ( ACE_SOCK_Stream *stream
+ , JAWS_Event_Completer *completer
+ , void *act
+ )
+ : JAWS_Socket_EC_SH_Adapter ( stream
+ , completer
+ , act
+ , & JAWS_Event_Completer::accept_complete
+ , JAWS_Event_Result::JE_ACCEPT_OK
+ , JAWS_Event_Result::JE_ACCEPT_TIMEOUT
+ , JAWS_Event_Result::JE_ACCEPT_FAIL
+ )
+{
+}
+
+
+JAWS_Socket_Connect_EC_SH_Adapter::
+JAWS_Socket_Connect_EC_SH_Adapter ( ACE_SOCK_Stream *stream
+ , JAWS_Event_Completer *completer
+ , void *act
+ )
+ : JAWS_Socket_EC_SH_Adapter ( stream
+ , completer
+ , act
+ , & JAWS_Event_Completer::connect_complete
+ , JAWS_Event_Result::JE_CONNECT_OK
+ , JAWS_Event_Result::JE_CONNECT_TIMEOUT
+ , JAWS_Event_Result::JE_CONNECT_FAIL
+ )
+{
+}
diff --git a/apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.h b/apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.h
new file mode 100644
index 00000000000..63b860cb62a
--- /dev/null
+++ b/apps/JAWS3/jaws3-todo/Reactive_Socket_Helpers.h
@@ -0,0 +1,87 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_REACTIVE_SOCKET_HELPERS
+#define JAWS_REACTIVE_SOCKET_HELPERS
+
+#include "ace/OS.h"
+#include "ace/Addr.h"
+#include "ace/Synch.h"
+#include "ace/Acceptor.h"
+#include "ace/Singleton.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+
+#include "jaws3/Event_Completer.h"
+#include "jaws3/Event_Result.h"
+
+
+typedef void (JAWS_Event_Completer:: *JAWS_EC_CALLBACK)
+ (const JAWS_Event_Result &, void *act);
+
+
+class JAWS_Socket_EC_SH_Adapter
+ : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+
+ friend class JAWS_Socket_Accept_EC_SH_Adapter;
+ friend class JAWS_Socket_Connect_EC_SH_Adapter;
+
+public:
+
+ JAWS_Socket_EC_SH_Adapter ( ACE_SOCK_Stream *stream
+ , JAWS_Event_Completer *completer
+ , void *act
+ , JAWS_EC_CALLBACK callback
+ , JAWS_Event_Result::JE_REASON ok_reason
+ , JAWS_Event_Result::JE_REASON timeout_reason
+ , JAWS_Event_Result::JE_REASON error_reason
+ );
+
+ int open (void *);
+ // Callback from Acceptor/Connector when accept()/connect() completes.
+
+private:
+
+ ACE_SOCK_Stream *stream_;
+
+ JAWS_Event_Completer *completer_;
+ void *act_;
+
+ JAWS_EC_CALLBACK callback_;
+ JAWS_Event_Result::JE_REASON ok_reason_;
+ JAWS_Event_Result::JE_REASON timeout_reason_;
+ JAWS_Event_Result::JE_REASON error_reason_;
+
+};
+
+
+class JAWS_Socket_Accept_EC_SH_Adapter : public JAWS_Socket_EC_SH_Adapter
+{
+public:
+
+ JAWS_Socket_Accept_EC_SH_Adapter ( ACE_SOCK_Stream *stream
+ , JAWS_Event_Completer *completer
+ , void *act
+ );
+
+};
+
+
+class JAWS_Socket_Connect_EC_SH_Adapter : public JAWS_Socket_EC_SH_Adapter
+{
+public:
+
+ JAWS_Socket_Connect_EC_SH_Adapter ( ACE_SOCK_Stream *stream
+ , JAWS_Event_Completer *completer
+ , void *act
+ );
+
+private:
+
+ JAWS_Event_Completer *completer_;
+ void *act_;
+
+};
+
+#endif /* JAWS_REACTIVE_SOCKET_HELPERS */
diff --git a/apps/JAWS3/jaws3/Asynch_IO_Helpers.h b/apps/JAWS3/jaws3/Asynch_IO_Helpers.h
new file mode 100644
index 00000000000..473b5cbc842
--- /dev/null
+++ b/apps/JAWS3/jaws3/Asynch_IO_Helpers.h
@@ -0,0 +1,55 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_ASYNCH_IO_HELPERS_H
+#define JAWS_ASYNCH_IO_HELPERS_H
+
+#include "ace/OS.h"
+#include "ace/Asynch_IO.h"
+#include "ace/Singleton.h"
+
+#include "jaws3/IO.h"
+#include "jaws3/Event_Result.h"
+#include "jaws3/Event_Completer.h"
+
+class JAWS_Asynch_IO;
+
+class JAWS_EC_AH_Adapter : public ACE_Handler
+// = TITLE
+// A JAWS_Event_Completer - ACE_Handler adapter.
+//
+// = DESCRIPTION
+// This class will be conditionally #included by jaws3/Asynch_IO.cpp
+// if the given platform supports POSIX or WIN32 asynch IO.
+{
+public:
+
+ static JAWS_EC_AH_Adapter * make (JAWS_Event_Completer *);
+
+ void handle_read_stream (const ACE_Asynch_Read_Stream::Result &result);
+
+ void handle_write_stream (const ACE_Asynch_Write_Stream::Result &result);
+
+ void handle_transmit_file (const ACE_Asynch_Transmit_File::Result &result);
+
+private:
+
+ JAWS_EC_AH_Adapter (JAWS_Event_Completer *completer)
+ : completer_ (completer)
+ {
+ }
+
+protected:
+
+ JAWS_Event_Result make_io_result ( const ACE_Asynch_Result &result
+ , JAWS_Event_Result::JE_REASON reason_ok
+ , JAWS_Event_Result::JE_REASON reason_fail
+ );
+
+private:
+
+ JAWS_Event_Completer *completer_;
+
+};
+
+#endif /* JAWS_ASYNCH_IO_HELPERS_H */
diff --git a/apps/JAWS3/jaws3/Options.cpp b/apps/JAWS3/jaws3/Options.cpp
new file mode 100644
index 00000000000..6ba0ed82fe7
--- /dev/null
+++ b/apps/JAWS3/jaws3/Options.cpp
@@ -0,0 +1,25 @@
+// $Id$
+
+#include "ace/OS.h"
+
+#ifndef JAWS_BUILD_DLL
+#define JAWS_BUILD_DLL
+#endif /*JAWS_BUILD_DLL*/
+
+#include "jaws3/Options.h"
+
+JAWS_Options::JAWS_Options (void)
+{
+ this->cf_ = new JAWS_Config_File ("jaws.conf");
+}
+
+const char *
+JAWS_Options::getenv (const char *key)
+{
+ const char *value = 0;
+ if (this->cf_ == 0 || this->cf_->find (key, value) < 0)
+ value = ACE_OS::getenv (key);
+
+ return value;
+}
+
diff --git a/apps/JAWS3/jaws3/Options.h b/apps/JAWS3/jaws3/Options.h
new file mode 100644
index 00000000000..b767cc5438c
--- /dev/null
+++ b/apps/JAWS3/jaws3/Options.h
@@ -0,0 +1,41 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_OPTIONS_H
+#define JAWS_OPTIONS_H
+
+#include "ace/OS.h"
+#include "ace/Singleton.h"
+#include "ace/Synch.h"
+
+#include "jaws3/Export.h"
+#include "jaws3/Config_File.h"
+
+#define JAWS_DEFAULT_MIN_THYBRID_THREADS "1"
+#define JAWS_DEFAULT_MAX_THYBRID_THREADS "-1"
+#define JAWS_DEFAULT_TPOOL_THREADS "5"
+#define JAWS_DEFAULT_IO "SYNCH"
+#define JAWS_DEFAULT_CONCURRENCY "TPR"
+
+class JAWS_Options;
+
+class JAWS_Export JAWS_Options
+{
+public:
+
+ JAWS_Options (void);
+
+ const char *getenv (const char *key);
+
+ static JAWS_Options * instance (void)
+ {
+ return ACE_Singleton<JAWS_Options, ACE_SYNCH_MUTEX>::instance ();
+ }
+
+private:
+
+ JAWS_Config_File *cf_;
+
+};
+
+#endif /* JAWS_OPTIONS_H */
diff --git a/apps/JAWS3/jaws3/Reactive_IO_Helpers.h b/apps/JAWS3/jaws3/Reactive_IO_Helpers.h
new file mode 100644
index 00000000000..96a7bfc4114
--- /dev/null
+++ b/apps/JAWS3/jaws3/Reactive_IO_Helpers.h
@@ -0,0 +1,305 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_REACTIVE_IO_HELPERS_H
+#define JAWS_REACTIVE_IO_HELPERS_H
+
+#include "ace/OS.h"
+#include "ace/Message_Block.h"
+#include "ace/Singleton.h"
+
+#include "jaws3/Export.h"
+#include "jaws3/IO.h"
+#include "jaws3/Event_Result.h"
+#include "jaws3/Event_Completer.h"
+
+class JAWS_Reactive_IO;
+
+class JAWS_IO_Reactive_Handler : public ACE_Event_Handler
+{
+
+ friend class JAWS_IO_Reactive_Send;
+ friend class JAWS_IO_Reactive_Recv;
+ friend class JAWS_IO_Reactive_Transmit;
+
+public:
+
+ virtual void open (void);
+
+ int handle_timeout (const ACE_Time_Value &, const void *);
+
+ int handle_close (ACE_HANDLE, ACE_Reactor_Mask);
+
+ int handle_exception (ACE_HANDLE);
+
+ ACE_HANDLE get_handle (void) const { return this->handle_; }
+
+ void set_handle (ACE_HANDLE handle) { this->handle_ = handle; }
+
+protected:
+
+ virtual void close (int result);
+
+private:
+
+ JAWS_IO_Reactive_Handler ( ACE_HANDLE handle
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , void *act
+ , ACE_Reactor_Mask mask
+ )
+ : bytes_ (0)
+ , handle_ (handle)
+ , completer_ (completer)
+ , tv_ (tv)
+ , act_ (act)
+ , mask_ (mask)
+ , timer_id_ (-1)
+ , was_active_ (0)
+ {
+ if (ACE_Time_Value::zero < this->tv_)
+ this->timer_id_ =
+ ACE_Reactor::instance ()->schedule_timer (this, 0, this->tv_);
+ }
+
+ ~JAWS_IO_Reactive_Handler (void)
+ {
+ if (this->timer_id_ != -1)
+ ACE_Reactor::instance ()->cancel_timer (this->timer_id_);
+ }
+
+private:
+
+ JAWS_Event_Result io_result_;
+
+ size_t bytes_;
+ ACE_HANDLE handle_;
+ JAWS_Event_Completer *completer_;
+ ACE_Time_Value tv_;
+ void *act_;
+
+ ACE_Reactor_Mask mask_;
+ long timer_id_;
+
+ int was_active_;
+
+};
+
+
+class JAWS_IO_Reactive_Send : public JAWS_IO_Reactive_Handler
+{
+
+ friend class JAWS_Reactive_IO;
+
+public:
+
+ int handle_output (ACE_HANDLE handle);
+
+ static JAWS_IO_Reactive_Send * make ( ACE_HANDLE handle
+ , ACE_Message_Block *mb
+ , JAWS_Event_Completer *completer
+ , void *act
+ )
+ {
+ return new JAWS_IO_Reactive_Send ( handle
+ , mb
+ , completer
+ , ACE_Time_Value::zero
+ , act
+ , ACE_Event_Handler::WRITE_MASK
+ );
+ }
+
+ static JAWS_IO_Reactive_Send * make ( ACE_HANDLE handle
+ , ACE_Message_Block *mb
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , void *act
+ )
+ {
+ return new JAWS_IO_Reactive_Send ( handle
+ , mb
+ , completer
+ , tv
+ , act
+ , ACE_Event_Handler::WRITE_MASK
+ );
+ }
+
+private:
+
+ JAWS_IO_Reactive_Send ( ACE_HANDLE handle
+ , ACE_Message_Block *mb
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , void *act
+ , ACE_Reactor_Mask mask
+ )
+ : JAWS_IO_Reactive_Handler (handle, completer, tv, act, mask)
+ , mb_ (mb)
+ {
+ }
+
+private:
+
+ ACE_Message_Block *mb_;
+
+};
+
+
+class JAWS_IO_Reactive_Recv : public JAWS_IO_Reactive_Handler
+{
+
+ friend class JAWS_Reactive_IO;
+
+public:
+
+ int handle_input (ACE_HANDLE handle);
+
+ static JAWS_IO_Reactive_Recv * make ( ACE_HANDLE handle
+ , ACE_Message_Block *mb
+ , JAWS_Event_Completer *completer
+ , void *act
+ )
+ {
+ return new JAWS_IO_Reactive_Recv ( handle
+ , mb
+ , completer
+ , ACE_Time_Value::zero
+ , act
+ , ACE_Event_Handler::READ_MASK
+ );
+ }
+
+ static JAWS_IO_Reactive_Recv * make ( ACE_HANDLE handle
+ , ACE_Message_Block *mb
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , void *act
+ )
+ {
+ return new JAWS_IO_Reactive_Recv ( handle
+ , mb
+ , completer
+ , tv
+ , act
+ , ACE_Event_Handler::READ_MASK
+ );
+ }
+
+private:
+
+ JAWS_IO_Reactive_Recv ( ACE_HANDLE handle
+ , ACE_Message_Block *mb
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , void *act
+ , ACE_Reactor_Mask mask
+ )
+ : JAWS_IO_Reactive_Handler (handle, completer, tv, act, mask)
+ , mb_ (mb)
+ {
+ }
+
+private:
+
+ ACE_Message_Block *mb_;
+
+};
+
+
+class JAWS_IO_Reactive_Transmit : public JAWS_IO_Reactive_Handler
+{
+
+ friend class JAWS_Reactive_IO;
+
+public:
+
+ int handle_timeout (const ACE_Time_Value &, const void *);
+
+ int handle_output (ACE_HANDLE handle);
+
+ int handle_exception (ACE_HANDLE handle);
+
+ static JAWS_IO_Reactive_Transmit * make ( ACE_HANDLE handle
+ , ACE_HANDLE source
+ , JAWS_Event_Completer *completer
+ , ACE_Message_Block *header
+ , ACE_Message_Block *trailer
+ , void *act
+ )
+ {
+ return new JAWS_IO_Reactive_Transmit ( handle
+ , source
+ , completer
+ , ACE_Time_Value::zero
+ , header
+ , trailer
+ , act
+ , ACE_Event_Handler::WRITE_MASK
+ );
+ }
+
+ static JAWS_IO_Reactive_Transmit * make ( ACE_HANDLE handle
+ , ACE_HANDLE source
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , ACE_Message_Block *header
+ , ACE_Message_Block *trailer
+ , void *act
+ )
+ {
+ return new JAWS_IO_Reactive_Transmit ( handle
+ , source
+ , completer
+ , tv
+ , header
+ , trailer
+ , act
+ , ACE_Event_Handler::WRITE_MASK
+ );
+ }
+
+protected:
+
+ void close (int result);
+
+ int handle_output_header (ACE_HANDLE handle);
+
+ int handle_output_source (ACE_HANDLE handle);
+
+ int handle_output_trailer (ACE_HANDLE handle);
+
+ int handle_output_mb (ACE_HANDLE handle, ACE_Message_Block *&mb);
+
+private:
+
+ JAWS_IO_Reactive_Transmit ( ACE_HANDLE handle
+ , ACE_HANDLE source
+ , JAWS_Event_Completer *completer
+ , const ACE_Time_Value &tv
+ , ACE_Message_Block *header
+ , ACE_Message_Block *trailer
+ , void *act
+ , ACE_Reactor_Mask mask
+ )
+ : JAWS_IO_Reactive_Handler (handle, completer, tv, act, mask)
+ , source_ (source)
+ , source_mb_ (8 * 1024)
+ , source_buf_ (& this->source_mb_)
+ , header_ (header)
+ , trailer_ (trailer)
+ {
+ }
+
+private:
+
+ ACE_HANDLE source_;
+ ACE_Message_Block source_mb_;
+ ACE_Message_Block *source_buf_;
+ ACE_Message_Block *header_;
+ ACE_Message_Block *trailer_;
+
+};
+
+#endif /* JAWS_REACTIVE_IO_HELPERS_H */
diff --git a/apps/JAWS3/jaws3/Templates.cpp b/apps/JAWS3/jaws3/Templates.cpp
new file mode 100644
index 00000000000..ce88e982316
--- /dev/null
+++ b/apps/JAWS3/jaws3/Templates.cpp
@@ -0,0 +1,101 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Reactor.h"
+#include "ace/Select_Reactor.h"
+#include "ace/Svc_Handler.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/LSOCK_Stream.h"
+
+#ifndef JAWS_BUILD_DLL
+#define JAWS_BUILD_DLL
+#endif
+
+#include "jaws3/Asynch_IO.h"
+#include "jaws3/Concurrency.h"
+#include "jaws3/Export.h"
+#include "jaws3/IO.h"
+#include "jaws3/Event_Dispatcher.h"
+#include "jaws3/Event_Completer.h"
+#include "jaws3/Options.h"
+#include "jaws3/Protocol_Handler.h"
+#include "jaws3/Reactive_IO.h"
+#include "jaws3/Signal_Task.h"
+#include "jaws3/Symbol_Table.h"
+#include "jaws3/Synch_IO.h"
+#include "jaws3/TPOOL_Concurrency.h"
+#include "jaws3/TPR_Concurrency.h"
+#include "jaws3/THYBRID_Concurrency.h"
+#include "jaws3/Timer.h"
+#include "jaws3/Task_Timer.h"
+
+#define ACE_EHHTU_RW \
+ ACE_Event_Handler_Handle_Timeout_Upcall<ACE_SYNCH_RW_MUTEX>
+#define ACE_EHHTU_R \
+ ACE_Event_Handler_Handle_Timeout_Upcall<ACE_SYNCH_RECURSIVE_MUTEX>
+
+#define ACE_WHEEL_TEMPLATE_ARGS_RW \
+ ACE_Event_Handler *, ACE_EHHTU_RW, ACE_SYNCH_RW_MUTEX
+#define ACE_WHEEL_TEMPLATE_ARGS_R \
+ ACE_Event_Handler *, ACE_EHHTU_R, ACE_SYNCH_RECURSIVE_MUTEX
+
+#define ACE_TWT_RW \
+ ACE_Timer_Wheel_T<ACE_WHEEL_TEMPLATE_ARGS_RW>
+#define ACE_TWT_R \
+ ACE_Timer_Wheel_T<ACE_WHEEL_TEMPLATE_ARGS_R>
+#define ACE_TWIT_RW \
+ ACE_Timer_Wheel_Iterator_T<ACE_WHEEL_TEMPLATE_ARGS_RW>
+#define ACE_TWIT_R \
+ ACE_Timer_Wheel_Iterator_T<ACE_WHEEL_TEMPLATE_ARGS_R>
+#define ACE_TQT_RW \
+ ACE_Timer_Queue_T<ACE_WHEEL_TEMPLATE_ARGS_RW>
+#define ACE_TQT_R \
+ ACE_Timer_Queue_T<ACE_WHEEL_TEMPLATE_ARGS_R>
+#define ACE_TQIT_RW \
+ ACE_Timer_Queue_Iterator_T<ACE_WHEEL_TEMPLATE_ARGS_RW>
+#define ACE_TQIT_R \
+ ACE_Timer_Queue_Iterator_T<ACE_WHEEL_TEMPLATE_ARGS_R>
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+template class ACE_Svc_Handler<ACE_LSOCK_STREAM, ACE_NULL_SYNCH>;
+template class ACE_Atomic_Op<ACE_SYNCH_MUTEX, int>;
+template class ACE_Node<void *>;
+template class ACE_Unbounded_Queue<void *>;
+template class ACE_Unbounded_Queue_Iterator<void *>;
+template class ACE_Singleton<JAWS_Synch_IO, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_Asynch_IO, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_Reactive_IO, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_IO, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_TPOOL_Concurrency, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_TPR_Concurrency, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_THYBRID_Concurrency, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_Concurrency, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_Options, ACE_SYNCH_MUTEX>;
+template class ACE_Select_Reactor_Token_T<ACE_Noop_Token>;
+template class ACE_Select_Reactor_T<ACE_Select_Reactor_Noop_Token>;
+template class ACE_Lock_Adapter<ACE_Select_Reactor_Noop_Token>;
+template class ACE_EHHTU_RW;
+template class ACE_EHHTU_R;
+template class ACE_TWT_RW;
+template class ACE_TWT_R;
+template class ACE_TWIT_RW;
+template class ACE_TWIT_R;
+template class ACE_TQT_RW;
+template class ACE_TQT_R;
+template class ACE_TQIT_RW;
+template class ACE_TQIT_R;
+template class ACE_Thread_Timer_Queue_Adapter< ACE_TWT_RW >;
+template class ACE_Thread_Timer_Queue_Adapter< ACE_TWT_R >;
+template class ACE_Singleton<JAWS_Timer, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_Task_Timer, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<JAWS_Signal_Task, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<ACE_Message_Block, ACE_SYNCH_NULL_MUTEX>;
+template class JAWS_SYMBOL_TABLE_ENTRY;
+template class JAWS_SYMBOL_TABLE_BASE;
+template class JAWS_SYMBOL_TABLE_ITERATOR_BASE;
+template class JAWS_SYMBOL_TABLE_ITERATOR;
+template class JAWS_SYMBOL_TABLE_REVERSE_ITERATOR;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/apps/JAWS3/jaws3/Timer_Helpers.cpp b/apps/JAWS3/jaws3/Timer_Helpers.cpp
new file mode 100644
index 00000000000..1b7d4b60c41
--- /dev/null
+++ b/apps/JAWS3/jaws3/Timer_Helpers.cpp
@@ -0,0 +1,40 @@
+// $Id$
+
+#ifndef JAWS_BUILD_DLL
+#define JAWS_BUILD_DLL
+#endif
+
+#include "jaws3/Timer_Helpers.h"
+
+int
+JAWS_Timer_EH::handle_timeout (const ACE_Time_Value &, const void *)
+{
+ JAWS_Event_Result timer_result ( 0
+ , JAWS_Event_Result::JE_OK
+ , JAWS_Event_Result::JE_TIMER_OK
+ );
+
+ if (this->completer_)
+ this->completer_->timer_complete (timer_result, this->act_);
+
+ if (this->interval_)
+ return 0;
+
+ this->expired_ = 1;
+ return -1;
+}
+
+int
+JAWS_Timer_EH::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+{
+ JAWS_Event_Result timer_result ( 0
+ , JAWS_Event_Result::JE_CANCEL
+ , JAWS_Event_Result::JE_TIMER_CANCEL
+ );
+
+ if (! this->expired_ && this->completer_)
+ this->completer_->timer_complete (timer_result, this->act_);
+
+ return 0;
+}
+
diff --git a/apps/JAWS3/jaws3/Timer_Helpers.h b/apps/JAWS3/jaws3/Timer_Helpers.h
new file mode 100644
index 00000000000..a88aa68285d
--- /dev/null
+++ b/apps/JAWS3/jaws3/Timer_Helpers.h
@@ -0,0 +1,45 @@
+/* -*- c+ -*- */
+// $Id$
+
+#ifndef JAWS_TIMER_HELPERS_H
+#define JAWS_TIMER_HELPERS_H
+
+#include "ace/OS.h"
+#include "ace/Singleton.h"
+#include "ace/Event_Handler.h"
+
+#include "jaws3/Timer.h"
+#include "jaws3/Event_Completer.h"
+#include "jaws3/Event_Result.h"
+
+class JAWS_Timer_EH : public ACE_Event_Handler
+{
+public:
+
+ JAWS_Timer_EH ( JAWS_Event_Completer *completer
+ , void *act = 0
+ , int interval = 0
+ )
+ : completer_ (completer)
+ , act_ (act)
+ , interval_ (interval)
+ , expired_ (0)
+ {
+ }
+
+ int handle_timeout (const ACE_Time_Value &tv, const void *act);
+ // Called when timer expires.
+
+ int handle_close (ACE_HANDLE h, ACE_Reactor_Mask m);
+ // Called directly when timer is canceled.
+
+private:
+
+ JAWS_Event_Completer *completer_;
+ void *act_;
+ const int interval_;
+ int expired_;
+
+};
+
+#endif /* JAWS_TIMER_HELPERS_H */
diff --git a/apps/JAWS3/jaws3/jaws3.mpc b/apps/JAWS3/jaws3/jaws3.mpc
new file mode 100644
index 00000000000..5d1be0bfcd0
--- /dev/null
+++ b/apps/JAWS3/jaws3/jaws3.mpc
@@ -0,0 +1,78 @@
+// -*- MPC -*-
+// $Id$
+
+project(JAWS3) : acelib {
+ sharedname = JAWS3
+ dynamicflags = JAWS_BUILD_DLL
+ includes += ..
+ Source_Files {
+ Asynch_IO.cpp
+ Concurrency.cpp
+ Config_File.cpp
+ Datagram.cpp
+ Event_Completer.cpp
+ Event_Dispatcher.cpp
+ FILE.cpp
+ IO.cpp
+ Options.cpp
+ Protocol_Handler.cpp
+ Reactive_IO.cpp
+ Signal_Task.cpp
+ Symbol_Table.cpp
+ Synch_IO.cpp
+ THYBRID_Concurrency.cpp
+ TPOOL_Concurrency.cpp
+ TPR_Concurrency.cpp
+ Task_Timer.cpp
+ Templates.cpp
+ Timer.cpp
+ Timer_Helpers.cpp
+ }
+
+ Template_Files{
+ Cached_Allocator_T.cpp
+ Concurrency_T.cpp
+ }
+
+ Header_Files{
+ Asynch_IO.h
+ Asynch_IO_Helpers.h
+ Cached_Allocator_T.h
+ Concurrency.h
+ Concurrency_T.h
+ Config_File.h
+ Datagram.h
+ Event_Completer.h
+ Event_Dispatcher.h
+ Event_Result.h
+ Export.h
+ FILE.h
+ IO.h
+ Options.h
+ Protocol_Handler.h
+ Reactive_IO.h
+ Reactive_IO_Helpers.h
+ Signal_Task.h
+ Symbol_Table.h
+ Synch_IO.h
+ Task_Timer.h
+ THYBRID_Concurrency.h
+ Timer.h
+ Timer_Helpers.h
+ TPOOL_Concurrency.h
+ TPR_Concurrency.h
+ }
+
+ Inline_Files{
+ }
+}
+
+project(JAWS3_server) : aceexe {
+ includes += ..
+ exename = main
+ after += JAWS3
+ libs += JAWS3
+ Source_Files {
+ main.cpp
+ }
+}
diff --git a/apps/JAWS3/small/SS_Templates.cpp b/apps/JAWS3/small/SS_Templates.cpp
new file mode 100644
index 00000000000..9dfc787a4b5
--- /dev/null
+++ b/apps/JAWS3/small/SS_Templates.cpp
@@ -0,0 +1,23 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Singleton.h"
+
+#include "SS_Service_Handler.h"
+#include "SS_State_READ.h"
+#include "SS_State_PARSE.h"
+#include "SS_State_WRITE.h"
+#include "SS_State_ERROR.h"
+#include "SS_State_DONE.h"
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Acceptor<TeraSS_Service_Handler, ACE_SOCK_ACCEPTOR>;
+template class ACE_Singleton<TeraSS_State_READ, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<TeraSS_State_PARSE, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<TeraSS_State_WRITE, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<TeraSS_State_ERROR, ACE_SYNCH_MUTEX>;
+template class ACE_Singleton<TeraSS_State_DONE, ACE_SYNCH_MUTEX>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/apps/gperf/tests/cpp-res.exp b/apps/gperf/tests/cpp-res.exp
new file mode 100644
index 00000000000..124af99193f
--- /dev/null
+++ b/apps/gperf/tests/cpp-res.exp
@@ -0,0 +1,73 @@
+in word set and
+in word set and_eq
+in word set asm
+in word set auto
+in word set bitand
+in word set bitor
+in word set bool
+in word set break
+in word set case
+in word set catch
+in word set char
+in word set class
+in word set compl
+in word set const
+in word set const_cast
+in word set continue
+in word set default
+in word set delete
+in word set do
+in word set double
+in word set dynamic_cast
+in word set else
+in word set enum
+in word set explicit
+in word set extern
+in word set false
+in word set float
+in word set for
+in word set friend
+in word set goto
+in word set if
+in word set inline
+in word set int
+in word set long
+in word set mutable
+in word set namespace
+in word set new
+in word set not
+in word set not_eq
+in word set operator
+in word set or
+in word set or_eq
+in word set private
+in word set protected
+in word set public
+in word set register
+in word set reinterpret_cast
+in word set return
+in word set short
+in word set signed
+in word set sizeof
+in word set static
+in word set static_cast
+in word set struct
+in word set switch
+in word set template
+in word set this
+in word set throw
+in word set true
+in word set try
+in word set typedef
+in word set typeid
+in word set typename
+in word set union
+in word set unsigned
+in word set using
+in word set virtual
+in word set void
+in word set volatile
+in word set wchar_t
+in word set while
+in word set xor
+in word set xor_eq
diff --git a/apps/gperf/tests/cpp.gperf b/apps/gperf/tests/cpp.gperf
new file mode 100644
index 00000000000..e8c8dc3f251
--- /dev/null
+++ b/apps/gperf/tests/cpp.gperf
@@ -0,0 +1,73 @@
+and
+and_eq
+asm
+auto
+bitand
+bitor
+bool
+break
+case
+catch
+char
+class
+compl
+const
+const_cast
+continue
+default
+delete
+do
+double
+dynamic_cast
+else
+enum
+explicit
+extern
+false
+float
+for
+friend
+goto
+if
+inline
+int
+long
+mutable
+namespace
+new
+not
+not_eq
+operator
+or
+or_eq
+private
+protected
+public
+register
+reinterpret_cast
+return
+short
+signed
+sizeof
+static
+static_cast
+struct
+switch
+template
+this
+throw
+true
+try
+typedef
+typeid
+typename
+union
+unsigned
+using
+virtual
+void
+volatile
+wchar_t
+while
+xor
+xor_eq
diff --git a/bin/MakeProjectCreator/config/amh.mpb b/bin/MakeProjectCreator/config/amh.mpb
new file mode 100644
index 00000000000..669aaf0a438
--- /dev/null
+++ b/bin/MakeProjectCreator/config/amh.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ requires += ami // There is no separate
+ idlflags += -GH
+} \ No newline at end of file
diff --git a/bin/MakeProjectCreator/config/ami.mpb b/bin/MakeProjectCreator/config/ami.mpb
new file mode 100644
index 00000000000..00d02724a03
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ami.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project : messaging {
+ requires += ami
+ idlflags += -GC
+} \ No newline at end of file
diff --git a/bin/MakeProjectCreator/config/dseventlogadmin.mpb b/bin/MakeProjectCreator/config/dseventlogadmin.mpb
new file mode 100644
index 00000000000..343e83d8841
--- /dev/null
+++ b/bin/MakeProjectCreator/config/dseventlogadmin.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project : dslogadmin, event {
+ after += DsEventLogAdmin
+ libs += TAO_DsEventLogAdmin
+}
diff --git a/bin/MakeProjectCreator/config/dsnotifylogadmin.mpb b/bin/MakeProjectCreator/config/dsnotifylogadmin.mpb
new file mode 100644
index 00000000000..3fa171ab476
--- /dev/null
+++ b/bin/MakeProjectCreator/config/dsnotifylogadmin.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project : dseventlogadmin, notification, naming {
+ after += DsNotifyLogAdmin
+ libs += TAO_DsNotifyLogAdmin
+}
diff --git a/bin/MakeProjectCreator/config/ec_use_typed_events.mpb b/bin/MakeProjectCreator/config/ec_use_typed_events.mpb
new file mode 100644
index 00000000000..a306db273d3
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ec_use_typed_events.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+feature(ec_typed_events) {
+ macros += TAO_HAS_TYPED_EVENT_CHANNEL
+ libs += TAO_IFR_Client TAO_DynamicInterface
+ after += IFR_Client DynamicInterface
+}
diff --git a/bin/MakeProjectCreator/config/fault_tolerance.mpb b/bin/MakeProjectCreator/config/fault_tolerance.mpb
new file mode 100644
index 00000000000..0882a12de31
--- /dev/null
+++ b/bin/MakeProjectCreator/config/fault_tolerance.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project : naming, notification, portablegroup, messaging {
+ after += FaultTolerance
+ libs += TAO_FaultTolerance
+ tagchecks += FaultTolerance
+}
diff --git a/bin/MakeProjectCreator/config/ftrteventchannel.mpb b/bin/MakeProjectCreator/config/ftrteventchannel.mpb
new file mode 100644
index 00000000000..479271504cb
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ftrteventchannel.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project : ftrtevent, utils {
+ after += FTRT_EventChannel
+ libs += TAO_FTRT_EventChannel
+ includes += $(TAO_ROOT)/orbsvcs/FtRtEvent/EventChannel
+}
diff --git a/bin/MakeProjectCreator/config/mfc.mpb b/bin/MakeProjectCreator/config/mfc.mpb
new file mode 100644
index 00000000000..c51d11f120e
--- /dev/null
+++ b/bin/MakeProjectCreator/config/mfc.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ requires += mfc
+ macros += _AFX_DLL ACE_HAS_MFC
+} \ No newline at end of file
diff --git a/bin/MakeProjectCreator/config/psdl.mpb b/bin/MakeProjectCreator/config/psdl.mpb
new file mode 100644
index 00000000000..e2c62ecbc31
--- /dev/null
+++ b/bin/MakeProjectCreator/config/psdl.mpb
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ after += PSDL_Parser PSDL PSDL_Datastore
+ libs += TAO_PSDL TAO_PSDL_Datastore
+
+ Define_Custom(PSDL) {
+ command = $(TAO_ROOT)/orbsvcs/PSS/psdl_tao
+ libpath = $(ACE_ROOT)/lib
+ inputext = .psdl
+ source_outputext = .cpp
+ header_outputext = .h
+ inline_outputext = .i
+ // unlike idl, the psdl compiler doesn't seem to generate *S.* files.
+ pre_extension = C
+ }
+} \ No newline at end of file
diff --git a/bin/MakeProjectCreator/config/rpc.mpb b/bin/MakeProjectCreator/config/rpc.mpb
new file mode 100644
index 00000000000..9cade9b60a8
--- /dev/null
+++ b/bin/MakeProjectCreator/config/rpc.mpb
@@ -0,0 +1,13 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ requires += rpc
+ Define_Custom(rpcgen) {
+ command = rpcgen
+ inputext = .x
+ source_outputext = .c
+ header_outputext = .h
+ pre_extension = _svc,_clnt
+ }
+} \ No newline at end of file
diff --git a/bin/MakeProjectCreator/config/rteventlogadmin.mpb b/bin/MakeProjectCreator/config/rteventlogadmin.mpb
new file mode 100644
index 00000000000..fb77ed0d3f5
--- /dev/null
+++ b/bin/MakeProjectCreator/config/rteventlogadmin.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project : dseventlogadmin {
+ after += RTEventLogAdmin
+ libs += TAO_RTEventLogAdmin
+}
diff --git a/bin/MakeProjectCreator/config/ssliop.mpb b/bin/MakeProjectCreator/config/ssliop.mpb
new file mode 100644
index 00000000000..91a0e278230
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ssliop.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project: security, portableserver, ssl {
+ after += SSLIOP
+ libs += TAO_SSLIOP
+ tagchecks += SSLIOP
+}
diff --git a/bin/MakeProjectCreator/config/taodefaults.mpb b/bin/MakeProjectCreator/config/taodefaults.mpb
new file mode 100644
index 00000000000..83fc64b36d1
--- /dev/null
+++ b/bin/MakeProjectCreator/config/taodefaults.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ staticflags += TAO_AS_STATIC_LIBS
+ includes += $(TAO_ROOT) $(TAO_ROOT)/tao
+ libpaths += $(ACE_ROOT)/lib
+}
diff --git a/bin/MakeProjectCreator/config/taoidldefaults.mpb b/bin/MakeProjectCreator/config/taoidldefaults.mpb
new file mode 100644
index 00000000000..12fc0a87e11
--- /dev/null
+++ b/bin/MakeProjectCreator/config/taoidldefaults.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ after += TAO_IDL_EXE
+ idlflags += -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h \
+ -I$(TAO_ROOT) -I$(TAO_ROOT)/tao
+}
diff --git a/bin/MakeProjectCreator/config/tmcast.mpb b/bin/MakeProjectCreator/config/tmcast.mpb
new file mode 100644
index 00000000000..924fcadb1cc
--- /dev/null
+++ b/bin/MakeProjectCreator/config/tmcast.mpb
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project: acelib {
+ after += TMCast
+ libs += TMCast
+ dynamicflags += TMCAST_BUILD_DLL
+ requires += exceptions
+}
diff --git a/bin/MakeProjectCreator/config/utils.mpb b/bin/MakeProjectCreator/config/utils.mpb
new file mode 100644
index 00000000000..3088f304b47
--- /dev/null
+++ b/bin/MakeProjectCreator/config/utils.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project : portableserver {
+ after += Utils
+ libs += TAO_Utils
+}
diff --git a/bin/MakeProjectCreator/config/wfmo.mpb b/bin/MakeProjectCreator/config/wfmo.mpb
new file mode 100644
index 00000000000..788d9905583
--- /dev/null
+++ b/bin/MakeProjectCreator/config/wfmo.mpb
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+feature(wfmo) {
+ requires += wfmo
+}
diff --git a/bin/MakeProjectCreator/config/wxwindows.mpb b/bin/MakeProjectCreator/config/wxwindows.mpb
new file mode 100644
index 00000000000..54ee238e5c1
--- /dev/null
+++ b/bin/MakeProjectCreator/config/wxwindows.mpb
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ requires += wxWindows
+ verbatim(gnuace,local) {
+ # work based on the configuration of the wxWindows installation
+ # PLATFORM_WX_* defined in includes/makeincludes/*_macros.GNU
+ CPPFLAGS += $(PLATFORM_WX_CPPFLAGS)
+ LDFLAGS += $(PLATFORM_WX_LDFLAGS)
+ LDLIBS += $(PLATFORM_WX_LIBS)
+ }
+ // TBD - support other platforms
+}
diff --git a/bin/MakeProjectCreator/modules/Version.pm b/bin/MakeProjectCreator/modules/Version.pm
new file mode 100644
index 00000000000..bca58fc2975
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/Version.pm
@@ -0,0 +1,30 @@
+package Version;
+
+# ************************************************************
+# Description : Central location for the MPC version.
+# Author : Chad Elliott
+# Create Date : 1/5/2003
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+# ************************************************************
+# Data Section
+# ************************************************************
+
+my($version) = '2.5';
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub get {
+ return $version;
+}
+
+
+1;
diff --git a/bin/msvc_mpc_auto_compile.pl b/bin/msvc_mpc_auto_compile.pl
new file mode 100755
index 00000000000..00a2a276c34
--- /dev/null
+++ b/bin/msvc_mpc_auto_compile.pl
@@ -0,0 +1,257 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# Win32 auto_compile script.
+
+use File::Find;
+use Cwd;
+
+if (!$ENV{ACE_ROOT}) {
+ $ACE_ROOT = getcwd ()."\\";
+ warn "ACE_ROOT not defined, defaulting to ACE_ROOT=$ACE_ROOT";
+}
+else {
+ $ACE_ROOT = $ENV{ACE_ROOT};
+}
+
+@directories = ();
+
+
+@ace_core_dirs = ("$ACE_ROOT\\ace",
+ "$ACE_ROOT\\Kokyu",
+ "$ACE_ROOT\\ACEXML",
+ "$ACE_ROOT\\tests");
+
+@tao_core_dirs = ("$ACE_ROOT\\TAO\\tao",
+ "$ACE_ROOT\\apps",
+ "$ACE_ROOT\\TAO\\TAO_IDL",
+ "$ACE_ROOT\\TAO\\tests");
+
+@ciao_core_dirs = ("$ACE_ROOT\\TAO\\orbsvcs\\orbsvcs", # CIAO dependancy
+ "$ACE_ROOT\\TAO\\CIAO");
+
+$debug = 0;
+$verbose = 0;
+$print_status = 0;
+$Ignore_errors = 0; # By default, bail out if an error occurs.
+$Build_Debug = 0;
+$Build_Release = 0;
+$build_all = 0;
+$Build_Cmd = "/BUILD";
+$use_custom_dir = 0;
+$useenv = '';
+$vc7 = 0;
+
+# Build_Config takes in a string of the type "project--configuration" and
+# runs msdev to build it.
+sub Build_Config ($)
+{
+ my ($arg) = @_;
+ my ($project, $config) = split /--/, $arg;
+
+ return Build ($project, $config);
+}
+
+# Build
+sub Build ($$)
+{
+ my ($project, $config) = @_;
+
+ if ($debug == 1) {
+ print "$project\n";
+ return 0;
+ }
+ else {
+ print "Auto_compiling $project : $config\n";
+
+ print "Building $project $config\n" if $verbose;
+
+ return system ("msdev.com $project /MAKE \"$config\" $Build_Cmd $useenv");
+ }
+}
+
+sub Find_Dsw (@)
+{
+ my (@dir) = @_;
+ @array = ();
+ my @config_array = ();
+
+ sub wanted {
+ $array[++$#array] =
+ $File::Find::name if ($File::Find::name =~ /\.dsw$/i);
+ }
+
+ find (\&wanted, @dir);
+
+ print "List of dsw's \n" if ($verbose == 1);
+ return @array;
+}
+
+# Only builds the core libraries.
+sub Build_Custom ()
+{
+ print STDERR "Building Custom\n";
+ print "Building Custom directories specified\n";# if ($verbose == 1);
+
+ print "Build \n" if ($verbose);
+ print "Debug " if ($verbose) && ($Build_Debug);
+ print "Release " if ($verbose) && ($Build_Release);
+ print "\n" if ($verbose);
+
+ my @custom_list = Find_Dsw (@directories);
+
+ print "List now is @custom_list \n";
+ foreach $c (@custom_list) {
+ print "List now is $c \n";
+ if ($Build_Debug) {
+ $Status = Build ($c, "ALL - Win32 Debug");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ if ($Build_Release) {
+ $Status = Build ($c, "ALL - Win32 Release");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ }
+}
+
+# Build all examples and directories
+sub Build_All ()
+{
+ push @directories, @ace_core_dirs;
+ push @directories, @tao_core_dirs;
+ push @directories, @ciao_core_dirs;
+
+ print STDERR "First pass (libraries)\n" if ($print_status == 1);
+ print "\nmsvc_auto_compile: First Pass CORE (libraries)\n";
+
+ Build_Custom ();
+
+ my @new_directory_search = "$ACE_ROOT";
+
+ my @configurations = Find_Dsw (@new_directory_search);
+
+ print STDERR "Second pass (for other things)\n" if ($print_status == 1);
+ print "\nmsvc_mpc_auto_compile: Second Pass (rest of the stuff)\n";
+
+ foreach $c (@configurations) {
+ print "\nUsing $c for compilation\n";
+ if ($Build_Debug) {
+ $Status = Build ($c, "ALL - Win32 Debug");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ if ($Build_Release) {
+ $Status = Build ($c, "ALL - Win32 Release");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ }
+}
+
+
+## Parse command line argument
+while ( $#ARGV >= 0 && $ARGV[0] =~ /^(-|\/)/ )
+{
+ if ($ARGV[0] =~ '-k') { # Ignore errors
+ print "Ignore errors\n" if ( $verbose );
+ $Ignore_errors = 1;
+ }
+ elsif ($ARGV[0] =~ /^-d$/i) { # debug
+ $debug = 1;
+ }
+ elsif ($ARGV[0] =~ '-v') { # verbose mode
+ $verbose = 1;
+ }
+ elsif ($ARGV[0] =~ '-s') { # status messages
+ $print_status = 1;
+ }
+ elsif ($ARGV[0] =~ '-u') { # USEENV
+ print "Using Environment\n" if ($verbose);
+ $useenv = '/USEENV';
+ }
+ elsif ($ARGV[0] =~ '-ACE') {# Build ACE and its tests
+ print "Building ACE\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, @ace_core_dirs;
+ }
+ elsif ($ARGV[0] =~ '-TAO') {# Build TAO and its tests
+ print "Building TAO\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, @ace_core_dirs;
+ push @directories, @tao_core_dirs;
+ }
+ elsif ($ARGV[0] =~ '-CIAO') {# Build the CIAO and related
+ # libraries
+ print "Building only CIAO\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, @ace_core_dirs;
+ push @directories, @tao_core_dirs;
+ push @directories, @ciao_core_dirs;
+ }
+ elsif ($ARGV[0] =~ '-ALL') {# Build the CIAO and related
+ # libraries
+ print "Building ALL \n" if ( $verbose );
+ $build_all = 1;
+ }
+ elsif ($ARGV[0] =~ '-dir') { # Compile only a specific directory
+ shift;
+ print "Adding directory $ARGV[0]\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, $ARGV[0];
+ }
+ elsif ($ARGV[0] =~ '-rebuild') { # Rebuild all
+ print "Rebuild all\n" if ( $verbose );
+ $Build_Cmd = "/REBUILD";
+ }
+ elsif ($ARGV[0] =~ '-clean') { # Clean
+ print "Cleaning all\n" if ( $verbose );
+ $Build_Cmd = "/CLEAN";
+ }
+ elsif ($ARGV[0] =~ '-Debug') { # Debug versions
+ print "Building Debug Version\n" if ( $verbose );
+ $Build_Debug = 1;
+ }
+ elsif ($ARGV[0] =~ '-Release') { # Release versions
+ print "Building Release Version\n" if ( $verbose );
+ $Build_Release = 1;
+ }
+ elsif ($ARGV[0] =~ '-vc7') { # Use VC7 project and solution files.
+ print "Using VC7 files\n" if ( $verbose );
+ $vc7 = 1;
+ }
+ elsif ($ARGV[0] =~ '-(\?|h)') { # Help information
+ print "Options\n";
+ print "-d = Debug (only print out projects)\n";
+ print "-k = Ignore Errors\n";
+ print "-v = Script verbose Mode\n";
+ print "-s = Print status messages to STDERR\n";
+ print "-u = Tell MSVC to use the environment\n";
+ print "\n";
+ print "-CORE = Build ACE+TAO+CIAO core \n";
+ print "-ACE = Build ACE and its tests\n";
+ print "-TAO = Build TAO and its tests\n";
+ print "-dir <dir> = Compile custom directories\n";
+ print "\n";
+ print "-rebuild = Rebuild All\n";
+ print "-clean = Clean\n";
+ print "-Debug = Compile Debug versions\n";
+ print "-Release = Compile Release versions\n";
+ exit;
+ }
+ else {
+ warn "$0: unknown option $ARGV[0]\n";
+ die -1;
+ }
+ shift;
+}
+
+if (!$Build_Debug && !$Build_Release) {
+ $Build_Debug = 1;
+ $Build_Release = 1;
+}
+
+print "MPC version of msvc_mpc_auto_compile: Begin\n";
+Build_All if ($build_all && !$use_custom_dir);
+Build_Custom if $use_custom_dir;
+print "msvc_auto_compile: End\n";
+print STDERR "End\n" if ($print_status == 1);
diff --git a/bin/msvc_static_compile.pl b/bin/msvc_static_compile.pl
new file mode 100755
index 00000000000..e9c5d545269
--- /dev/null
+++ b/bin/msvc_static_compile.pl
@@ -0,0 +1,314 @@
+# $Id$
+# Win32 auto_compile script.
+if (!$ENV{ACE_ROOT}) {
+ $ACE_ROOT = getcwd ()."\\";
+ warn "ACE_ROOT not defined, defaulting to ACE_ROOT=$ACE_ROOT";
+}
+else {
+ $ACE_ROOT = $ENV{ACE_ROOT};
+}
+
+use lib "$ENV{ACE_ROOT}/bin";
+
+use File::Find;
+use PerlACE::Run_Test;
+use Cwd;
+
+@directories = ();
+
+@ace_dirs = ("$ACE_ROOT\\ace",
+ "$ACE_ROOT\\ACEXML\\common",
+ "$ACE_ROOT\\ACEXML\\parser",
+ "$ACE_ROOT\\ACEXML\\apps",
+ "$ACE_ROOT\\ACEXML\\tests",
+ "$ACE_ROOT\\ACEXML\\examples",
+ "$ACE_ROOT\\apps",
+ "$ACE_ROOT\\ASNMP",
+ "$ACE_ROOT\\examples",
+ "$ACE_ROOT\\netsvcs",
+ "$ACE_ROOT\\performance-tests",
+ "$ACE_ROOT\\tests",
+ "$ACE_ROOT\\websvcs");
+
+$debug = 0;
+$verbose = 0;
+$print_status = 0;
+$Ignore_errors = 0; # By default, bail out if an error occurs.
+$Build_LIB = 0;
+$Build_Debug = 0;
+$Build_Release = 0;
+$Build_All = 1;
+$build_core_only = 0;
+$Build_Cmd = "/BUILD";
+$use_custom_dir = 0;
+$useenv = '';
+
+# Find_dsp will search a directory for *.dsp files and return a list
+# of strings that include the project name and the configuration
+sub Find_dsp (@)
+{
+ my (@dir) = @_;
+ @array = ();
+ my @config_array = ();
+
+ # wanted is only used for the File::Find
+ sub wanted
+ {
+ $array[++$#array] = $File::Find::name if ($File::Find::name =~ /\.dsp$/i);
+ }
+
+ # get_config grabs the configurations out of a dsp file.
+ sub get_config ($)
+ {
+ my ($file) = @_;
+ my @configs = ();
+
+ print "Looking at $file\n" if ($verbose);
+
+ open (DSP, "< $file") || die $!;
+
+ while (<DSP>)
+ {
+ push @configs, $1 if (/# Name \"([^\"]+)\"/);
+ }
+
+ close (DSP);
+ return @configs;
+ }
+
+ unshift @dir, (\&wanted);
+
+ find @dir;
+
+ for ($i = 0; $i <= $#array; ++$i) {
+ my $filename = "$array[$i]";
+
+ $filename =~ s@/./@/@g;
+ $filename =~ s@/@\\@g;
+ my @dsp_configs = get_config ($array[$i]);
+
+ for ($j = 0; $j <= $#dsp_configs; ++$j) {
+ push @config_array, "$filename--$dsp_configs[$j]";
+ }
+ }
+
+ return @config_array;
+}
+
+
+# Build_Config takes in a string of the type "project--configuration" and
+# runs msdev to build it.
+sub Build_Config ($)
+{
+ my ($arg) = @_;
+ my ($project, $config) = split /--/, $arg;
+
+ return Build ($project, $config);
+}
+
+# Build
+sub Build ($$)
+{
+ my ($project, $config) = @_;
+
+ if ($debug == 1) {
+ print "$project\n";
+ return 0;
+ }
+ else {
+ print "Auto_compiling $project : $config\n";
+
+ print "Building $project $config\n" if $verbose;
+
+ return system ("msdev.com $project /MAKE \"$config\" $Build_Cmd $useenv");
+ }
+}
+
+# Only builds the core libraries.
+sub Build_Core ()
+{
+ print STDERR "Building Core of ACE/TAO\n" if ($print_status == 1);
+ print "Building Core of ACE/TAO\n" if ($verbose == 1);
+
+ print "Build \n" if ($verbose);
+ print "Debug " if ($verbose) && ($Build_Debug);
+ print "Release " if ($verbose) && ($Build_Release);
+ print "LIB " if ($verbose) && ($Build_LIB);
+ print "\n" if ($verbose);
+
+ my @core_list = ();
+
+ if ($Build_LIB) {
+ push (@file_list, "/bin/msvc_static_order.lst");
+
+ foreach my$test_lst (@file_list) {
+ my $config_list = new PerlACE::ConfigList;
+ $config_list->load ($ACE_ROOT.$test_lst);
+
+ foreach $test ($config_list->valid_entries ()) {
+ push (@core_list, $test);
+ }
+ }
+
+
+ foreach $c (@core_list) {
+ if ($Build_Debug) {
+ $Status = Build ($c, "ALL - Win32 Debug");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ if ($Build_Release) {
+ $Status = Build ($c, "ALL - Win32 Release");
+ return if $Status != 0 && !$Ignore_errors;
+ }
+ }
+ }
+}
+
+sub Build_All ()
+{
+ my @configurations = Find_dsp (@directories);
+
+ print STDERR "First pass (libraries)\n" if ($print_status == 1);
+ print "\nmsvc_auto_compile: First Pass (libraries)\n";
+
+ foreach $c (@configurations) {
+ if ($Build_All
+ || ($Build_LIB && $Build_Debug && $c =~ /Win32 Debug/)
+ || ($Build_LIB && $Build_Release && $c =~ /Win32 Release/))
+ {
+ my $Status = 0;
+ $Status = Build_Config ($c)
+ if (($c =~ /Library/) || ($c =~ / DLL /) || ($c =~ / LIB /));
+ return if ($Status != 0 && !$Ignore_errors);
+ }
+ }
+
+
+ print STDERR "Second pass \n" if ($print_status == 1);
+ print "\nmsvc_auto_compile: Second Pass\n";
+
+ $count = 0;
+ foreach $c (@configurations) {
+ print STDERR "Configuration ".$count++." of ".$#configurations."\n" if ($print_status == 1);
+ Build_Config ($c)
+ if (($Build_LIB && $Build_Debug && $c =~ /Win32 Debug/)
+ || ($Build_LIB && $Build_Release && $c =~ /Win32 Release/));
+ }
+}
+
+
+## Parse command line argument
+while ( $#ARGV >= 0 && $ARGV[0] =~ /^(-|\/)/ )
+{
+ if ($ARGV[0] =~ '-k') { # Ignore errors
+ print "Ignore errors\n" if ( $verbose );
+ $Ignore_errors = 1;
+ }
+ elsif ($ARGV[0] =~ /^-d$/i) { # debug
+ $debug = 1;
+ }
+ elsif ($ARGV[0] =~ '-v') { # verbose mode
+ $verbose = 1;
+ }
+ elsif ($ARGV[0] =~ '-s') { # status messages
+ $print_status = 1;
+ }
+ elsif ($ARGV[0] =~ '-u') { # USEENV
+ print "Using Environment\n" if ($verbose);
+ $useenv = '/USEENV';
+ }
+ elsif ($ARGV[0] =~ '-CORE') { # Build the core of ace/tao
+ print "Building only Core\n" if ( $verbose );
+ $build_core_only = 1;
+ }
+ elsif ($ARGV[0] =~ '-ACE') { # Build ACE and its programs
+ print "Building ACE\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, @ace_dirs;
+ }
+ elsif ($ARGV[0] =~ '-TAO') { # Build TAO and its programs
+ print "Building TAO\n" if ( $verbose );
+ $use_custom_dir = 1;
+ # Other tests depend on the lib in this dir so we need to force it
+ # to the front of the build list. This is pretty ugly.
+ push @directories, ("$ACE_ROOT\\TAO\\orbsvcs\\tests\\Notify\\lib");
+ push @directories, ("$ACE_ROOT\\TAO");
+ }
+ elsif ($ARGV[0] =~ '-dir') { # Compile only a specific directory
+ shift;
+ print "Adding directory $ARGV[0]\n" if ( $verbose );
+ $use_custom_dir = 1;
+ push @directories, $ARGV[0];
+ }
+ elsif ($ARGV[0] =~ '-rebuild') { # Rebuild all
+ print "Rebuild all\n" if ( $verbose );
+ $Build_Cmd = "/REBUILD";
+ }
+ elsif ($ARGV[0] =~ '-clean') { # Clean
+ print "Cleaning all\n" if ( $verbose );
+ $Build_Cmd = "/CLEAN";
+ }
+ elsif ($ARGV[0] =~ '-Debug') { # Debug versions
+ print "Building Debug Version\n" if ( $verbose );
+ $Build_Debug = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-Release') { # Release versions
+ print "Building Release Version\n" if ( $verbose );
+ $Build_Release = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-LIB') { # Build LIB only
+ print "Build LIB only\n" if ( $verbose );
+ $Build_LIB = 1;
+ $Build_All = 0;
+ }
+ elsif ($ARGV[0] =~ '-(\?|h)') { # Help information
+ print "Options\n";
+ print "-d = Debug (only print out projects)\n";
+ print "-k = Ignore Errors\n";
+ print "-v = Script verbose Mode\n";
+ print "-s = Print status messages to STDERR\n";
+ print "-u = Tell MSVC to use the environment\n";
+ print "\n";
+ print "-CORE = Build the Core libraries\n";
+ print "-ACE = Build ACE and its programs\n";
+ print "-TAO = Build TAO and its programs\n";
+ print "-dir <dir> = Compile custom directories\n";
+ print "\n";
+ print "-rebuild = Rebuild All\n";
+ print "-clean = Clean\n";
+ print "-Debug = Compile Debug versions\n";
+ print "-Release = Compile Release versions\n";
+ print "-LIB = Comple LIB Configurations\n";
+ exit;
+ }
+ else {
+ warn "$0: unknown option $ARGV[0]\n";
+ die -1;
+ }
+ shift;
+}
+
+if (!$Build_DLL && !$Build_LIB) {
+ $Build_DLL = 1;
+ $Build_LIB = 1;
+}
+
+if (!$Build_Debug && !$Build_Release) {
+ $Build_Debug = 1;
+ $Build_Release = 1;
+}
+
+if ($#directories < 0) {
+ @directories = ($ACE_ROOT);
+}
+
+print "msvc_auto_compile: Begin\n";
+print STDERR "Beginning Core Build\n" if ($print_status == 1);
+Build_Core if (!$use_custom_dir || $build_core_only);
+print STDERR "Beginning Full Build\n" if ($print_status == 1);
+Build_All if !$build_core_only;
+
+print "msvc_auto_compile: End\n";
+print STDERR "End\n" if ($print_status == 1);
diff --git a/bin/msvc_static_order.lst b/bin/msvc_static_order.lst
new file mode 100644
index 00000000000..98035217d1e
--- /dev/null
+++ b/bin/msvc_static_order.lst
@@ -0,0 +1,57 @@
+# $Id$
+#
+# This file lists the project files that must be build first in a static
+# build using msvc_static_compile.pl
+ace/ace.dsp
+Kokyu/Kokyu.dsp
+ACEXML/parser/parser/ACEXML_Parser.dsp
+ACEXML/common/ACEXML.dsp
+apps/gperf/src/gperf.dsp
+TAO/TAO_IDL/TAO_IDL_BE.dsp
+TAO/TAO_IDL/TAO_IDL_FE.dsp
+TAO/TAO_IDL/TAO_IDL_EXE.dsp
+TAO/tao/TAO.dsp
+TAO/tao/Valuetype/Valuetype.dsp
+TAO/tao/IORInterceptor/IORInterceptor.dsp
+TAO/tao/ObjRefTemplate/ObjRefTemplate.dsp
+TAO/tao/PortableServer/PortableServer.dsp
+TAO/tao/DynamicAny/DynamicAny.dsp
+TAO/tao/IORManipulation/IORManipulation.dsp
+TAO/tao/IORTable/IORTable.dsp
+TAO/tao/Messaging/Messaging.dsp
+TAO/tao/DynamicInterface/DynamicInterface.dsp
+TAO/tao/Strategies/Strategies.dsp
+TAO/tao/RTCORBA/RTCORBA.dsp
+TAO/tao/RTPortableServer/RTPortableServer.dsp
+TAO/tao/Utils/Utils.dsp
+TAO/tao/RTScheduling/RTScheduler.dsp
+TAO/tao/IFR_Client/IFR_Client.dsp
+TAO/tao/TypeCodeFactory/TypeCodeFactory.dsp
+TAO/orbsvcs/orbsvcs/Svc_Utils.dsp
+TAO/orbsvcs/orbsvcs/CosNaming.dsp
+TAO/orbsvcs/orbsvcs/CosProperty.dsp
+TAO/orbsvcs/orbsvcs/CosTrading.dsp
+TAO/orbsvcs/orbsvcs/AV.dsp
+TAO/orbsvcs/orbsvcs/ETCL.dsp
+TAO/orbsvcs/orbsvcs/RTEvent.dsp
+TAO/orbsvcs/orbsvcs/RTSched.dsp
+TAO/orbsvcs/orbsvcs/RTSchedEvent.dsp
+TAO/orbsvcs/orbsvcs/RTOLDEvent.dsp
+TAO/orbsvcs/orbsvcs/CosEvent.dsp
+TAO/orbsvcs/orbsvcs/RTKokyuEvent.dsp
+TAO/orbsvcs/orbsvcs/CosConcurrency.dsp
+TAO/orbsvcs/orbsvcs/CosLifeCycle.dsp
+TAO/orbsvcs/orbsvcs/CosTime.dsp
+TAO/orbsvcs/orbsvcs/CosNotification.dsp
+TAO/orbsvcs/orbsvcs/DsLogAdmin.dsp
+TAO/orbsvcs/orbsvcs/DsEventLogAdmin.dsp
+TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.dsp
+TAO/orbsvcs/orbsvcs/FTORB_Utils.dsp
+TAO/orbsvcs/orbsvcs/FT_ClientORB.dsp
+TAO/orbsvcs/orbsvcs/FT_ServerORB.dsp
+TAO/orbsvcs/orbsvcs/PortableGroup.dsp
+TAO/orbsvcs/orbsvcs/CosLoadBalancing.dsp
+TAO/orbsvcs/orbsvcs/IFRService.dsp
+TAO/orbsvcs/orbsvcs/RT_Notification.dsp
+TAO/orbsvcs/Naming_Service/Naming_Service.dsp
+tests/Test_Output.dsp
diff --git a/etc/ciao.doxygen b/etc/ciao.doxygen
new file mode 100644
index 00000000000..82b3746bbef
--- /dev/null
+++ b/etc/ciao.doxygen
@@ -0,0 +1,172 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+
+PROJECT_NAME = CIAO
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/CIAO/ciao
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ciao/ciao
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO . ACEXML
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE \
+ CIAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/ace/ssl/ACE_SSL.tag=../../ace/ssl \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/rtcorba/TAO_RTCORBA.tag=../rtcorba \
+ html/tao/security/TAO_Security.tag=../security \
+ html/acexml/ACEXML.tag=../../acexml
+ html/tao/rtportableserver/TAO_RTPortableServer.tag=../rtportableserver \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming \
+ html/tao/ifr/TAO_IFR.tag=../ifr
+GENERATE_TAGFILE = html/tao/ciao/ciao/CIAO.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/etc/ciao_assembly_deployer.doxygen b/etc/ciao_assembly_deployer.doxygen
new file mode 100644
index 00000000000..ecc91365041
--- /dev/null
+++ b/etc/ciao_assembly_deployer.doxygen
@@ -0,0 +1,171 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+PROJECT_NAME = ASSEMBLY_DEPLOYER
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/CIAO/tools/Assembly_Deployer
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ciao/tools/assembly_deployer
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO . ACEXML TAO/tao/IORTable TAO/CIAO/tools/XML_Helpers
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE \
+ CIAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/ace/ssl/ACE_SSL.tag=../../ace/ssl \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/rtcorba/TAO_RTCORBA.tag=../rtcorba \
+ html/tao/security/TAO_Security.tag=../security \
+ html/acexml/ACEXML.tag=../../acexml \
+ html/tao/rtportableserver/TAO_RTPortableServer.tag=../rtportableserver \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming \
+ html/tao/ifr/TAO_IFR.tag=../ifr
+GENERATE_TAGFILE = html/tao/ciao/tools/Assembly_Deployer.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/etc/ciao_componentserver.doxygen b/etc/ciao_componentserver.doxygen
new file mode 100644
index 00000000000..fc67e584ec7
--- /dev/null
+++ b/etc/ciao_componentserver.doxygen
@@ -0,0 +1,171 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+PROJECT_NAME = COMPONENTSERVER
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/CIAO/tools/ComponentServer
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ciao/tools/componentserver
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE \
+ CIAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/ace/ssl/ACE_SSL.tag=../../ace/ssl \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/rtcorba/TAO_RTCORBA.tag=../rtcorba \
+ html/tao/security/TAO_Security.tag=../security \
+ html/acexml/ACEXML.tag=../../acexml \
+ html/tao/rtportableserver/TAO_RTPortableServer.tag=../rtportableserver \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming \
+ html/tao/ifr/TAO_IFR.tag=../ifr
+GENERATE_TAGFILE = html/tao/ciao/tools/ComponentServer.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/etc/ciao_daemon.doxygen b/etc/ciao_daemon.doxygen
new file mode 100644
index 00000000000..a2a0256a6c8
--- /dev/null
+++ b/etc/ciao_daemon.doxygen
@@ -0,0 +1,171 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+PROJECT_NAME = DAEMON
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/CIAO/tools/Daemon
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =add
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ciao/tools/daemon
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO . ACEXML TAO/CIAO/tools/XML_Helpers TAO/tao/IORTable
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE \
+ CIAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/ace/ssl/ACE_SSL.tag=../../ace/ssl \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/rtcorba/TAO_RTCORBA.tag=../rtcorba \
+ html/tao/security/TAO_Security.tag=../security \
+ html/acexml/ACEXML.tag=../../acexml \
+ html/tao/rtportableserver/TAO_RTPortableServer.tag=../rtportableserver \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming \
+ html/tao/ifr/TAO_IFR.tag=../ifr
+GENERATE_TAGFILE = html/tao/ciao/tools/Daemon.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/etc/ciao_serveractivator.doxygen b/etc/ciao_serveractivator.doxygen
new file mode 100644
index 00000000000..b6b083d215e
--- /dev/null
+++ b/etc/ciao_serveractivator.doxygen
@@ -0,0 +1,171 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+PROJECT_NAME = SERVERACTIVATOR
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/CIAO/tools/ServerActivator
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ciao/tools/serveractivator
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO . ACEXML TAO/tao/IORTable
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE \
+ CIAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/ace/ssl/ACE_SSL.tag=../../ace/ssl \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/rtcorba/TAO_RTCORBA.tag=../rtcorba \
+ html/tao/security/TAO_Security.tag=../security \
+ html/acexml/ACEXML.tag=../../acexml \
+ html/tao/rtportableserver/TAO_RTPortableServer.tag=../rtportableserver \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming \
+ html/tao/ifr/TAO_IFR.tag=../ifr
+GENERATE_TAGFILE = html/tao/ciao/tools/ServerActivator.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/etc/ciao_xml_helpers.doxygen b/etc/ciao_xml_helpers.doxygen
new file mode 100644
index 00000000000..7242e803653
--- /dev/null
+++ b/etc/ciao_xml_helpers.doxygen
@@ -0,0 +1,171 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+PROJECT_NAME = XML_HELPERS
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/CIAO/tools/XML_Helpers
+FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ciao/tools/xml_helpers
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO . ACEXML TAO/tao/IORTable TAO/CIAO/tools/XML_Helpers
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE \
+ CIAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/ace/ssl/ACE_SSL.tag=../../ace/ssl \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/rtcorba/TAO_RTCORBA.tag=../rtcorba \
+ html/tao/security/TAO_Security.tag=../security \
+ html/acexml/ACEXML.tag=../../acexml \
+ html/tao/rtportableserver/TAO_RTPortableServer.tag=../rtportableserver \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming \
+ html/tao/ifr/TAO_IFR.tag=../ifr
+GENERATE_TAGFILE = html/tao/ciao/tools/XML_Helpers.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/etc/tao_ifr.doxygen b/etc/tao_ifr.doxygen
new file mode 100644
index 00000000000..d2592c905c9
--- /dev/null
+++ b/etc/tao_ifr.doxygen
@@ -0,0 +1,165 @@
+# Doxyfile 1.3.4
+#
+# $Id$
+#
+
+PROJECT_NAME = TAO_IFR
+PROJECT_NUMBER = Snapshot
+OUTPUT_DIRECTORY = .
+OUTPUT_LANGUAGE = English
+DISABLE_INDEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+INTERNAL_DOCS = NO
+CLASS_DIAGRAMS = YES
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+VERBATIM_HEADERS = YES
+SHOW_INCLUDE_FILES = YES
+JAVADOC_AUTOBRIEF = NO
+INHERIT_DOCS = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+DISTRIBUTE_GROUP_DOC = YES
+TAB_SIZE = 8
+ENABLED_SECTIONS =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+QUIET = YES
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+INPUT = TAO/orbsvcs/IFR_Service
+FILE_PATTERNS = *.cpp *.h
+RECURSIVE =
+EXCLUDE =
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+IMAGE_PATH =
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+GENERATE_HTML = YES
+HTML_OUTPUT = html/tao/ifr
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = TAO .
+PREDEFINED =
+EXPAND_AS_DEFINED = ACE_RCSID \
+ ACE_UNIMPLEMENTED_FUNC \
+ ACE_CACHE_MAP_MANAGER \
+ ACE_THROW_SPEC \
+ TAO_NAMESPACE
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+TAGFILES = html/ace/ACE.tag=../../ace
+ html/tao/TAO.tag=.. \
+ html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
+ html/tao/iortable/TAO_IORTable.tag=../iortable \
+ html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming
+GENERATE_TAGFILE = html/tao/ifr/TAO_IFR.tag
+ALLEXTERNALS = NO
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz
+
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+DOT_PATH =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+SEARCHENGINE = NO
+
diff --git a/examples/APG/Active_Objects/AO.cpp b/examples/APG/Active_Objects/AO.cpp
new file mode 100644
index 00000000000..326eaedc9a0
--- /dev/null
+++ b/examples/APG/Active_Objects/AO.cpp
@@ -0,0 +1,190 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Activation_Queue.h"
+#include "ace/Task.h"
+#include "ace/Future.h"
+#include "ace/Auto_Ptr.h"
+// Listing 1 code/ch15
+class HA_ControllerAgent
+{
+ // Proxy to the HA_Controller that is on the network.
+public:
+ HA_ControllerAgent ()
+ {
+ ACE_TRACE
+ (ACE_TEXT ("HA_ControllerAgent::HA_ControllerAgent"));
+ status_result_ = 1;
+ }
+
+ int status_update (void)
+ {
+ ACE_TRACE (ACE_TEXT ("HA_ControllerAgent::status_update"));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Obtaining a status_update in %t ")
+ ACE_TEXT ("thread of control\n")));
+ // Simulate time to send message and get status.
+ ACE_OS::sleep (2);
+ return next_result_id ();
+ }
+
+private:
+ int next_result_id (void)
+ {
+ ACE_TRACE (ACE_TEXT ("HA_ControllerAgent::next_cmd_id"));
+ return status_result_++;
+ }
+
+ int status_result_;
+};
+// Listing 1
+// Listing 2 code/ch15
+class StatusUpdate : public ACE_Method_Request
+{
+public:
+ StatusUpdate (HA_ControllerAgent& controller,
+ ACE_Future<int>& returnVal)
+ : controller_(controller), returnVal_(returnVal)
+ {
+ ACE_TRACE (ACE_TEXT ("StatusUpdate::StatusUpdate"));
+ }
+
+ virtual int call (void)
+ {
+ ACE_TRACE (ACE_TEXT ("StatusUpdate::call"));
+
+ // status_update with the controller.
+ this->returnVal_.set (this->controller_.status_update ());
+ return 0;
+ }
+
+private:
+ HA_ControllerAgent& controller_;
+ ACE_Future<int> returnVal_;
+};
+// Listing 2
+// Listing 3 code/ch15
+class ExitMethod : public ACE_Method_Request
+{
+public:
+ virtual int call (void)
+ {
+ // Cause exit.
+ return -1;
+ }
+};
+// Listing 3
+// Listing 4 code/ch15
+class Scheduler : public ACE_Task_Base
+{
+public:
+ Scheduler ()
+ {
+ ACE_TRACE (ACE_TEXT ("Scheduler::Scheduler"));
+ this->activate ();
+ }
+
+ virtual int svc (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Scheduler::svc"));
+
+ while (1)
+ {
+ // Dequeue the next method object
+ auto_ptr<ACE_Method_Request>
+ request (this->activation_queue_.dequeue ());
+
+ // Invoke the method request.
+ if (request->call () == -1)
+ break;
+ }
+
+ return 0;
+ }
+
+ int enqueue (ACE_Method_Request *request)
+ {
+ ACE_TRACE (ACE_TEXT ("Scheduler::enqueue"));
+ return this->activation_queue_.enqueue (request);
+ }
+
+private:
+ ACE_Activation_Queue activation_queue_;
+};
+// Listing 4
+// Listing 5 code/ch15
+class HA_ControllerAgentProxy
+{
+ // This acts as a Proxy to the controller impl object.
+public:
+ ACE_Future<int> status_update (void)
+ {
+ ACE_TRACE
+ (ACE_TEXT ("HA_ControllerAgentProxy::status_update"));
+ ACE_Future<int> result;
+
+ // Create and enqueue a method request on the scheduler.
+ this->scheduler_.enqueue
+ (new StatusUpdate (this->controller_, result));
+
+ // Return Future to the client.
+ return result;
+ }
+
+ void exit (void)
+ {
+ ACE_TRACE (ACE_TEXT ("HA_ControllerAgentProxy::exit"));
+ this->scheduler_.enqueue (new ExitMethod);
+ }
+
+private:
+ Scheduler scheduler_;
+ HA_ControllerAgent controller_;
+};
+// Listing 5
+// Listing 6 code/ch15
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_ControllerAgentProxy controller;
+ ACE_Future<int> results[10];
+
+ for (int i = 0 ; i < 10; i++)
+ results[i] = controller.status_update ();
+
+ ACE_OS::sleep (5); // Do other work.
+
+ // Get results...
+ for (int j = 0; j < 10; j++)
+ {
+ int result;
+ results[j].get (result);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("New status_update %d\n"), result));
+ }
+
+ // Cause the status_updater threads to exit.
+ controller.exit ();
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
+// Listing 6
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Future<int>;
+template class ACE_Future_Rep<int>;
+template class ACE_Future_Observer<int>;
+template class ACE_Unbounded_Set<ACE_Future_Observer<int> *>;
+template class ACE_Node<ACE_Future_Observer<int> *>;
+template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<int> *>;
+template class ACE_Atomic_Op<ACE_Null_Mutex, unsigned int>;
+template class ACE_Atomic_Op_Ex<ACE_Null_Mutex, unsigned int>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Future<int>
+#pragma instantiate ACE_Future_Rep<int>
+#pragma instantiate ACE_Future_Observer<int>
+#pragma instantiate ACE_Unbounded_Set<ACE_Future_Observer<int> *>
+#pragma instantiate ACE_Node<ACE_Future_Observer<int> *>
+#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_Future_Observer<int> *>
+#pragma instantiate ACE_Atomic_Op<ACE_Null_Mutex, unsigned int>
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Null_Mutex, unsigned int>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Active_Objects/AO2.cpp b/examples/APG/Active_Objects/AO2.cpp
new file mode 100644
index 00000000000..ce5f6eab4d5
--- /dev/null
+++ b/examples/APG/Active_Objects/AO2.cpp
@@ -0,0 +1,200 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Activation_Queue.h"
+#include "ace/Task.h"
+#include "ace/Future.h"
+#include "ace/Auto_Ptr.h"
+
+class HA_ControllerAgent
+{
+ // Proxy to the HA_Controller that is on the network.
+public:
+ HA_ControllerAgent ()
+ {
+ ACE_TRACE
+ (ACE_TEXT ("HA_ControllerAgent::HA_ControllerAgent"));
+ status_result_ = 1;
+ }
+
+ int status_update (void)
+ {
+ ACE_TRACE (ACE_TEXT ("HA_ControllerAgent::status_update"));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Obtaining a status_update in %t ")
+ ACE_TEXT ("thread of control\n")));
+ // Simulate sending message to controller
+ // and getting status.
+ ACE_OS::sleep (2);
+ return next_result_id ();
+ }
+
+private:
+ int next_result_id (void)
+ {
+ ACE_TRACE (ACE_TEXT ("HA_ControllerAgent::next_cmd_id"));
+ return status_result_++;
+ }
+
+ int status_result_;
+};
+
+class StatusUpdate : public ACE_Method_Request
+{
+public:
+ StatusUpdate (HA_ControllerAgent& controller,
+ ACE_Future<int>& returnVal)
+ : controller_(controller), returnVal_(returnVal)
+ {
+ ACE_TRACE (ACE_TEXT ("StatusUpdate::StatusUpdate"));
+ }
+
+ virtual int call (void)
+ {
+ ACE_TRACE (ACE_TEXT ("StatusUpdate::call"));
+
+ // status_update with the controller.
+ this->returnVal_.set (this->controller_.status_update ());
+ return 0;
+ }
+
+private:
+ HA_ControllerAgent& controller_;
+ ACE_Future<int> returnVal_;
+};
+
+class ExitMethod : public ACE_Method_Request
+{
+public:
+ virtual int call (void)
+ {
+ // Cause exit.
+ return -1;
+ }
+};
+
+class Scheduler : public ACE_Task_Base
+{
+public:
+ Scheduler ()
+ {
+ ACE_TRACE (ACE_TEXT ("Scheduler::Scheduler"));
+ this->activate ();
+ }
+
+ virtual int svc (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Scheduler::svc"));
+
+ while (1)
+ {
+ // Dequeue the next method object
+ auto_ptr<ACE_Method_Request>
+ request (this->activation_queue_.dequeue ());
+
+ // Invoke the method request.
+ if (request->call () == -1)
+ break;
+ }
+
+ return 0;
+ }
+
+ int enqueue (ACE_Method_Request *request)
+ {
+ ACE_TRACE (ACE_TEXT ("Scheduler::enqueue"));
+ return this->activation_queue_.enqueue (request);
+ }
+
+private:
+ ACE_Activation_Queue activation_queue_;
+};
+
+class HA_ControllerAgentProxy
+{
+ // This acts as a Proxy to the controller impl object.
+public:
+ ACE_Future<int> status_update (void)
+ {
+ ACE_TRACE
+ (ACE_TEXT ("HA_ControllerAgentProxy::status_update"));
+ ACE_Future<int> result;
+
+ // Create and enqueue a method request on the scheduler.
+ this->scheduler_.enqueue
+ (new StatusUpdate (this->controller_, result));
+
+ // Return Future to the client.
+ return result;
+ }
+
+ void exit (void)
+ {
+ ACE_TRACE (ACE_TEXT ("HA_ControllerAgentProxy::exit"));
+ this->scheduler_.enqueue (new ExitMethod);
+ }
+
+private:
+ Scheduler scheduler_;
+ HA_ControllerAgent controller_;
+};
+
+// Listing 1 code/ch15
+class CompletionCallBack : public ACE_Future_Observer<int>
+{
+public:
+ CompletionCallBack (HA_ControllerAgentProxy& proxy)
+ : proxy_(proxy)
+ { }
+
+ virtual void update (const ACE_Future<int>& future)
+ {
+ int result;
+ ((ACE_Future<int>)future).get (result);
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("(%t) New Status %d\n"), result));
+ if (result == 10)
+ this->proxy_.exit ();
+ }
+
+private:
+ HA_ControllerAgentProxy& proxy_;
+};
+// Listing 1
+// Listing 2 code/ch15
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_ControllerAgentProxy controller;
+ ACE_Future<int> results[10];
+ CompletionCallBack cb (controller);
+
+ for (int i = 0 ; i < 10; i++)
+ {
+ results[i] = controller.status_update ();
+ results[i].attach (&cb);
+ }
+
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
+// Listing 2
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Future<int>;
+template class ACE_Future_Rep<int>;
+template class ACE_Future_Observer<int>;
+template class ACE_Unbounded_Set<ACE_Future_Observer<int> *>;
+template class ACE_Node<ACE_Future_Observer<int> *>;
+template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<int> *>;
+template class ACE_Atomic_Op<ACE_Null_Mutex, unsigned int>;
+template class ACE_Atomic_Op_Ex<ACE_Null_Mutex, unsigned int>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Future<int>
+#pragma instantiate ACE_Future_Rep<int>
+#pragma instantiate ACE_Future_Observer<int>
+#pragma instantiate ACE_Unbounded_Set<ACE_Future_Observer<int> *>
+#pragma instantiate ACE_Node<ACE_Future_Observer<int> *>
+#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_Future_Observer<int> *>
+#pragma instantiate ACE_Atomic_Op<ACE_Null_Mutex, unsigned int>
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Null_Mutex, unsigned int>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Active_Objects/Makefile b/examples/APG/Active_Objects/Makefile
new file mode 100644
index 00000000000..c111f44f594
--- /dev/null
+++ b/examples/APG/Active_Objects/Makefile
@@ -0,0 +1,534 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = AO \
+ AO2
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/AO.o .obj/AO.so .shobj/AO.o .shobj/AO.so: AO.cpp \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Future.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Future.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp
+
+.obj/AO2.o .obj/AO2.so .shobj/AO2.o .shobj/AO2.so: AO2.cpp \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Future.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Future.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/Active_Objects/active_objects.mpc b/examples/APG/Active_Objects/active_objects.mpc
new file mode 100644
index 00000000000..03bfd27a610
--- /dev/null
+++ b/examples/APG/Active_Objects/active_objects.mpc
@@ -0,0 +1,13 @@
+project(AO) : aceexe {
+ exename = AO
+ Source_Files {
+ AO.cpp
+ }
+}
+
+project(AO2) : aceexe {
+ exename = AO2
+ Source_Files {
+ AO2.cpp
+ }
+}
diff --git a/examples/APG/Active_Objects/active_objects.mwc b/examples/APG/Active_Objects/active_objects.mwc
new file mode 100644
index 00000000000..f27cf43bfc9
--- /dev/null
+++ b/examples/APG/Active_Objects/active_objects.mwc
@@ -0,0 +1,3 @@
+workspace {
+ active_objects.mpc
+}
diff --git a/examples/APG/Config/ARGV_Example.cpp b/examples/APG/Config/ARGV_Example.cpp
new file mode 100644
index 00000000000..92fb25cd30d
--- /dev/null
+++ b/examples/APG/Config/ARGV_Example.cpp
@@ -0,0 +1,62 @@
+/**
+ * $Id$
+ *
+ * ACE_ARGV examples not in a larger program. Sample code from The ACE
+ * Programmer's Guide, Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#include "ace/os_include/os_netdb.h"
+#include "ace/OS_NS_string.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch04
+#include "ace/ARGV.h"
+#include "ace/Get_Opt.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ static const ACE_TCHAR options[] = ACE_TEXT (":f:h:");
+ static const ACE_TCHAR cmdline[] =
+ ACE_TEXT ("-f /home/managed.cfg -h $HOSTNAME");
+ ACE_ARGV cmdline_args (cmdline);
+ ACE_Get_Opt cmd_opts (cmdline_args.argc (),
+ cmdline_args.argv (),
+ options,
+ 0); // Don't skip any args
+
+// Listing 1
+
+ int option;
+ ACE_TCHAR config_file[MAXPATHLEN];
+ ACE_TCHAR hostname[MAXHOSTNAMELEN];
+ ACE_OS_String::strcpy (config_file, ACE_TEXT ("HAStatus.conf"));
+ ACE_OS_String::strcpy (hostname, ACE_TEXT ("not set"));
+ while ((option = cmd_opts ()) != EOF)
+ switch (option) {
+ case 'f':
+ ACE_OS_String::strncpy (config_file,
+ cmd_opts.opt_arg (),
+ MAXPATHLEN);
+ break;
+
+ case 'h':
+ ACE_OS_String::strncpy (hostname,
+ cmd_opts.opt_arg (),
+ MAXHOSTNAMELEN);
+ break;
+
+ case ':':
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("-%c requires an argument\n"),
+ cmd_opts.opt_opt ()), -1);
+
+
+ default:
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("Parse error.\n")), -1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Config file: %s\n"), config_file));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Hostname: %s\n"), hostname));
+ return 0;
+}
diff --git a/examples/APG/Config/Get_Opt.cpp b/examples/APG/Config/Get_Opt.cpp
new file mode 100644
index 00000000000..604dc38326e
--- /dev/null
+++ b/examples/APG/Config/Get_Opt.cpp
@@ -0,0 +1,59 @@
+/**
+ * $Id$
+ *
+ * ACE_Get_Opt examples not in a larger program. Sample code from The ACE
+ * Programmer's Guide, Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#include "ace/OS_NS_string.h"
+#include "ace/Get_Opt.h"
+#include "ace/Log_Msg.h"
+
+int
+ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+
+ // Example for a long option without a corresponding short option.
+ // Just put some context here so the following compiles and runs.
+ static const ACE_TCHAR options[] = ACE_TEXT (":f:");
+ ACE_Get_Opt cmd_opts (argc, argv, options);
+
+ // Listing 1 code/ch04
+ cmd_opts.long_option (ACE_TEXT ("cool_option"));
+ cmd_opts.long_option (ACE_TEXT ("the_answer"), 42);
+ // Listing 1
+
+ int option;
+ ACE_TCHAR config_file[MAXPATHLEN];
+ ACE_OS_String::strcpy (config_file, ACE_TEXT ("HAStatus.conf"));
+ while ((option = cmd_opts ()) != EOF)
+ switch (option) {
+ case 'f':
+ ACE_OS_String::strncpy (config_file,
+ cmd_opts.opt_arg (),
+ MAXPATHLEN);
+ break;
+
+ // Listing 2 code/ch04
+ case 0:
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Yes, very cool.\n")));
+ break;
+
+ case 42:
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("the_answer is 42\n")));
+ break;
+ // Listing 2
+
+ case ':':
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("-%c requires an argument\n"),
+ cmd_opts.opt_opt ()), -1);
+
+
+ default:
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("Parse error.\n")), -1);
+ }
+
+ return 0;
+}
diff --git a/examples/APG/Config/Get_Opt_Long.cpp b/examples/APG/Config/Get_Opt_Long.cpp
new file mode 100644
index 00000000000..66baed05cdb
--- /dev/null
+++ b/examples/APG/Config/Get_Opt_Long.cpp
@@ -0,0 +1,48 @@
+/**
+ * $Id$
+ *
+ * ACE_Get_Opt long_only examples. Sample code from The ACE
+ * Programmer's Guide, Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#include "ace/OS_NS_string.h"
+#include "ace/Get_Opt.h"
+#include "ace/Log_Msg.h"
+
+int
+ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+
+ static const ACE_TCHAR options[] = ACE_TEXT (":f:");
+ ACE_Get_Opt cmd_opts
+ (argc, argv, options, 1, 0, ACE_Get_Opt::PERMUTE_ARGS, 1);
+ if (cmd_opts.long_option
+ (ACE_TEXT ("config"), 'f', ACE_Get_Opt::ARG_REQUIRED) == -1)
+ return -1;
+
+ int option;
+ ACE_TCHAR config_file[MAXPATHLEN];
+ ACE_OS_String::strcpy (config_file, ACE_TEXT ("HAStatus.conf"));
+ while ((option = cmd_opts ()) != EOF)
+ switch (option) {
+ case 'f':
+ ACE_OS_String::strncpy (config_file,
+ cmd_opts.opt_arg (),
+ MAXPATHLEN);
+ break;
+
+ case ':':
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("-%c requires an argument\n"),
+ cmd_opts.opt_opt ()), -1);
+
+
+ default:
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("Parse error.\n")), -1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Config file is %s\n"), config_file));
+
+ return 0;
+}
diff --git a/examples/APG/Config/HASTATUS_export.h b/examples/APG/Config/HASTATUS_export.h
new file mode 100644
index 00000000000..09fe1797f80
--- /dev/null
+++ b/examples/APG/Config/HASTATUS_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HASTATUS
+// ------------------------------
+#ifndef HASTATUS_EXPORT_H
+#define HASTATUS_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (HASTATUS_HAS_DLL)
+# define HASTATUS_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ! HASTATUS_HAS_DLL */
+
+#if !defined (HASTATUS_HAS_DLL)
+# define HASTATUS_HAS_DLL 1
+#endif /* ! HASTATUS_HAS_DLL */
+
+#if defined (HASTATUS_HAS_DLL) && (HASTATUS_HAS_DLL == 1)
+# if defined (HASTATUS_BUILD_DLL)
+# define HASTATUS_Export ACE_Proper_Export_Flag
+# define HASTATUS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HASTATUS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HASTATUS_BUILD_DLL */
+# define HASTATUS_Export ACE_Proper_Import_Flag
+# define HASTATUS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HASTATUS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HASTATUS_BUILD_DLL */
+#else /* HASTATUS_HAS_DLL == 1 */
+# define HASTATUS_Export
+# define HASTATUS_SINGLETON_DECLARATION(T)
+# define HASTATUS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HASTATUS_HAS_DLL == 1 */
+
+// Set HASTATUS_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HASTATUS_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HASTATUS_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HASTATUS_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HASTATUS_NTRACE */
+
+#if (HASTATUS_NTRACE == 1)
+# define HASTATUS_TRACE(X)
+#else /* (HASTATUS_NTRACE == 1) */
+# define HASTATUS_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (HASTATUS_NTRACE == 1) */
+
+#endif /* HASTATUS_EXPORT_H */
+
+// End of auto generated file.
diff --git a/examples/APG/Config/HA_Status.cpp b/examples/APG/Config/HA_Status.cpp
new file mode 100644
index 00000000000..7cc28f2a3f4
--- /dev/null
+++ b/examples/APG/Config/HA_Status.cpp
@@ -0,0 +1,93 @@
+/**
+ * $Id$
+ *
+ * Home Automation Status server. Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#include "ace/Configuration.h"
+#include "ace/Configuration_Import_Export.h"
+#include "ace/Get_Opt.h"
+#include "HA_Status.h"
+
+int
+HA_Status::init (int argc, ACE_TCHAR *argv[])
+{
+
+ // Do ACE_Get_Opt and get conf file name, read out the sections
+ // and print the names.
+
+ // Listing 1 code/ch04
+ static const ACE_TCHAR options[] = ACE_TEXT (":f:");
+ ACE_Get_Opt cmd_opts (argc, argv, options);
+ if (cmd_opts.long_option
+ (ACE_TEXT ("config"), 'f', ACE_Get_Opt::ARG_REQUIRED) == -1)
+ return -1;
+ int option;
+ ACE_TCHAR config_file[MAXPATHLEN];
+ ACE_OS_String::strcpy (config_file, ACE_TEXT ("HAStatus.conf"));
+ while ((option = cmd_opts ()) != EOF)
+ switch (option) {
+ case 'f':
+ ACE_OS_String::strncpy (config_file,
+ cmd_opts.opt_arg (),
+ MAXPATHLEN);
+ break;
+ case ':':
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("-%c requires an argument\n"),
+ cmd_opts.opt_opt ()), -1);
+ default:
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("Parse error.\n")), -1);
+ }
+ // Listing 1
+
+ // Listing 2 code/ch04
+ ACE_Configuration_Heap config;
+ if (config.open () == -1)
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("config")), -1);
+ ACE_Registry_ImpExp config_importer (config);
+ if (config_importer.import_config (config_file) == -1)
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("%p\n"), config_file), -1);
+
+ ACE_Configuration_Section_Key status_section;
+ if (config.open_section (config.root_section (),
+ ACE_TEXT ("HAStatus"),
+ 0,
+ status_section) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Can't open HAStatus section")),
+ -1);
+
+ u_int status_port;
+ if (config.get_integer_value (status_section,
+ ACE_TEXT ("ListenPort"),
+ status_port) == -1)
+ ACE_ERROR_RETURN
+ ((LM_ERROR,
+ ACE_TEXT ("HAStatus ListenPort does not exist\n")),
+ -1);
+ this->listen_addr_.set (ACE_static_cast (u_short, status_port));
+ // Listing 2
+
+ return 0;
+}
+
+int main (int argc, char *argv[])
+{
+ HA_Status status;
+ status.init (argc, argv);
+ return 0;
+}
+
+// These are wrong, just here for an example
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+ template class ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+# pragma instantiate ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Config/HA_Status.h b/examples/APG/Config/HA_Status.h
new file mode 100644
index 00000000000..a27937fa133
--- /dev/null
+++ b/examples/APG/Config/HA_Status.h
@@ -0,0 +1,85 @@
+/**
+ * $Id$
+ *
+ * Home Automation Status server. Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __HASTATUS_H_
+#define __HASTATUS_H_
+
+#include "ace/OS.h"
+#include "ace/Acceptor.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Service_Object.h"
+#include "ace/Svc_Handler.h"
+
+#include "HASTATUS_export.h"
+
+// Listing 10
+class ClientHandler :
+ public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+ typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> super;
+
+ ClientHandler()
+ : super()
+ {
+ // Exclude 10
+ ACE_DEBUG(( LM_INFO,
+ "ClientHandler ctor\n"
+ ));
+ // Exclude 10
+ }
+// Listing 10
+
+ ~ClientHandler()
+ {
+ ACE_DEBUG(( LM_INFO,
+ "ClientHandler dtor\n"
+ ));
+ }
+
+// Listing 13
+ int handle_input (ACE_HANDLE)
+ {
+ char buf[64];
+ int bytesReceived;
+
+ if( (bytesReceived =
+ this->peer_.recv( buf, sizeof(buf)-1 )) < 1 )
+ {
+ ACE_DEBUG(( LM_INFO,
+ "ClientHandler handle_input: "
+ "Received %d bytes. Leaving.\n",
+ bytesReceived
+ ));
+ return -1;
+ }
+
+ buf[bytesReceived] = 0;
+ ACE_DEBUG(( LM_INFO,
+ "ClientHandler handle_input: %s\n",
+ buf
+ ));
+
+ return 0;
+ }
+};
+// Listing 13
+
+
+class HASTATUS_Export HA_Status : public ACE_Service_Object
+{
+public:
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+private:
+ ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR> acceptor_;
+ ACE_INET_Addr listen_addr_;
+};
+
+#endif /* __HASTATUS_H_ */
diff --git a/examples/APG/Config/Makefile b/examples/APG/Config/Makefile
new file mode 100644
index 00000000000..1e05fa953a3
--- /dev/null
+++ b/examples/APG/Config/Makefile
@@ -0,0 +1,626 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Get_Opt Get_Opt_Long ARGV_Example
+LIB = libHA_Status.a
+SHLIB = libHA_Status.$(SOEXT)
+
+LSRC = HA_Status.cpp
+
+LIBS += $(ACELIB)
+
+BUILD = $(VLIB) $(VSHLIB) $(VBIN)
+
+SOURCES = HA_Status.cpp Get_Opt.cpp Get_Opt_Long.cpp ARGV_Example.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/HA_Status.o .obj/HA_Status.so .shobj/HA_Status.o .shobj/HA_Status.so: HA_Status.cpp \
+ $(ACE_ROOT)/ace/Configuration.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.cpp \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Configuration_Import_Export.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ HA_Status.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_NS_dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_NS_dirent.inl \
+ $(ACE_ROOT)/ace/OS_NS_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/OS_NS_dlfcn.inl \
+ $(ACE_ROOT)/ace/OS_NS_math.h \
+ $(ACE_ROOT)/ace/OS_NS_math.inl \
+ $(ACE_ROOT)/ace/OS_NS_netdb.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/OS_NS_netdb.inl \
+ $(ACE_ROOT)/ace/OS_NS_poll.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/OS_NS_poll.inl \
+ $(ACE_ROOT)/ace/OS_NS_regex.h \
+ $(ACE_ROOT)/ace/OS_NS_regex.inl \
+ $(ACE_ROOT)/ace/os_include/os_regex.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_msg.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_resource.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_resource.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_shm.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_shm.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.inl \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ HASTATUS_export.h
+
+.obj/Get_Opt.o .obj/Get_Opt.so .shobj/Get_Opt.o .shobj/Get_Opt.so: Get_Opt.cpp \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/Get_Opt_Long.o .obj/Get_Opt_Long.so .shobj/Get_Opt_Long.o .shobj/Get_Opt_Long.so: Get_Opt_Long.cpp \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+.obj/ARGV_Example.o .obj/ARGV_Example.so .shobj/ARGV_Example.o .shobj/ARGV_Example.so: ARGV_Example.cpp \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/ARGV.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/ARGV.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Get_Opt.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/Config/config.mpc b/examples/APG/Config/config.mpc
new file mode 100644
index 00000000000..5530c6b0ccd
--- /dev/null
+++ b/examples/APG/Config/config.mpc
@@ -0,0 +1,28 @@
+project(*HA Status) : acelib {
+ sharedname = HA_Status
+ dynamicflags = HASTATUS_BUILD_DLL
+ Source_Files {
+ HA_Status.cpp
+ }
+}
+
+project(Get Opt) : aceexe {
+ exename = Get_Opt
+ Source_Files {
+ Get_Opt.cpp
+ }
+}
+
+project(Get Opt Long) : aceexe {
+ exename = Get_Opt_Long
+ Source_Files {
+ Get_Opt_Long.cpp
+ }
+}
+
+project(ARGV Example) : aceexe {
+ exename = ARGV_Example
+ Source_Files {
+ ARGV_Example.cpp
+ }
+}
diff --git a/examples/APG/Config/config.mwc b/examples/APG/Config/config.mwc
new file mode 100644
index 00000000000..2258cdb6730
--- /dev/null
+++ b/examples/APG/Config/config.mwc
@@ -0,0 +1,3 @@
+workspace {
+ config.mpc
+}
diff --git a/examples/APG/Containers/Allocator.cpp b/examples/APG/Containers/Allocator.cpp
new file mode 100644
index 00000000000..9f9fe92d2cc
--- /dev/null
+++ b/examples/APG/Containers/Allocator.cpp
@@ -0,0 +1,108 @@
+// $Id$
+
+#include "ace/Containers.h"
+#include "ace/Malloc_T.h"
+#include "ace/Synch.h" // Needed for the lock.
+#include "DataElement.h"
+
+class StackExample
+{
+public:
+ // Illustrate all the differnet
+ // types of stacks provided by ACE.
+ int run (void);
+
+private:
+ // Illustrate the use of an unbounded stack.
+ int runUnboundedStack (ACE_Allocator* allocator);
+};
+
+// Listing 1 code/ch05
+int StackExample::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("StackUser::run"));
+
+ ACE_Allocator *allocator = 0;
+ size_t block_size = sizeof(ACE_Node<DataElement>);
+ ACE_NEW_RETURN
+ (allocator,
+ ACE_Dynamic_Cached_Allocator<ACE_Null_Mutex>
+ (100 + 1, block_size),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ ACE_ASSERT (this->runUnboundedStack (allocator) != -1);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ delete allocator;
+ return 0;
+}
+// Listing 1
+// Listing 2 code/ch05
+int StackExample::runUnboundedStack (ACE_Allocator* allocator)
+{
+ ACE_TRACE (ACE_TEXT ("StackExample::runUnboundedStack"));
+
+ // Pass in an allocator during construction.
+ ACE_Unbounded_Stack<DataElement> ustack (allocator);
+
+ for (int m = 0; m < 100; m++)
+ {
+ DataElement elem (m);
+ int result = ustack.push (elem);
+ if (result == -1)
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Push Next Element")),
+ -1);
+ }
+
+ void* furtherMemory = 0;
+ furtherMemory = allocator->malloc
+ (sizeof(ACE_Node<DataElement>));
+ ACE_ASSERT (furtherMemory == 0);
+
+ // No memory left..
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("No memory..")));
+
+ // Free up some memory in the allocator.
+ DataElement e;
+ for (int n = 0; n < 10; n++)
+ {
+ ustack.pop (e);
+ }
+
+ furtherMemory =
+ allocator->malloc (sizeof (ACE_Node<DataElement>));
+ ACE_ASSERT (furtherMemory != 0);
+
+ return 0;
+}
+// Listing 2
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ StackExample se;
+ return se.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Dynamic_Cached_Allocator<ACE_Null_Mutex>;
+template class ACE_Unbounded_Stack<DataElement>;
+template class ACE_Node<DataElement>;
+template class ACE_Cached_Mem_Pool_Node<char>;
+template class ACE_Free_List<ACE_Cached_Mem_Pool_Node<char> >;
+template class ACE_Locked_Free_List<ACE_Cached_Mem_Pool_Node<char>,ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Dynamic_Cached_Allocator<ACE_Null_Mutex>
+#pragma instantiate ACE_Unbounded_Stack<DataElement>
+#pragma instantiate ACE_Node<DataElement>
+#pragma instantiate ACE_Cached_Mem_Pool_Node<char>
+#pragma instantiate ACE_Free_List<ACE_Cached_Mem_Pool_Node<char> >
+#pragma instantiate ACE_Locked_Free_List<ACE_Cached_Mem_Pool_Node<char>,ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/Array.cpp b/examples/APG/Containers/Array.cpp
new file mode 100644
index 00000000000..834f595303b
--- /dev/null
+++ b/examples/APG/Containers/Array.cpp
@@ -0,0 +1,50 @@
+// $Id$
+
+#include "ace/OS_Memory.h"
+#include "ace/Log_Msg.h"
+// Listing 1 code/ch05
+#include "ace/Containers.h"
+#include "DataElement.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_Array<DataElement*> arr (10);
+ DataElement *elem = 0;
+ // Allocate and insert elements.
+ for (int i = 0; i < 10; i++)
+ {
+ ACE_NEW_RETURN (elem, DataElement (i), -1);
+ arr[i] = elem;
+ }
+
+ // Checked access.
+ ACE_ASSERT (arr.set (elem, 11) == -1);
+ ACE_ASSERT (arr.get (elem, 11) == -1);
+
+ // Make a copy and compare to the original.
+ ACE_Array<DataElement*> copy = arr;
+ ACE_ASSERT (copy == arr);
+
+ ACE_Array<DataElement*>::ITERATOR iter (arr);
+ while (!iter.done ())
+ {
+ DataElement** data;
+ iter.next (data);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%d\n"), (*data)->getData ()));
+ delete (*data);
+ iter.advance ();
+ }
+ return 0;
+}
+// Listing 1
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Array <DataElement*>;
+template class ACE_Array_Base<DataElement*>;
+template class ACE_Array_Iterator<DataElement*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Array <DataElement*>
+#pragma instantiate ACE_Array_Base<DataElement*>
+#pragma instantiate ACE_Array_Iterator<DataElement*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/DLList.cpp b/examples/APG/Containers/DLList.cpp
new file mode 100644
index 00000000000..db3ec870d58
--- /dev/null
+++ b/examples/APG/Containers/DLList.cpp
@@ -0,0 +1,129 @@
+// $Id$
+
+#include "ace/OS_Memory.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch05
+#include "ace/Containers.h"
+#include "DataElement.h"
+
+// Create a new type of list that can store only DataElements.
+typedef ACE_DLList<DataElement> MyList;
+// Listing 1
+
+// Listing 2 code/ch05
+class ListTest
+{
+public:
+ int run (void);
+ void displayList (MyList & list); // Display all elements.
+ void destroyList (MyList& list); // Destroy all elements.
+};
+// Listing 2
+// Listing 3 code/ch05
+int
+ListTest::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("ListTest::run"));
+
+ // Create a list and insert 100 elements.
+ MyList list1;
+
+ for (int i = 0; i < 100; i++)
+ {
+ DataElement *element;
+ ACE_NEW_RETURN (element, DataElement (i), -1);
+ list1.insert_tail (element);
+ }
+
+ // Iterate through and display to output.
+ this->displayList (list1);
+
+ // Create a copy of list1.
+ MyList list2;
+ list2 = list1;
+
+ // Iterate over the copy and display it to output.
+ this->displayList(list2);
+
+ // Get rid of the copy list and all its elements.
+ // Since both lists had the *same* elements
+ // this will cause list1 to contain pointers that
+ // point to data elements that have already been destroyed!
+ this->destroyList (list2);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("# of live objects: %d\n"),
+ DataElement::numOfActiveObjects()));
+
+ // The lists themselves are destroyed here. Note that the
+ // list destructor will destroy copies of whatever data the
+ // list contained. Since in this case the list contained
+ // copies of pointers to the data elements these are the
+ // only thing that gets destroyed here.
+ return 0;
+}
+// Listing 3
+// Listing 4 code/ch05
+void
+ListTest::destroyList (MyList& list)
+{
+ ACE_TRACE (ACE_TEXT ("ListTest::destroyList"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Destroying data elements\n")));
+
+ // Iterate through and delete all the data elements on the list.
+ for (ACE_DLList_Iterator<DataElement> iter (list);
+ !iter.done ();
+ iter++)
+ {
+ DataElement *de = iter.next ();
+ delete de;
+ }
+}
+// Listing 4
+// Listing 5 code/ch05
+void
+ListTest::displayList (MyList& list)
+{
+ ACE_TRACE (ACE_TEXT ("ListTest::displayList"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward iteration\n")));
+ ACE_DLList_Iterator<DataElement> iter (list);
+ while (!iter.done ())
+ {
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("%d:"), iter.next()->getData()));
+ iter++;
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ ACE_DLList_Reverse_Iterator<DataElement> riter (list);
+ while (!riter.done ())
+ {
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("%d:"), riter.next()->getData()));
+ riter++;
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+// Listing 5
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ListTest test;
+ return test.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_DLList <DataElement>;
+template class ACE_DLList_Iterator <DataElement>;
+template class ACE_DLList_Reverse_Iterator <DataElement>;
+template class ACE_Double_Linked_List<ACE_DLList_Node>;
+template class ACE_Double_Linked_List_Iterator_Base<ACE_DLList_Node>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_DLList <DataElement>
+#pragma instantiate ACE_DLList_Iterator <DataElement*>
+#pragma instantiate ACE_DLList_Reverse_Iterator <DataElement*>
+#pragma instantiate ACE_Double_Linked_List<ACE_DLList_Node>;
+#pragma instantiate ACE_Double_Linked_List_Iterator_Base<ACE_DLList_Node>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/DataElement.h b/examples/APG/Containers/DataElement.h
new file mode 100644
index 00000000000..0a4a1a02fde
--- /dev/null
+++ b/examples/APG/Containers/DataElement.h
@@ -0,0 +1,52 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(DATAELEMENT_H)
+#define DATAELEMENT_H
+
+class DataElementEx;
+
+// Listing 1 code/ch05
+// A simple data element class.
+class DataElement
+{
+ friend class DataElementEx;
+
+public:
+ DataElement () { count_++; }
+
+ DataElement (int data) : data_(data) { count_++; }
+
+ DataElement (const DataElement& e)
+ {
+ data_ = e.getData ();
+ count_++;
+ }
+
+ DataElement & operator= (const DataElement& e)
+ {
+ data_ = e.getData ();
+ return *this;
+ }
+
+ bool operator== (const DataElement& e)
+ { return this->data_ == e.data_; }
+
+ ~DataElement () { count_--; }
+
+ int getData (void) const { return data_; }
+
+ void setData (int val) { data_ = val; }
+
+ static int numOfActiveObjects (void) { return count_; }
+
+ private:
+ int data_;
+ static int count_;
+};
+// Listing 1
+
+int DataElement::count_ = 0;
+
+#endif /*DATAELEMENT_H*/
+
diff --git a/examples/APG/Containers/Hash_Map.cpp b/examples/APG/Containers/Hash_Map.cpp
new file mode 100644
index 00000000000..a81dbd47061
--- /dev/null
+++ b/examples/APG/Containers/Hash_Map.cpp
@@ -0,0 +1,134 @@
+// $Id$
+
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Synch.h" // needed for the lock
+#include "ace/Functor.h"
+#include "DataElement.h"
+
+// Listing 1 code/ch05
+// Little helper class.
+template<class EXT_ID, class INT_ID>
+class Hash_Map :
+ public ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID,
+ ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_Null_Mutex>
+{};
+// Listing 1
+
+class Hash_Map_Example
+{
+public:
+ // Constructor
+ Hash_Map_Example ();
+
+ // Illustrate the hash map.
+ int run (void);
+
+ // Use the forward iterator.
+ void iterate_forward (void);
+
+ // Use the reverse iterator.
+ void iterate_reverse (void);
+
+ // Remove all the elements from the map.
+ void remove_all (void);
+
+private:
+ Hash_Map<int, DataElement> map_;
+};
+
+// Listing 2 code/ch05
+Hash_Map_Example::Hash_Map_Example()
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::Hash_Map_Example"));
+
+ map_.open (100);
+}
+// Listing 2
+
+int Hash_Map_Example::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::run"));
+
+ for (int i = 0; i < 100; i++)
+ {
+ map_.bind (i, DataElement(i));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ for (int j = 0; j < 100; j++)
+ {
+ DataElement d;
+ map_.find (j,d);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), d.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ // Use the forward iterator.
+ this->iterate_forward ();
+
+ // Use the reverse iterator.
+ this->iterate_reverse ();
+
+ // Remove all the elements from the map.
+ this->remove_all ();
+
+ // Iterate through the map again.
+ this->iterate_forward ();
+
+ return 0;
+}
+
+void Hash_Map_Example::iterate_forward (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_forward"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration \n")));
+ for (Hash_Map<int, DataElement>::iterator iter = map_.begin ();
+ iter != map_.end (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Hash_Map_Example::iterate_reverse (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_reverse"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ for (Hash_Map<int, DataElement>::reverse_iterator iter = map_.rbegin ();
+ iter != map_.rend (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Hash_Map_Example::remove_all (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::remove_all"));
+ map_.unbind_all ();
+}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Hash_Map_Example me;
+ return me.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class Hash_Map <int, DataElement>
+;
+template class ACE_Hash_Map_Manager_Ex<int, DataElement, ACE_Hash<int>, ACE_Equal_To<int>, ACE_Null_Mutex>
+;
+template class ACE_Hash_Map_Entry<int, DataElement>
+;
+template class ACE_Hash_Map_Iterator_Base_Ex<int, DataElement, ACE_Hash<int>, ACE_Equal_To<int>, ACE_Null_Mutex>
+;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate Hash_Map <int, DataElement*>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<int, DataElement, ACE_Hash<int>, ACE_Equal_To<int>, ACE_Null_Mutex>;
+#pragma instantiate ACE_Hash_Map_Entry<int, DataElement>;
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<int, DataElement, ACE_Hash<int>, ACE_Equal_To<int>, ACE_Null_Mutex>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
+
diff --git a/examples/APG/Containers/Hash_Map_Hash.cpp b/examples/APG/Containers/Hash_Map_Hash.cpp
new file mode 100644
index 00000000000..4971954e212
--- /dev/null
+++ b/examples/APG/Containers/Hash_Map_Hash.cpp
@@ -0,0 +1,126 @@
+// $Id$
+
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Synch.h" // Needed for the lock
+#include "ace/Functor.h"
+#include "DataElement.h"
+#include "Hash_Map_Hash.h"
+
+// Little helper class
+template<class EXT_ID, class INT_ID>
+class Hash_Map :
+ public ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID,
+ ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_Null_Mutex>
+{};
+
+
+class Hash_Map_Example
+{
+public:
+ ~Hash_Map_Example ()
+ {
+ map_.close ();
+ }
+
+ // illustrate the hash map
+ int run (void);
+
+ // use the forward iterate
+ void iterate_forward (void);
+
+ // use the reverse iterator
+ void iterate_reverse (void);
+
+ // remove all the elements from the map
+ void remove_all (void);
+
+private:
+ Hash_Map<KeyType, DataElement> map_;
+};
+
+int Hash_Map_Example::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::run"));
+
+ for (int i = 0; i < 100; i++)
+ {
+ map_.bind (i, DataElement (i));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ for (int j = 0; j < 100; j++)
+ {
+ DataElement d;
+ map_.find (j, d);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), d.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ // Use the forward iterator.
+ this->iterate_forward ();
+
+ // Use the reverse iterator.
+ this->iterate_reverse ();
+
+ // Remove all the elements from the map.
+ this->remove_all ();
+
+ // Iterate through the map again.
+ this->iterate_forward ();
+
+ return 0;
+}
+
+void Hash_Map_Example::iterate_forward (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_forward"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration \n")));
+ for (Hash_Map<KeyType, DataElement>::iterator iter = map_.begin ();
+ iter != map_.end (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Hash_Map_Example::iterate_reverse (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_reverse"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ for (Hash_Map<KeyType, DataElement>::reverse_iterator iter = map_.rbegin ();
+ iter != map_.rend (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Hash_Map_Example::remove_all (void)
+{
+ ACE_TRACE (ACE_TEXT ("Hash_Map_Example::remove_all"));
+ map_.unbind_all ();
+}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Hash_Map_Example me;
+ return me.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Hash_Map_Manager_Ex<KeyType, DataElement, ACE_Hash<KeyType>, ACE_Equal_To<KeyType>, ACE_Null_Mutex>;
+template class Hash_Map <KeyType, DataElement>;
+template class ACE_Hash_Map_Entry<KeyType,DataElement>;
+template class ACE_Hash_Map_Iterator<KeyType,DataElement,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator<KeyType,DataElement,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<KeyType, DataElement, ACE_Hash<KeyType>, ACE_Equal_To<KeyType>, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate Hash_Map <KeyType, DataElement>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<KeyType, DataElement,ACE_Hash<KeyType>, ACE_Equal_To<KeyType>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Entry<KeyType,DataElement>
+#pragma instantiate ACE_Hash_Map_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<KeyType, DataElement, ACE_Hash<KeyType>, ACE_Equal_To<KeyType>, ACE_Null_Mutex>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/Hash_Map_Hash.h b/examples/APG/Containers/Hash_Map_Hash.h
new file mode 100644
index 00000000000..6ac65e0f1be
--- /dev/null
+++ b/examples/APG/Containers/Hash_Map_Hash.h
@@ -0,0 +1,52 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef __HASH_MAP_HASH_H_
+#define __HASH_MAP_HASH_H_
+
+// Listing 1 code/ch05
+// Key type that we are going to use.
+class KeyType
+{
+public:
+ KeyType () : val_(0) {}
+
+ KeyType (int i) : val_(i) {}
+
+ KeyType (const KeyType& kt) { this->val_ = kt.val_; }
+
+ operator int (void) const { return val_; }
+
+private:
+ int val_;
+};
+
+// Specialize the hash functor.
+ACE_TEMPLATE_SPECIALIZATION
+class ACE_Hash<KeyType>
+{
+public:
+ u_long operator() (const KeyType kt) const
+ {
+ int val = kt;
+ return (u_long)val;
+ }
+};
+
+
+// Specialize the equality functor.
+ACE_TEMPLATE_SPECIALIZATION
+class ACE_Equal_To<KeyType>
+{
+public:
+ int operator() (const KeyType& kt1,
+ const KeyType& kt2) const
+ {
+ int val1 = kt1;
+ int val2 = kt2;
+ return (val1 == val2);
+ }
+};
+// Listing 1
+
+#endif /* __HASH_MAP_HASH_H_ */
diff --git a/examples/APG/Containers/KeyType.h b/examples/APG/Containers/KeyType.h
new file mode 100644
index 00000000000..268b56c1684
--- /dev/null
+++ b/examples/APG/Containers/KeyType.h
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef __KEYTYPE_H_
+#define __KEYTYPE_H_
+
+// Listing 1 code/ch05
+class KeyType
+{
+public:
+ friend bool operator == (const KeyType&, const KeyType&);
+
+ KeyType () : val_(0) {}
+ KeyType (int i) : val_(i) {}
+ KeyType (const KeyType& kt) { this->val_ = kt.val_; };
+ operator int() const { return val_; };
+
+private:
+ int val_;
+};
+
+bool operator == (const KeyType& a, const KeyType& b)
+{
+ return (a.val_ == b.val_);
+}
+// Listing 1
+
+#endif /* __KEYTYPE_H_ */
diff --git a/examples/APG/Containers/Makefile b/examples/APG/Containers/Makefile
new file mode 100644
index 00000000000..5f8aadded1e
--- /dev/null
+++ b/examples/APG/Containers/Makefile
@@ -0,0 +1,1680 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = DLList \
+ Stacks \
+ Queues \
+ Array \
+ Sets \
+ Map_Manager \
+ Map_Manager_Specialization \
+ Hash_Map \
+ Hash_Map_Hash \
+ RB_Tree \
+ RB_Tree_Functors \
+ Allocator
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/DLList.o .obj/DLList.so .shobj/DLList.o .shobj/DLList.so: DLList.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ DataElement.h
+
+.obj/Stacks.o .obj/Stacks.so .shobj/Stacks.o .shobj/Stacks.so: Stacks.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ DataElement.h
+
+.obj/Queues.o .obj/Queues.so .shobj/Queues.o .shobj/Queues.so: Queues.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ DataElement.h
+
+.obj/Array.o .obj/Array.so .shobj/Array.o .shobj/Array.so: Array.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ DataElement.h
+
+.obj/Sets.o .obj/Sets.so .shobj/Sets.o .shobj/Sets.so: Sets.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ DataElement.h
+
+.obj/Map_Manager.o .obj/Map_Manager.so .shobj/Map_Manager.o .shobj/Map_Manager.so: Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ DataElement.h KeyType.h
+
+.obj/Map_Manager_Specialization.o .obj/Map_Manager_Specialization.so .shobj/Map_Manager_Specialization.o .shobj/Map_Manager_Specialization.so: Map_Manager_Specialization.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ DataElement.h KeyType.h
+
+.obj/Hash_Map.o .obj/Hash_Map.so .shobj/Hash_Map.o .shobj/Hash_Map.so: Hash_Map.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ DataElement.h
+
+.obj/Hash_Map_Hash.o .obj/Hash_Map_Hash.so .shobj/Hash_Map_Hash.o .shobj/Hash_Map_Hash.so: Hash_Map_Hash.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ DataElement.h Hash_Map_Hash.h
+
+.obj/RB_Tree.o .obj/RB_Tree.so .shobj/RB_Tree.o .shobj/RB_Tree.so: RB_Tree.cpp \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ DataElement.h
+
+.obj/RB_Tree_Functors.o .obj/RB_Tree_Functors.so .shobj/RB_Tree_Functors.o .shobj/RB_Tree_Functors.so: RB_Tree_Functors.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ DataElement.h RB_Tree_Functors.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/Allocator.o .obj/Allocator.so .shobj/Allocator.o .shobj/Allocator.so: Allocator.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ DataElement.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/Containers/Map_Manager.cpp b/examples/APG/Containers/Map_Manager.cpp
new file mode 100644
index 00000000000..4dce09fd2a0
--- /dev/null
+++ b/examples/APG/Containers/Map_Manager.cpp
@@ -0,0 +1,135 @@
+// $Id$
+
+#include "ace/Map_Manager.h"
+#include "ace/Synch.h"
+#include "DataElement.h"
+#include "KeyType.h"
+
+class Map_Example
+{
+public:
+ // Illustrate the ACE_Map_Manager.
+ int run (void);
+
+private:
+ // Iterate in the forward direction.
+ void iterate_forward (void);
+
+ // Iterate in the other direction.
+ void iterate_reverse (void);
+
+ // Remove all elements from the map.
+ void remove_all (void);
+
+private:
+ ACE_Map_Manager<KeyType,DataElement,ACE_Null_Mutex> map_;
+};
+
+// Listing 2 code/ch05
+int Map_Example::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::run"));
+
+ // Corresponding KeyType objects are created on the fly.
+ for (int i = 0; i < 100; i++)
+ {
+ map_.bind (i, DataElement (i));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ for (int j = 0; j < 100; j++)
+ {
+ DataElement d;
+ map_.find (j,d);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), d.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ // Iterate in the forward direction.
+ this->iterate_forward ();
+
+ // Iterate in the other direction.
+ this->iterate_reverse ();
+
+ // Remove all elements from the map.
+ this->remove_all ();
+
+ // Iterate in the forward direction.
+ this->iterate_forward ();
+
+ return 0;
+}
+// Listing 2
+// Listing 3 code/ch05
+void Map_Example::iterate_forward (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::iterate_forward"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward iteration\n")));
+ for (ACE_Map_Manager<KeyType,
+ DataElement,
+ ACE_Null_Mutex>::iterator
+ iter = map_.begin ();
+ iter != map_.end ();
+ iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"),
+ (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+
+void Map_Example::iterate_reverse (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::iterate_reverse"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse iteration\n")));
+ for (ACE_Map_Manager<KeyType,
+ DataElement,
+ ACE_Null_Mutex>::reverse_iterator
+ iter = map_.rbegin ();
+ iter != map_.end ();
+ iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"),
+ (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+// Listing 3
+// Listing 4 code/ch05
+void Map_Example::remove_all (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::remove_all"));
+
+ // Note that we can't use the iterators here as they
+ // are invalidated after deletions or insertions.
+ map_.unbind_all ();
+}
+// Listing 4
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Map_Example me;
+ return me.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Map_Manager<KeyType,DataElement,ACE_Null_Mutex>
+;
+template class ACE_Map_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+;
+template class ACE_Map_Entry<KeyType,DataElement>
+;
+template class ACE_Map_Iterator_Base<KeyType,DataElement,ACE_Null_Mutex>
+;
+template class ACE_Map_Reverse_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Map_Manager<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Map_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Map_Reverse_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Map_Entry<KeyType,DataElement>
+#pragma instantiate ACE_Map_Iterator_Base<KeyType,DataElement,ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/examples/APG/Containers/Map_Manager_Specialization.cpp b/examples/APG/Containers/Map_Manager_Specialization.cpp
new file mode 100644
index 00000000000..225f07e98c8
--- /dev/null
+++ b/examples/APG/Containers/Map_Manager_Specialization.cpp
@@ -0,0 +1,170 @@
+// $Id$
+
+#include "ace/Map_Manager.h"
+#include "ace/Synch.h" // Needed for the lock.
+#include "DataElement.h"
+#include "KeyType.h"
+
+/*
+** This needs to stay in the book for 2nd printing, but is the same as
+** what's in KeyType.h.
+*/
+#if 0
+// Listing 1 code/ch05
+class KeyType
+{
+public:
+ KeyType () : val_(0) {}
+
+ KeyType (int i) : val_(i) {}
+
+ KeyType (const KeyType& kt) { this->val_ = kt.val_; };
+
+ operator int () const { return val_; };
+
+private:
+ int val_;
+};
+
+ACE_TEMPLATE_SPECIALIZATION
+int
+ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::equal
+(const KeyType& r1, const KeyType &r2)
+{
+ return (r1 == r2);
+}
+// Listing 1
+#else
+ACE_TEMPLATE_SPECIALIZATION
+int
+ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::equal
+(const KeyType& r1, const KeyType &r2)
+{
+ return (r1 == r2);
+}
+#endif /* 0 */
+
+class Map_Example
+{
+public:
+ // Illustrate the ACE_Map_Manager<>.
+ int run (void);
+
+private:
+ // Iterate in the forward direction.
+ void iterate_forward (void);
+
+ // Iterate in the other direction.
+ void iterate_reverse (void);
+
+ // Remove all elements from the map.
+ void remove_all (void);
+
+private:
+ ACE_Map_Manager<KeyType,DataElement,ACE_Null_Mutex> map_;
+};
+
+int Map_Example::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::run"));
+
+ // Corresponding KeyType objects are created on the fly.
+ for (int i = 0; i < 100; i++)
+ {
+ map_.bind (i, DataElement (i));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ for (int j = 0; j < 100; j++)
+ {
+ DataElement d;
+ int result = map_.find (j,d);
+ if (result == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), d.getData ()));
+ }
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ // Iterate in the forward direction.
+ this->iterate_forward ();
+
+ // Iterate in the other direction.
+ this->iterate_reverse ();
+
+ // Remove all elements from the map.
+ this->remove_all ();
+
+ // Iterate in the forward direction.
+ this->iterate_forward ();
+
+ return 0;
+}
+
+void Map_Example::iterate_forward (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::iterate_forward"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward iteration\n")));
+ for (ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::iterator
+ iter = map_.begin ();
+ iter!= map_.end ();
+ iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Map_Example::iterate_reverse (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::iterate_reverse"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse iteration\n")));
+ for (ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::reverse_iterator
+ iter = map_.rbegin ();
+ iter!= map_.end ();
+ iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).int_id_.getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Map_Example::remove_all (void)
+{
+ ACE_TRACE (ACE_TEXT ("Map_Example::remove_all"));
+
+ // Note that we can't use the iterators here
+ // as they are invalidated after deletions
+ // or insertions.
+ for (int i = 0; i < 100; i++)
+ {
+ map_.unbind (i);
+ }
+}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Map_Example me;
+ return me.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Map_Manager<KeyType,DataElement,ACE_Null_Mutex>
+;
+template class ACE_Map_Entry<KeyType,DataElement>
+;
+template class ACE_Map_Iterator_Base<KeyType,DataElement,ACE_Null_Mutex>
+;
+template class ACE_Map_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+;
+template class ACE_Map_Reverse_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Map_Manager<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Map_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Map_Reverse_Iterator<KeyType,DataElement,ACE_Null_Mutex>
+#pragma instantiate ACE_Map_Entry<KeyType,DataElement>
+#pragma instantiate ACE_Map_Iterator_Base<KeyType,DataElement,ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Containers/Queues.cpp b/examples/APG/Containers/Queues.cpp
new file mode 100644
index 00000000000..e023ebe3284
--- /dev/null
+++ b/examples/APG/Containers/Queues.cpp
@@ -0,0 +1,130 @@
+// $Id$
+
+#include "ace/OS_Memory.h"
+#include "ace/Log_Msg.h"
+#include "ace/Containers.h"
+#include "DataElement.h"
+
+class QueueExample
+{
+public:
+ // Illustrate the various ACE Queues.
+ int run (void);
+
+private:
+ // Illustrate the ACE unbounded queue
+ // that has copies of the data elements.
+ int runStackUnboundedQueue (void);
+
+ // Illustrate the ACE unbounded queue
+ // with pointers to elements on the heap.
+ int runHeapUnboundedQueue (void);
+};
+
+int QueueExample::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("QueueExample::run"));
+
+ // Illustrate the queue with elements on the stack.
+ if (this->runStackUnboundedQueue () != 0)
+ {
+ return -1;
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ // Illustrate the queue with elements on the heap.
+ if (this->runHeapUnboundedQueue () != 0)
+ {
+ return -1;
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ return 0;
+}
+
+// Listing 1 code/ch05
+int QueueExample::runStackUnboundedQueue (void)
+{
+ ACE_TRACE (ACE_TEXT ("QueueExample::runStackUnboundedQueue"));
+
+ ACE_Unbounded_Queue<DataElement> queue;
+ int i;
+ for (i = 0; i < 10; i++)
+ {
+ DataElement elem[10];
+ elem[i].setData (9-i);
+ queue.enqueue_head (elem[i]);
+ }
+
+ for (i = 0; i< 10; i++)
+ {
+ DataElement elem[10];
+ elem[i].setData (i+10);
+ queue.enqueue_tail (elem[i]);
+ }
+
+ for (ACE_Unbounded_Queue_Iterator<DataElement> iter (queue);
+ !iter.done ();
+ iter.advance ())
+ {
+ DataElement *elem;
+ iter.next (elem);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), elem->getData ()));
+ }
+
+ return 0;
+}
+// Listing 1
+// Listing 2 code/ch05
+int QueueExample::runHeapUnboundedQueue (void)
+{
+ ACE_TRACE (ACE_TEXT ("QueueExample::runHeapUnboundedQueue"));
+
+ ACE_Unbounded_Queue<DataElement*> queue;
+ for (int i = 0; i < 20; i++)
+ {
+ DataElement *elem;
+ ACE_NEW_RETURN(elem, DataElement (i), -1);
+ queue.enqueue_head (elem);
+ }
+
+ for (ACE_Unbounded_Queue_Iterator<DataElement*> iter
+ = queue.begin ();
+ !iter.done ();
+ iter.advance ())
+ {
+ DataElement **elem;
+ iter.next(elem);
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("%d:"), (*elem)->getData ()));
+ delete (*elem);
+ }
+
+ return 0;
+}
+// Listing 2
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ QueueExample que;
+ return que.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Node<DataElement>;
+template class ACE_Node<DataElement*>;
+template class ACE_Unbounded_Queue<DataElement*>;
+template class ACE_Unbounded_Queue_Iterator<DataElement*>;
+template class ACE_Unbounded_Queue<DataElement>;
+template class ACE_Unbounded_Queue_Iterator<DataElement>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Node<DataElement>
+#pragma instantiate ACE_Node<DataElement*>
+#pragma instantiate ACE_Unbounded_Queue<DataElement*>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<DataElement*>
+#pragma instantiate ACE_Unbounded_Queue<DataElement>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<DataElement>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/RB_Tree.cpp b/examples/APG/Containers/RB_Tree.cpp
new file mode 100644
index 00000000000..09e4bf36308
--- /dev/null
+++ b/examples/APG/Containers/RB_Tree.cpp
@@ -0,0 +1,158 @@
+// $Id$
+
+#include "ace/RB_Tree.h"
+#include "ace/Log_Msg.h"
+#include "ace/Synch.h"
+#include "DataElement.h"
+
+// Little helper class.
+template<class EXT_ID, class INT_ID>
+class Tree : public ACE_RB_Tree<EXT_ID, INT_ID,
+ ACE_Less_Than<EXT_ID>,
+ ACE_Null_Mutex>
+{};
+
+class Tree_Example
+{
+public:
+ // Illustrate the tree.
+ int run (void);
+
+private:
+ // Use the forward iterator.
+ void iterate_forward (void);
+
+ // Use the reverse iterator.
+ void iterate_reverse (void);
+
+ // Remove all elements from the tree.
+ int remove_all (void);
+
+private:
+ Tree<int, DataElement*> tree_;
+};
+
+// Listing 1 code/ch05
+int Tree_Example::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::run"));
+
+ DataElement *d = 0;
+ for (int i = 0; i < 100; i++)
+ {
+ ACE_NEW_RETURN (d, DataElement (i), -1);
+ int result = tree_.bind (i, d);
+ if (result!= 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Bind")),
+ -1);
+ }
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using find: \n")));
+ for (int j = 0; j < 100; j++)
+ {
+ tree_.find (j, d);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), d->getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ // Use the forward iterator.
+ this->iterate_forward ();
+
+ // Use the reverse iterator.
+ this->iterate_reverse ();
+
+ // Remove all elements from the tree.
+ ACE_ASSERT (this->remove_all ()!= -1);
+
+ // Iterate through once again.
+ this->iterate_forward ();
+
+ return 0;
+}
+
+void Tree_Example::iterate_forward (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_forward"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration: \n")));
+ for (Tree<int, DataElement*>::iterator iter = tree_.begin ();
+ iter != tree_.end (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"),
+ (*iter).item ()->getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Tree_Example::iterate_reverse (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_reverse"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration: \n")));
+ for (Tree<int, DataElement*>::reverse_iterator iter
+ = tree_.rbegin ();
+ iter != tree_.rend (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"),
+ (*iter).item ()->getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+int Tree_Example::remove_all (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::remove_all"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Removing elements\n")));
+
+ // Note that we can't use the iterators here as they are
+ // invalidated after deletions or insertions.
+ for (int i = 0; i < 100; i++)
+ {
+ DataElement * d = 0;
+ int result = tree_.unbind (i, d);
+ if (result != 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Unbind")),
+ -1);
+ }
+ ACE_ASSERT (d!= 0);
+ delete d;
+ }
+
+ return 0;
+}
+// Listing 1
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Tree_Example te;
+ return te.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_RB_Tree <int, DataElement*,
+ACE_Less_Than<int>, ACE_Null_Mutex>
+;
+template class Tree <int, DataElement*>
+;
+template class ACE_RB_Tree_Iterator_Base<int, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+;
+template class ACE_RB_Tree_Iterator<int, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+;
+template class ACE_RB_Tree_Reverse_Iterator<int, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+;
+template class ACE_RB_Tree_Node<int, DataElement*>
+;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_RB_Tree <int, DataElement*,ACE_Less_Than<int>, ACE_Null_Mutex>
+#pragma instantiate ACE_Less_Than <int>
+#pragma instantiate Tree <int, DataElement*>
+#pragma instantiate ACE_RB_Tree_Iterator_Base<int, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+#pragma instantiate ACE_RB_Tree_Iterator<int, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+#pragma instantiate ACE_RB_Tree_Reverse_Iterator<int, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+#pragma instantiate ACE_RB_Tree_Node<int, DataElement*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/RB_Tree_Functors.cpp b/examples/APG/Containers/RB_Tree_Functors.cpp
new file mode 100644
index 00000000000..06753d5fc68
--- /dev/null
+++ b/examples/APG/Containers/RB_Tree_Functors.cpp
@@ -0,0 +1,156 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "DataElement.h"
+#include "RB_Tree_Functors.h"
+
+// Listing 0 code/ch05
+#include "ace/RB_Tree.h"
+#include "ace/Synch.h"
+
+// Little helper class.
+template<class EXT_ID, class INT_ID>
+class Tree : public ACE_RB_Tree<EXT_ID, INT_ID,
+ ACE_Less_Than<EXT_ID>,
+ ACE_Null_Mutex>
+{};
+// Listing 0
+
+class Tree_Example
+{
+public:
+ // Illustrate the tree.
+ int run (void);
+
+private:
+ // Use the forward iterator.
+ void iterate_forward (void);
+
+ // Use the reverse iterator.
+ void iterate_reverse (void);
+
+ // Remove all elements from the tree.
+ int remove_all (void);
+
+private:
+ Tree<KeyType, DataElement*> tree_;
+};
+
+
+int Tree_Example::run ()
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::run"));
+
+ DataElement *d = 0;
+ for (int i = 0; i < 100; i++)
+ {
+ ACE_NEW_RETURN (d, DataElement (i), -1);
+ int result = tree_.bind(i, d);
+ if (result != 0)
+ {
+ ACE_ERROR_RETURN((LM_ERROR, "%p\n", "Bind"), -1);
+ }
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using find: \n")));
+ for (int j = 0; j < 100; j++)
+ {
+ DataElement* d;
+ int result = tree_.find (j, d);
+ if (result != 0)
+ {
+ ACE_ERROR_RETURN((LM_ERROR, "%p\n", "Find"), -1);
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), d->getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+
+ // Use the forward iterator.
+ this->iterate_forward ();
+
+ // Use the reverse iterator.
+ this->iterate_reverse ();
+
+ // Remove all elements from the tree.
+ ACE_ASSERT (this->remove_all ()!= -1);
+
+ // Iterate through once again.
+ this->iterate_forward ();
+
+ return 0;
+}
+
+void Tree_Example::iterate_forward (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_forward"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration \n")));
+ for (Tree<KeyType, DataElement*>::iterator iter = tree_.begin ();
+ iter != tree_.end (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).item ()->getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+void Tree_Example::iterate_reverse (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_reverse"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ for (Tree<KeyType, DataElement*>::reverse_iterator iter = tree_.rbegin ();
+ iter != tree_.rend (); iter++)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), (*iter).item ()->getData ()));
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+}
+
+int Tree_Example::remove_all (void)
+{
+ ACE_TRACE (ACE_TEXT ("Tree_Example::remove_all"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Removing elements\n")));
+ for (int i = 0; i < 100; i++)
+ {
+ DataElement * d = 0;
+ int result = tree_.unbind (i, d);
+ if (result != 0)
+ {
+ ACE_ERROR_RETURN((LM_ERROR, "%p\n", "Unbind"), -1);
+ }
+ ACE_ASSERT (d != 0);
+ delete d;
+ }
+
+ return 0;
+}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Tree_Example te;
+ return te.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_RB_Tree <KeyType, DataElement*,
+ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+;
+template class Tree <KeyType, DataElement*>
+;
+template class ACE_RB_Tree_Iterator_Base<KeyType, DataElement*, ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+;
+template class ACE_RB_Tree_Iterator<KeyType, DataElement*, ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+;
+template class ACE_RB_Tree_Reverse_Iterator<KeyType, DataElement*, ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+;
+template class ACE_RB_Tree_Node<KeyType, DataElement*>
+;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_RB_Tree <KeyType, DataElement*,ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+#pragma instantiate Tree <KeyType, DataElement*>
+#pragma instantiate ACE_RB_Tree_Iterator_Base<KeyType, DataElement*, ACE_Less_Than<int>, ACE_Null_Mutex>
+#pragma instantiate ACE_RB_Tree_Iterator<KeyType, DataElement*, ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+#pragma instantiate ACE_RB_Tree_Reverse_Iterator<KeyType, DataElement*, ACE_Less_Than<KeyType>, ACE_Null_Mutex>
+#pragma instantiate ACE_RB_Tree_Node<KeyType, DataElement*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/RB_Tree_Functors.h b/examples/APG/Containers/RB_Tree_Functors.h
new file mode 100644
index 00000000000..3eafa89bb30
--- /dev/null
+++ b/examples/APG/Containers/RB_Tree_Functors.h
@@ -0,0 +1,32 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef __RB_TREE_FUNCTORS_H_
+#define __RB_TREE_FUNCTORS_H_
+
+#include "ace/Functor.h"
+
+// Listing 1 code/ch05
+// Same key type.
+class KeyType
+{
+public:
+ KeyType () : val_(0) {}
+ KeyType (int i) : val_ (i) {}
+ KeyType (const KeyType& kt) { this->val_ = kt.val_; }
+ operator int() const { return val_; };
+
+private:
+ int val_;
+};
+
+ACE_TEMPLATE_SPECIALIZATION
+class ACE_Less_Than<KeyType>
+{
+public:
+ int operator() (const KeyType k1, const KeyType k2)
+ { return k1 < k2; }
+};
+// Listing 1
+
+#endif /* __RB_TREE_FUNCTORS_H_ */
diff --git a/examples/APG/Containers/Sets.cpp b/examples/APG/Containers/Sets.cpp
new file mode 100644
index 00000000000..992546708e7
--- /dev/null
+++ b/examples/APG/Containers/Sets.cpp
@@ -0,0 +1,134 @@
+// $Id$
+
+#include "ace/OS_Memory.h"
+#include "ace/Log_Msg.h"
+#include "ace/Containers.h"
+#include "DataElement.h"
+
+class SetExample
+{
+public:
+ // Illustrate all ACE set types.
+ int run (void);
+
+private:
+ // Illustrate the ACE Bounded Sets.
+ int runBoundedSet (void);
+
+ // Illustrate the ACE Unbounded sets.
+ int runUnboundedSet (void);
+};
+
+int SetExample::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("SetExample::run"));
+
+ ACE_ASSERT (!this->runBoundedSet ());
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ ACE_ASSERT (!this->runUnboundedSet ());
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ return 0;
+}
+// Listing 1 code/ch05
+int SetExample::runBoundedSet ()
+{
+ ACE_TRACE (ACE_TEXT ("SetExample::runBoundedSet"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using a bounded set\n")));
+ ACE_Bounded_Set<DataElement> bset (100);
+
+ DataElement elem[100];
+ for (int i = 0; i < 100; i++)
+ {
+ elem[i].setData (i);
+
+ // Inserting two copies of the same element isn't allowed.
+ bset.insert (elem[i]);
+ if (bset.insert (elem[i]) == -1)
+ {
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("insert set")));
+ }
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d\n"),
+ DataElement::numOfActiveObjects ()));
+
+ DataElement elem1 (10), elem2 (99);
+ if (!bset.find (elem1) && !bset.find (elem2))
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("The elements %d and %d are ")
+ ACE_TEXT ("in the set!\n"),
+ elem1.getData (), elem2.getData ()));
+ }
+
+ for (int j = 0; j < 50; j++)
+ {
+ bset.remove (elem[j]); // Remove the element from the set.
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("%d:"), elem[j].getData ()));
+ }
+
+ if ((bset.find (elem[0]) == -1) && (bset.find (elem[49]) == -1))
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("The elements %d and %d are ")
+ ACE_TEXT ("NOT in the set!\n"),
+ elem[0].getData (), elem[99].getData ()));
+ }
+
+ return 0;
+}
+// Listing 1
+// Listing 2 code/ch05
+int SetExample::runUnboundedSet ()
+{
+ ACE_TRACE (ACE_TEXT ("SetExample::runUnboundedSet"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using an unbounded set.\n")));
+ ACE_Unbounded_Set<DataElement*> uset;
+ for (int m = 0; m < 100; m++)
+ {
+ DataElement *elem;
+ ACE_NEW_RETURN (elem, DataElement (m), -1);
+ uset.insert (elem);
+ }
+ DataElement deBegin (0), deEnd (99);
+ if (!uset.find (&deBegin) && !uset.find (&deEnd))
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Found the elements\n")));
+ }
+
+ // Iterate and destroy the elements in the set.
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Deleting the elements\n")));
+ ACE_Unbounded_Set_Iterator<DataElement*> iter (uset);
+ for (iter = uset.begin (); iter != uset.end (); iter++)
+ {
+ DataElement* elem = (*iter);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), elem->getData ()));
+ delete elem;
+ }
+
+ return 0;
+}
+// Listing 2
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ SetExample se;
+ se.run ();
+ return 0;
+}
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Unbounded_Set<DataElement*>;
+template class ACE_Unbounded_Set_Iterator<DataElement*>;
+template class ACE_Bounded_Set<DataElement>;
+template class ACE_Node<DataElement*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Unbounded_Set<DataElement*>
+#pragma instantitate ACE_Unbounded_Set_Iterator<DataElement*>
+#pragma instantiate ACE_Bounded_Set<DataElement>
+#pragma instantiate ACE_Node<DataElement*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/Stacks.cpp b/examples/APG/Containers/Stacks.cpp
new file mode 100644
index 00000000000..4eca9ec8486
--- /dev/null
+++ b/examples/APG/Containers/Stacks.cpp
@@ -0,0 +1,162 @@
+// $Id$
+
+#include "ace/OS_Memory.h"
+#include "ace/Log_Msg.h"
+#include "ace/Containers.h"
+#include "DataElement.h"
+
+class StackExample
+{
+public:
+ StackExample (): privateStack_(100) {}
+
+ // Illustrate all the differnet
+ // types of stacks provided by ACE.
+ int run (void);
+
+private:
+ // Illustrate the use of a bounded stack.
+ int runBoundedStack (void);
+
+ // Illustrate the use of an unbounded stack.
+ int runUnboundedStack (void);
+
+ // Illustrate the use of a compile time fixed stack.
+ int runFixedStack (void);
+
+private:
+ ACE_Bounded_Stack<DataElement*> privateStack_;
+};
+
+int StackExample::run (void)
+{
+ ACE_TRACE (ACE_TEXT ("StackUser::run"));
+
+ ACE_ASSERT(!this->runBoundedStack());
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects()));
+
+ ACE_ASSERT(!this->runFixedStack());
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects()));
+
+ ACE_ASSERT(!this->runUnboundedStack());
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n# of live objects %d\n"),
+ DataElement::numOfActiveObjects()));
+
+ return 0;
+}
+// Listing 1 code/ch05
+int StackExample::runBoundedStack (void)
+{
+ ACE_TRACE (ACE_TEXT ("StackExample::runBoundedStack"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using a bounded stack\n")));
+
+ ACE_Bounded_Stack<DataElement> bstack1 (100);
+
+ // The element array is constrained to this scope.
+ {
+ DataElement elem[100];
+ for (int i = 0; i < 100; i++)
+ {
+ elem[i].setData(i);
+ // Push the element on the stack.
+ bstack1.push (elem[i]);
+ }
+ }
+
+ ACE_Bounded_Stack<DataElement> bstack2 (100);
+
+ // Make a copy!
+ bstack2 = bstack1;
+ for (int j = 0; j < 100; j++)
+ {
+ DataElement elem;
+ bstack2.pop (elem);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), elem.getData ()));
+ }
+
+ return 0;
+}
+// Listing 1
+// Listing 2 code/ch05
+int StackExample::runFixedStack (void)
+{
+ ACE_TRACE (ACE_TEXT ("StackExample::runFixedStack"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using a fixed stack\n")));
+
+ ACE_Fixed_Stack<DataElement*, 100> fstack;
+ for (int k = 0; k < 100; k++)
+ {
+ DataElement* elem;
+ ACE_NEW_RETURN(elem, DataElement (k), -1);
+ fstack.push (elem); // Push the element on the stack.
+ }
+
+ for (int l = 0; l < 100; l++)
+ {
+ DataElement* elem;
+ fstack.pop (elem);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), elem->getData ()));
+ delete elem;
+ }
+
+ return 0;
+}
+
+int StackExample::runUnboundedStack (void)
+{
+ ACE_TRACE (ACE_TEXT ("StackExample::runUnboundedStack"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using an unbounded stack\n")));
+
+ ACE_Unbounded_Stack<DataElement*> ustack;
+ for (int m = 0; m < 100; m++)
+ {
+ DataElement *elem;
+ ACE_NEW_RETURN(elem, DataElement (m), -1);
+ // Push the element on both stacks.
+ ustack.push (elem);
+ privateStack_.push (elem);
+ }
+
+ // Oddly enough, you can actually iterate through an
+ // unbounded stack! This is because underneath the covers
+ // the unbounded stack is a linked list.
+
+ // This will cause the elements in the private stack to
+ // also disappear!
+ ACE_Unbounded_Stack_Iterator<DataElement*> iter (ustack);
+ for (iter.first (); !iter.done (); iter.advance ())
+ {
+ DataElement** elem;
+ iter.next (elem);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"),
+ (*elem)->getData ()));
+ delete (*elem);
+ }
+
+ return 0;
+}
+// Listing 2
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ StackExample se;
+ return se.run ();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Bounded_Stack<DataElement>;
+template class ACE_Bounded_Stack<DataElement*>;
+template class ACE_Fixed_Stack<DataElement*, 100>;
+template class ACE_Node<DataElement*>;
+template class ACE_Unbounded_Stack<DataElement*>;
+template class ACE_Unbounded_Stack_Iterator<DataElement*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Bounded_Stack<DataElement>
+#pragma instantiate ACE_Bounded_Stack<DataElement*>
+#pragma instantiate ACE_Fixed_Stack<DataElement*, 100>
+#pragma instantiate ACE_Node<DataElement*>
+#pragma instantiate ACE_Unbounded_Stack<DataElement*>
+#pragma instantiate ACE_Unbounded_Stack_Iterator<DataElement*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Containers/containers.mpc b/examples/APG/Containers/containers.mpc
new file mode 100644
index 00000000000..2bdb1e527d7
--- /dev/null
+++ b/examples/APG/Containers/containers.mpc
@@ -0,0 +1,86 @@
+// -*- MPC -*-
+// $Id$
+
+project(DLList) : aceexe {
+ exename = DLList
+ Source_Files {
+ DLList.cpp
+ }
+}
+
+project(Stacks) : aceexe {
+ exename = Stacks
+ Source_Files {
+ Stacks.cpp
+ }
+}
+
+project(Queues) : aceexe {
+ exename = Queues
+ Source_Files {
+ Queues.cpp
+ }
+}
+
+project(Array) : aceexe {
+ exename = Array
+ Source_Files {
+ Array.cpp
+ }
+}
+
+project(Sets) : aceexe {
+ exename = Sets
+ Source_Files {
+ Sets.cpp
+ }
+}
+
+project(*Map Manager) : aceexe {
+ exename = Map_Manager
+ Source_Files {
+ Map_Manager.cpp
+ }
+}
+
+project(Map Manager Specialization) : aceexe {
+ exename = Map_Manager_Specialization
+ Source_Files {
+ Map_Manager_Specialization.cpp
+ }
+}
+
+project(*Hash Map) : aceexe {
+ exename = Hash_Map
+ Source_Files {
+ Hash_Map.cpp
+ }
+}
+
+project(Hash Map Hash) : aceexe {
+ exename = Hash_Map_Hash
+ Source_Files {
+ Hash_Map_Hash.cpp
+ }
+}
+
+project(RB Tree) : aceexe {
+ exename = RB_Tree
+ Source_Files {
+ RB_Tree.cpp
+ }
+}
+
+project(RB Tree Functors) : aceexe {
+ exename = RB_Tree_Functors
+ Source_Files {
+ RB_Tree_Functors.cpp
+ }
+}
+
+project(Allocator) : aceexe {
+ exename = Allocator
+ Source_Files {
+ Allocator.cpp
+ }
+}
diff --git a/examples/APG/Containers/containers.mwc b/examples/APG/Containers/containers.mwc
new file mode 100644
index 00000000000..0f4dd2dbb8b
--- /dev/null
+++ b/examples/APG/Containers/containers.mwc
@@ -0,0 +1,3 @@
+workspace {
+ containers.mpc
+}
diff --git a/examples/APG/Logging/Callback-2.h b/examples/APG/Logging/Callback-2.h
new file mode 100644
index 00000000000..bd07db02cfc
--- /dev/null
+++ b/examples/APG/Logging/Callback-2.h
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/streams.h"
+#include "ace/Log_Msg_Callback.h"
+#include "ace/Log_Record.h"
+#include "ace/SString.h"
+
+class Callback : public ACE_Log_Msg_Callback
+{
+public:
+ void log (ACE_Log_Record &log_record)
+ {
+ cerr << "Log Message Received:" << endl;
+ unsigned long msg_severity = log_record.type ();
+ ACE_Log_Priority prio =
+ ACE_static_cast (ACE_Log_Priority, msg_severity);
+ const ACE_TCHAR *prio_name =
+ ACE_Log_Record::priority_name (prio);
+ cerr << "\tType: "
+ << ACE_TEXT_ALWAYS_CHAR (prio_name)
+ << endl;
+
+ cerr << "\tLength: " << log_record.length () << endl;
+
+ const time_t epoch = log_record.time_stamp ().sec ();
+ cerr << "\tTime_Stamp: "
+ << ACE_TEXT_ALWAYS_CHAR (ACE_OS::ctime (&epoch))
+ << flush;
+
+ cerr << "\tPid: " << log_record.pid () << endl;
+
+ ACE_CString data (">> ");
+ data += ACE_TEXT_ALWAYS_CHAR (log_record.msg_data ());
+
+ cerr << "\tMsgData: " << data.c_str () << endl;
+ }
+};
+
diff --git a/examples/APG/Logging/Callback-3.h b/examples/APG/Logging/Callback-3.h
new file mode 100644
index 00000000000..da852cb847c
--- /dev/null
+++ b/examples/APG/Logging/Callback-3.h
@@ -0,0 +1,59 @@
+// $Id$
+
+#include "ace/streams.h"
+#include "ace/Log_Msg.h"
+#include "ace/Log_Msg_Callback.h"
+#include "ace/Log_Record.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/INET_Addr.h"
+
+#define LOGGER_PORT 20009
+
+class Callback : public ACE_Log_Msg_Callback
+{
+public:
+ Callback ()
+ {
+ this->logger_ = new ACE_SOCK_Stream;
+ ACE_SOCK_Connector connector;
+ ACE_INET_Addr addr (LOGGER_PORT, ACE_DEFAULT_SERVER_HOST);
+
+ if (connector.connect (*(this->logger_), addr) == -1)
+ {
+ delete this->logger_;
+ this->logger_ = 0;
+ }
+ }
+
+ virtual ~Callback ()
+ {
+ if (this->logger_)
+ {
+ this->logger_->close ();
+ }
+ delete this->logger_;
+ }
+
+ void log (ACE_Log_Record &log_record)
+ {
+ if (!this->logger_)
+ {
+ log_record.print
+ (ACE_TEXT (""), ACE_Log_Msg::VERBOSE, cerr);
+ return;
+ }
+
+ size_t len = log_record.length();
+ log_record.encode ();
+
+ if (this->logger_->send_n ((char *) &log_record, len) == -1)
+ {
+ delete this->logger_;
+ this->logger_ = 0;
+ }
+ }
+
+private:
+ ACE_SOCK_Stream *logger_;
+};
diff --git a/examples/APG/Logging/Callback.h b/examples/APG/Logging/Callback.h
new file mode 100644
index 00000000000..264c99bd9c1
--- /dev/null
+++ b/examples/APG/Logging/Callback.h
@@ -0,0 +1,15 @@
+// $Id$
+
+#include "ace/streams.h"
+#include "ace/Log_Msg.h"
+#include "ace/Log_Msg_Callback.h"
+#include "ace/Log_Record.h"
+
+class Callback : public ACE_Log_Msg_Callback
+{
+public:
+ void log (ACE_Log_Record &log_record) {
+ log_record.print (ACE_TEXT (""), 0, cerr);
+ log_record.print (ACE_TEXT (""), ACE_Log_Msg::VERBOSE, cerr);
+ }
+};
diff --git a/examples/APG/Logging/Change_Instance_Default.cpp b/examples/APG/Logging/Change_Instance_Default.cpp
new file mode 100644
index 00000000000..e22af840259
--- /dev/null
+++ b/examples/APG/Logging/Change_Instance_Default.cpp
@@ -0,0 +1,37 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ *
+ * This code shows how to set the ACE_Log_Msg per-instance default
+ * differently for groups of spawned threads.
+ */
+
+#include "ace/Log_Msg.h"
+#include "ace/Thread_Manager.h"
+
+ACE_THR_FUNC_RETURN worker (void *)
+{
+ // do some work
+ return 0;
+}
+
+ACE_THR_FUNC_RETURN service (void *)
+{
+ // run the service
+ return 0;
+}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Listing 1 code/ch03
+ ACE_LOG_MSG->priority_mask (0, ACE_Log_Msg::PROCESS);
+ ACE_Log_Msg::enable_debug_messages ();
+ ACE_Thread_Manager::instance ()->spawn (service);
+ ACE_Log_Msg::disable_debug_messages ();
+ ACE_Thread_Manager::instance ()->spawn_n (3, worker);
+ // Listing 1
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
diff --git a/examples/APG/Logging/Change_Mask.cpp b/examples/APG/Logging/Change_Mask.cpp
new file mode 100644
index 00000000000..4cd0deac7e5
--- /dev/null
+++ b/examples/APG/Logging/Change_Mask.cpp
@@ -0,0 +1,29 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ // Listing 1 code/ch03
+ ACE_LOG_MSG->priority_mask (0, ACE_Log_Msg::PROCESS);
+ ACE_LOG_MSG->priority_mask (LM_DEBUG | LM_NOTICE,
+ ACE_Log_Msg::THREAD);
+ // Listing 1
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Mom\n")));
+ foo ();
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_NOTICE, ACE_TEXT ("%IHowdy Pardner\n")));
+}
diff --git a/examples/APG/Logging/Howto_Syslog.cpp b/examples/APG/Logging/Howto_Syslog.cpp
new file mode 100644
index 00000000000..0bafab546b7
--- /dev/null
+++ b/examples/APG/Logging/Howto_Syslog.cpp
@@ -0,0 +1,28 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+void foo (void);
+
+// Listing 1 code/ch03
+int ACE_TMAIN (int, ACE_TCHAR *argv[])
+{
+ ACE_LOG_MSG->open
+ (argv[0], ACE_Log_Msg::SYSLOG, ACE_TEXT ("syslogTest"));
+ // Listing 1
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+ foo ();
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
+}
diff --git a/examples/APG/Logging/LogManager.h b/examples/APG/Logging/LogManager.h
new file mode 100644
index 00000000000..1456fabfd42
--- /dev/null
+++ b/examples/APG/Logging/LogManager.h
@@ -0,0 +1,105 @@
+// $Id$
+
+#include "ace/streams.h"
+#include "ace/Synch.h"
+#include "ace/Singleton.h"
+#include "ace/Log_Msg.h"
+#include "ace/Log_Msg_Callback.h"
+#if (_MSC_VER >= 1200) && (_MSC_VER < 1300)
+#include <fstream>
+#endif
+
+#ifndef LOG_MANAGER_H
+#define LOG_MANAGER_H
+
+// Listing 1 code/ch03
+class LogManager
+{
+public:
+ LogManager ();
+ ~LogManager ();
+
+ void redirectToDaemon
+ (const ACE_TCHAR *prog_name = ACE_TEXT (""));
+ void redirectToSyslog
+ (const ACE_TCHAR *prog_name = ACE_TEXT (""));
+ void redirectToOStream (ACE_OSTREAM_TYPE *output);
+ void redirectToFile (const char *filename);
+ void redirectToStderr (void);
+ ACE_Log_Msg_Callback * redirectToCallback
+ (ACE_Log_Msg_Callback *callback);
+
+ // Exclude 1
+private:
+ std::ofstream *log_stream_;
+ ACE_OSTREAM_TYPE *output_stream_;
+ // Exclude 1
+};
+// Listing 1
+
+// Listing 2 code/ch03
+LogManager::LogManager ()
+ : log_stream_ (0), output_stream_ (0)
+{ }
+
+LogManager::~LogManager ()
+{
+ if (log_stream_)
+ log_stream_->close ();
+ delete log_stream_;
+}
+
+void LogManager::redirectToSyslog (const ACE_TCHAR *prog_name)
+{
+ ACE_LOG_MSG->open (prog_name, ACE_Log_Msg::SYSLOG, prog_name);
+}
+
+void LogManager::redirectToDaemon (const ACE_TCHAR *prog_name)
+{
+ ACE_LOG_MSG->open (prog_name, ACE_Log_Msg::LOGGER,
+ ACE_DEFAULT_LOGGER_KEY);
+}
+
+void LogManager::redirectToOStream (ACE_OSTREAM_TYPE *output)
+{
+ output_stream_ = output;
+ ACE_LOG_MSG->msg_ostream (this->output_stream_);
+ ACE_LOG_MSG->clr_flags
+ (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER);
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM);
+}
+
+void LogManager::redirectToFile (const char *filename)
+{
+ log_stream_ = new std::ofstream ();
+ log_stream_->open (filename, ios::out | ios::app);
+ this->redirectToOStream ((ACE_OSTREAM_TYPE *)log_stream_);
+}
+
+void LogManager::redirectToStderr (void)
+{
+ ACE_LOG_MSG->clr_flags
+ (ACE_Log_Msg::OSTREAM | ACE_Log_Msg::LOGGER);
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR);
+}
+
+ACE_Log_Msg_Callback *
+LogManager::redirectToCallback (ACE_Log_Msg_Callback * callback)
+{
+ ACE_Log_Msg_Callback *previous =
+ ACE_LOG_MSG->msg_callback (callback);
+ if (callback == 0)
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::MSG_CALLBACK);
+ else
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::MSG_CALLBACK);
+ return previous;
+}
+// Listing 2
+
+// Listing 3 code/ch03
+typedef ACE_Singleton<LogManager, ACE_Null_Mutex>
+ LogManagerSingleton;
+#define LOG_MANAGER LogManagerSingleton::instance()
+// Listing 3
+
+#endif /* LOG_MANAGER_H */
diff --git a/examples/APG/Logging/Log_Msg_Alt.h b/examples/APG/Logging/Log_Msg_Alt.h
new file mode 100644
index 00000000000..c78d2bd1f4a
--- /dev/null
+++ b/examples/APG/Logging/Log_Msg_Alt.h
@@ -0,0 +1,19 @@
+// $Id$
+
+#ifndef LOG_MSG_ALT_H
+#define LOG_MSG_ALT_H
+
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch03
+#define MY_DEBUG LM_DEBUG, ACE_TEXT ("DEBUG%I")
+#define MY_INFO LM_INFO, ACE_TEXT ("INFO%I")
+#define MY_NOTICE LM_NOTICE, ACE_TEXT ("NOTICE%I")
+#define MY_WARNING LM_WARNING, ACE_TEXT ("WARNING%I")
+#define MY_ERROR LM_ERROR, ACE_TEXT ("ERROR%I")
+#define MY_CRITICAL LM_CRITICAL, ACE_TEXT ("CRITICAL%I")
+#define MY_ALERT LM_ALERT, ACE_TEXT ("ALERT%I")
+#define MY_EMERGENCY LM_EMERGENCY, ACE_TEXT ("EMERGENCY%I")
+// Listing 1
+
+#endif /* LOG_ALT_H */
diff --git a/examples/APG/Logging/Makefile b/examples/APG/Logging/Makefile
new file mode 100644
index 00000000000..6f1b9eb9065
--- /dev/null
+++ b/examples/APG/Logging/Makefile
@@ -0,0 +1,36 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Simple1 \
+ Simple2 \
+ Change_Mask \
+ Change_Instance_Default \
+ Wrap_Macros \
+ Wrap_Macros_Alt \
+ Trace_Return \
+ Use_Stderr \
+ Howto_Syslog \
+ Use_Syslog \
+ Use_Ostream \
+ Use_Multiple_Sinks \
+ Use_Callback \
+ Use_Callback2 \
+ Use_Logger \
+ Use_Logging_Server \
+ Use_LogManager \
+ Use_Logging_Strategy
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+HEADERS = $(wildcard *.h)
+
+TEXTS = server.conf client.conf logging_strategy.conf
+
+CFLAGS += -DACE_NTRACE=0
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Logging/Simple1.cpp b/examples/APG/Logging/Simple1.cpp
new file mode 100644
index 00000000000..93c8b681c23
--- /dev/null
+++ b/examples/APG/Logging/Simple1.cpp
@@ -0,0 +1,23 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE(ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Mom\n")));
+ foo();
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
+}
diff --git a/examples/APG/Logging/Simple2.cpp b/examples/APG/Logging/Simple2.cpp
new file mode 100644
index 00000000000..dfec1c68dd2
--- /dev/null
+++ b/examples/APG/Logging/Simple2.cpp
@@ -0,0 +1,25 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+void foo(void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_LOG_MSG->priority_mask (LM_DEBUG | LM_NOTICE,
+ ACE_Log_Msg::PROCESS);
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Mom\n")));
+ foo ();
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo(void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_NOTICE, ACE_TEXT ("%IHowdy Pardner\n")));
+}
diff --git a/examples/APG/Logging/Trace.h b/examples/APG/Logging/Trace.h
new file mode 100644
index 00000000000..c6aec50934b
--- /dev/null
+++ b/examples/APG/Logging/Trace.h
@@ -0,0 +1,151 @@
+// $Id$
+
+#ifndef TRACE_H
+#define TRACE_H
+
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch03
+class Trace
+{
+public:
+ Trace (const ACE_TCHAR *prefix,
+ const ACE_TCHAR *name,
+ int line,
+ const ACE_TCHAR *file)
+ {
+ this->prefix_ = prefix;
+ this->name_ = name;
+ this->line_ = line;
+ this->file_ = file;
+
+ ACE_Log_Msg *lm = ACE_LOG_MSG;
+ if (lm->tracing_enabled ()
+ && lm->trace_active () == 0)
+ {
+ lm->trace_active (1);
+ ACE_DEBUG
+ ((LM_TRACE,
+ ACE_TEXT ("%s%*s(%t) calling %s in file `%s'")
+ ACE_TEXT (" on line %d\n"),
+ this->prefix_,
+ Trace::nesting_indent_ * lm->inc (),
+ ACE_TEXT (""),
+ this->name_,
+ this->file_,
+ this->line_));
+ lm->trace_active (0);
+ }
+ }
+
+ void setLine (int line)
+ {
+ this->line_ = line;
+ }
+
+ ~Trace (void)
+ {
+ ACE_Log_Msg *lm = ACE_LOG_MSG;
+ if (lm->tracing_enabled ()
+ && lm->trace_active () == 0)
+ {
+ lm->trace_active (1);
+ ACE_DEBUG
+ ((LM_TRACE,
+ ACE_TEXT ("%s%*s(%t) leaving %s in file `%s'")
+ ACE_TEXT (" on line %d\n"),
+ this->prefix_,
+ Trace::nesting_indent_ * lm->dec (),
+ ACE_TEXT (""),
+ this->name_,
+ this->file_,
+ this->line_));
+ lm->trace_active (0);
+ }
+ }
+
+private:
+ enum { nesting_indent_ = 3 };
+
+ const ACE_TCHAR *prefix_;
+ const ACE_TCHAR *name_;
+ const ACE_TCHAR *file_;
+ int line_;
+};
+// Listing 1
+
+// Listing 2 code/ch03
+#define TRACE_PREFIX ACE_TEXT ("TRACE ")
+
+#if (ACE_NTRACE == 1)
+# define TRACE(X)
+# define TRACE_RETURN(V)
+# define TRACE_RETURN_VOID()
+#else
+# define TRACE(X) \
+ Trace ____ (TRACE_PREFIX, \
+ ACE_TEXT (X), \
+ __LINE__, \
+ ACE_TEXT (__FILE__))
+
+# define TRACE_RETURN(V) \
+ do { ____.setLine(__LINE__); return V; } while (0)
+
+# define TRACE_RETURN_VOID() \
+ do { ____.setLine(__LINE__); } while (0)
+#endif
+// Listing 2
+
+//////////////////////////////////////////////////
+
+#if defined (__GNUC__) && (__GNUC__ >= 3 || __GNUC_MINOR__ > 95)
+// This stuff only works with g++ 2.96 and later...
+
+// Listing 3 code/ch03
+
+#define DEBUG_PREFIX ACE_TEXT ("DEBUG%I")
+#define INFO_PREFIX ACE_TEXT ("INFO%I")
+#define NOTICE_PREFIX ACE_TEXT ("NOTICE%I")
+#define WARNING_PREFIX ACE_TEXT ("WARNING%I")
+#define ERROR_PREFIX ACE_TEXT ("ERROR%I")
+#define CRITICAL_PREFIX ACE_TEXT ("CRITICAL%I")
+#define ALERT_PREFIX ACE_TEXT ("ALERT%I")
+#define EMERGENCY_PREFIX ACE_TEXT ("EMERGENCY%I")
+
+#define MY_DEBUG(FMT, ...) \
+ ACE_DEBUG(( LM_DEBUG, \
+ DEBUG_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_INFO(FMT, ...) \
+ ACE_DEBUG(( LM_INFO, \
+ INFO_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_NOTICE(FMT, ...) \
+ ACE_DEBUG(( LM_NOTICE, \
+ NOTICE_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_WARNING(FMT, ...) \
+ ACE_DEBUG(( LM_WARNING, \
+ WARNING_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_ERROR(FMT, ...) \
+ ACE_DEBUG(( LM_ERROR, \
+ ERROR_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_CRITICAL(FMT, ...) \
+ ACE_DEBUG(( LM_CRITICAL, \
+ CRITICAL_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_ALERT(FMT, ...) \
+ ACE_DEBUG(( LM_ALERT, \
+ ALERT_PREFIX FMT \
+ __VA_ARGS__))
+#define MY_EMERGENCY(FMT, ...) \
+ ACE_DEBUG(( LM_EMERGENCY, \
+ EMERGENCY_PREFIX FMT \
+ __VA_ARGS__))
+// Listing 3
+
+#endif /* __GNUC__ */
+
+#endif /* TRACE_H */
diff --git a/examples/APG/Logging/Trace_Return.cpp b/examples/APG/Logging/Trace_Return.cpp
new file mode 100644
index 00000000000..d466abc43c1
--- /dev/null
+++ b/examples/APG/Logging/Trace_Return.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#if defined (__GNUC__) && (__GNUC__ >= 3 || __GNUC_MINOR__ > 95)
+// The DEBUG stuff only works with g++ 2.96 and later.
+
+// Listing 1 code/ch03
+#include "Trace.h"
+
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ TRACE (ACE_TEXT ("main"));
+
+ MY_DEBUG (ACE_TEXT ("Hi Mom\n"));
+ foo ();
+ MY_DEBUG (ACE_TEXT ("Goodnight\n"));
+
+ TRACE_RETURN (0);
+}
+
+void foo (void)
+{
+ TRACE (ACE_TEXT ("foo"));
+ MY_DEBUG (ACE_TEXT ("Howdy Pardner\n"));
+ TRACE_RETURN_VOID ();
+}
+// Listing 1
+
+#else
+#include <stdio.h>
+
+int main (int, char *[])
+{
+ puts ("This example only works on g++ 2.96 and later.\n");
+ return 0;
+}
+
+#endif /* __GNUC__ */
diff --git a/examples/APG/Logging/Use_Callback.cpp b/examples/APG/Logging/Use_Callback.cpp
new file mode 100644
index 00000000000..2deff99f4ea
--- /dev/null
+++ b/examples/APG/Logging/Use_Callback.cpp
@@ -0,0 +1,20 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "Callback.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Callback *callback = new Callback;
+
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::MSG_CALLBACK);
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR);
+ ACE_LOG_MSG->msg_callback (callback);
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
diff --git a/examples/APG/Logging/Use_Callback2.cpp b/examples/APG/Logging/Use_Callback2.cpp
new file mode 100644
index 00000000000..a3f005e5949
--- /dev/null
+++ b/examples/APG/Logging/Use_Callback2.cpp
@@ -0,0 +1,20 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "Callback-2.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Callback *callback = new Callback;
+
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::MSG_CALLBACK);
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR);
+ ACE_LOG_MSG->msg_callback (callback);
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
diff --git a/examples/APG/Logging/Use_LogManager.cpp b/examples/APG/Logging/Use_LogManager.cpp
new file mode 100644
index 00000000000..328f00416ee
--- /dev/null
+++ b/examples/APG/Logging/Use_LogManager.cpp
@@ -0,0 +1,37 @@
+// $Id$
+
+#include "LogManager.h"
+
+// Listing 1 code/ch03
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ LOG_MANAGER->redirectToStderr ();
+ ACE_TRACE (ACE_TEXT ("main"));
+ LOG_MANAGER->redirectToSyslog ();
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Mom\n")));
+ foo ();
+ LOG_MANAGER->redirectToDaemon ();
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+ LOG_MANAGER->redirectToFile ("output.test");
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
+}
+// Listing 1
+
+// Listing 2 code/ch03
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+ template class ACE_Singleton<LogManager, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton<LogManager, ACE_Null_Mutex>
+#elif defined (__GNUC__) && (defined (_AIX) || defined (__hpux))
+template ACE_Singleton<LogManager, ACE_Null_Mutex> *
+ ACE_Singleton<LogManager, ACE_Null_Mutex>::singleton_;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+// Listing 2
diff --git a/examples/APG/Logging/Use_Logger.cpp b/examples/APG/Logging/Use_Logger.cpp
new file mode 100644
index 00000000000..9dd00caee42
--- /dev/null
+++ b/examples/APG/Logging/Use_Logger.cpp
@@ -0,0 +1,17 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *argv[])
+{
+ ACE_LOG_MSG->open (argv[0],
+ ACE_Log_Msg::LOGGER,
+ ACE_DEFAULT_LOGGER_KEY);
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
diff --git a/examples/APG/Logging/Use_Logging_Server.cpp b/examples/APG/Logging/Use_Logging_Server.cpp
new file mode 100644
index 00000000000..1d304f2577b
--- /dev/null
+++ b/examples/APG/Logging/Use_Logging_Server.cpp
@@ -0,0 +1,20 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "Callback-3.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Callback *callback = new Callback;
+
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::MSG_CALLBACK);
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR);
+ ACE_LOG_MSG->msg_callback (callback);
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
diff --git a/examples/APG/Logging/Use_Logging_Strategy.cpp b/examples/APG/Logging/Use_Logging_Strategy.cpp
new file mode 100644
index 00000000000..0bf1e67afd5
--- /dev/null
+++ b/examples/APG/Logging/Use_Logging_Strategy.cpp
@@ -0,0 +1,33 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ace/Service_Config.h"
+
+/*
+ Put the following in your svc.conf:
+
+ dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy() "-s log.out -f STDERR|OSTREAM -p DEBUG|NOTICE"
+
+ There seems to be a bug in ACE_Logging_Strategy in that the priority
+ flags are not propagated to spawned threads.
+*/
+
+// Listing 1 code/ch03
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (ACE_Service_Config::open (argc,
+ argv,
+ ACE_DEFAULT_LOGGER_KEY,
+ 1,
+ 0,
+ 1) < 0)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Service Config open")),
+ 1);
+ ACE_TRACE (ACE_TEXT ("main"));
+ ACE_DEBUG ((LM_NOTICE, ACE_TEXT ("%t%IHowdy Pardner\n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%t%IGoodnight\n")));
+
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Logging/Use_Multiple_Sinks.cpp b/examples/APG/Logging/Use_Multiple_Sinks.cpp
new file mode 100644
index 00000000000..d362494546f
--- /dev/null
+++ b/examples/APG/Logging/Use_Multiple_Sinks.cpp
@@ -0,0 +1,36 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ace/streams.h"
+#if (_MSC_VER >= 1200) && (_MSC_VER < 1300)
+#include <fstream>
+#endif
+int ACE_TMAIN (int, ACE_TCHAR *argv[])
+{
+ // Output to default destination (stderr)
+ ACE_LOG_MSG->open (argv[0]);
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_OSTREAM_TYPE *output =
+ (ACE_OSTREAM_TYPE *) new std::ofstream ("ostream.output.test");
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IThis will go to STDERR\n")));
+
+ ACE_LOG_MSG->open
+ (argv[0], ACE_Log_Msg::SYSLOG, ACE_TEXT ("syslogTest"));
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR);
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("%IThis goes to STDERR & syslog\n")));
+
+ ACE_LOG_MSG->msg_ostream (output, 0);
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%IThis will go to STDERR, ")
+ ACE_TEXT ("syslog & an ostream\n")));
+
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM);
+ delete output;
+
+ return 0;
+}
diff --git a/examples/APG/Logging/Use_Ostream.cpp b/examples/APG/Logging/Use_Ostream.cpp
new file mode 100644
index 00000000000..f55e66905d8
--- /dev/null
+++ b/examples/APG/Logging/Use_Ostream.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ace/streams.h"
+#if (_MSC_VER >= 1200) && (_MSC_VER < 1300)
+#include <fstream>
+#endif
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+
+
+ /* Alternatively, you can use the set_flags() method to do the same
+ thing after the singleton has been created:
+ */
+ // Listing 2 code/ch03
+ ACE_OSTREAM_TYPE *output =
+ (ACE_OSTREAM_TYPE *) new std::ofstream ("ostream.output.test");
+ ACE_LOG_MSG->msg_ostream (output, 1);
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM);
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR);
+ // Listing 2
+
+ foo ();
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
+}
diff --git a/examples/APG/Logging/Use_Stderr.cpp b/examples/APG/Logging/Use_Stderr.cpp
new file mode 100644
index 00000000000..3b087a09af4
--- /dev/null
+++ b/examples/APG/Logging/Use_Stderr.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+void foo (void);
+
+// Listing 1 code/ch03
+int ACE_TMAIN (int, ACE_TCHAR *argv[])
+{
+ // open() requires the name of the application
+ // (e.g. -- argv[0]) because the underlying
+ // implementation may use it in the log output.
+ ACE_LOG_MSG->open (argv[0], ACE_Log_Msg::STDERR);
+ // Listing 1
+
+ /* Alternatively, you can use the set_flags() method to do the same
+ thing after the singleton has been created:
+ */
+
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ // Listing 2 code/ch03
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR);
+ foo ();
+ // Listing 2
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
+
+}
diff --git a/examples/APG/Logging/Use_Syslog.cpp b/examples/APG/Logging/Use_Syslog.cpp
new file mode 100644
index 00000000000..ef0cc8857f2
--- /dev/null
+++ b/examples/APG/Logging/Use_Syslog.cpp
@@ -0,0 +1,32 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *argv[])
+{
+ // This will be directed to stderr (the default ACE_Log_Msg
+ // behavior).
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%IHi Mom\n")));
+
+ // Everything from foo() will be directed to the system logger
+ ACE_LOG_MSG->open
+ (argv[0], ACE_Log_Msg::SYSLOG, ACE_TEXT ("syslogTest"));
+ foo ();
+
+ // Now we reset the log output to default (stderr)
+ ACE_LOG_MSG->open (argv[0]);
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
+
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
+}
diff --git a/examples/APG/Logging/Wrap_Macros.cpp b/examples/APG/Logging/Wrap_Macros.cpp
new file mode 100644
index 00000000000..73c908272d2
--- /dev/null
+++ b/examples/APG/Logging/Wrap_Macros.cpp
@@ -0,0 +1,36 @@
+// $Id$
+
+#if defined (__GNUC__) && (__GNUC__ >= 3 || __GNUC_MINOR__ > 95)
+// The macros in Trace.h only work on g++ 2.96 and later.
+
+// Listing 1 code/ch03
+#include "Trace.h"
+
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE (ACE_TEXT ("main"));
+ MY_DEBUG (ACE_TEXT ("Hi Mom\n"));
+ foo ();
+ MY_DEBUG (ACE_TEXT ("Goodnight\n"));
+ return 0;
+}
+
+void foo (void)
+{
+ ACE_TRACE (ACE_TEXT ("foo"));
+ MY_DEBUG (ACE_TEXT ("Howdy Pardner\n"));
+}
+// Listing 1
+
+#else
+#include <stdio.h>
+
+int main (int, char *[])
+{
+ puts ("This example only works on g++ 2.96 and later.\n");
+ return 0;
+}
+
+#endif /* __GNUC__ */
diff --git a/examples/APG/Logging/Wrap_Macros_Alt.cpp b/examples/APG/Logging/Wrap_Macros_Alt.cpp
new file mode 100644
index 00000000000..1926f001d36
--- /dev/null
+++ b/examples/APG/Logging/Wrap_Macros_Alt.cpp
@@ -0,0 +1,18 @@
+// $Id$
+
+#include "Log_Msg_Alt.h"
+
+void foo (void);
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE (ACE_TEXT ("main"));
+
+ // Listing 1 code/ch03
+ ACE_DEBUG ((MY_DEBUG ACE_TEXT ("Hi Mom\n")));
+
+ ACE_DEBUG ((MY_DEBUG ACE_TEXT ("Goodnight\n")));
+ // Listing 1
+
+ return 0;
+}
diff --git a/examples/APG/Logging/client.conf b/examples/APG/Logging/client.conf
new file mode 100644
index 00000000000..1007e3aa7f6
--- /dev/null
+++ b/examples/APG/Logging/client.conf
@@ -0,0 +1 @@
+dynamic Client_Logging_Service Service_Object * netsvcs:_make_ACE_Client_Logging_Acceptor() active "-p 20009 -h localhost"
diff --git a/examples/APG/Logging/logging.mpc b/examples/APG/Logging/logging.mpc
new file mode 100644
index 00000000000..de7690d6290
--- /dev/null
+++ b/examples/APG/Logging/logging.mpc
@@ -0,0 +1,125 @@
+project(Simple1) : aceexe {
+ exename = Simple1
+ Source_Files {
+ Simple1.cpp
+ }
+}
+
+project(Simple2) : aceexe {
+ exename = Simple2
+ Source_Files {
+ Simple2.cpp
+ }
+}
+
+project(Change Mask) : aceexe {
+ exename = Change_Mask
+ Source_Files {
+ Change_Mask.cpp
+ }
+}
+
+project(Change Instance Default) : aceexe {
+ exename = Change_Instance_Default
+ Source_Files {
+ Change_Instance_Default.cpp
+ }
+}
+
+project(Wrap Macros) : aceexe {
+ exename = Wrap_Macros
+ Source_Files {
+ Wrap_Macros.cpp
+ }
+}
+
+project(Wrap Macros Alt) : aceexe {
+ exename = Wrap_Macros_Alt
+ Source_Files {
+ Wrap_Macros_Alt.cpp
+ }
+}
+
+project(Trace Return) : aceexe {
+ exename = Trace_Return
+ Source_Files {
+ Trace_Return.cpp
+ }
+}
+
+project(Use Stderr) : aceexe {
+ exename = Use_Stderr
+ Source_Files {
+ Use_Stderr.cpp
+ }
+}
+
+project(Howto Syslog) : aceexe {
+ exename = Howto_Syslog
+ Source_Files {
+ Howto_Syslog.cpp
+ }
+}
+
+project(Use Syslog) : aceexe {
+ exename = Use_Syslog
+ Source_Files {
+ Use_Syslog.cpp
+ }
+}
+
+project(Use Ostream) : aceexe {
+ exename = Use_Ostream
+ Source_Files {
+ Use_Ostream.cpp
+ }
+}
+
+project(Use Multiple Sinks) : aceexe {
+ exename = Use_Multiple_Sinks
+ Source_Files {
+ Use_Multiple_Sinks.cpp
+ }
+}
+
+project(Use Callback) : aceexe {
+ exename = Use_Callback
+ Source_Files {
+ Use_Callback.cpp
+ }
+}
+
+project(Use Callback2) : aceexe {
+ exename = Use_Callback2
+ Source_Files {
+ Use_Callback2.cpp
+ }
+}
+
+project(Use Logger) : aceexe {
+ exename = Use_Logger
+ Source_Files {
+ Use_Logger.cpp
+ }
+}
+
+project(Use Logging Server) : aceexe {
+ exename = Use_Logging_Server
+ Source_Files {
+ Use_Logging_Server.cpp
+ }
+}
+
+project(Use LogManager) : aceexe {
+ exename = Use_LogManager
+ Source_Files {
+ Use_LogManager.cpp
+ }
+}
+
+project(Use Logging Strategy) : aceexe {
+ exename = Use_Logging_Strategy
+ Source_Files {
+ Use_Logging_Strategy.cpp
+ }
+}
diff --git a/examples/APG/Logging/logging.mwc b/examples/APG/Logging/logging.mwc
new file mode 100644
index 00000000000..d3d6dd0fc12
--- /dev/null
+++ b/examples/APG/Logging/logging.mwc
@@ -0,0 +1,3 @@
+workspace {
+ logging.mpc
+}
diff --git a/examples/APG/Logging/logging_strategy.conf b/examples/APG/Logging/logging_strategy.conf
new file mode 100644
index 00000000000..b63501ee185
--- /dev/null
+++ b/examples/APG/Logging/logging_strategy.conf
@@ -0,0 +1 @@
+dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy() "-s log.out -f STDERR|OSTREAM -p INFO"
diff --git a/examples/APG/Logging/server.conf b/examples/APG/Logging/server.conf
new file mode 100644
index 00000000000..31f8fd95d9d
--- /dev/null
+++ b/examples/APG/Logging/server.conf
@@ -0,0 +1,3 @@
+dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy() "-s foobar -f STDERR|OSTREAM|VERBOSE"
+
+dynamic Server_Logging_Service Service_Object * netsvcs:_make_ACE_Server_Logging_Acceptor() active "-p 20009"
diff --git a/examples/APG/Makefile b/examples/APG/Makefile
new file mode 100644
index 00000000000..833c3628faf
--- /dev/null
+++ b/examples/APG/Makefile
@@ -0,0 +1,49 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Makefile for the ACE examples/APG directory
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+DIRS = Config \
+ Containers \
+ Logging \
+ Misc_IPC \
+ Proactor \
+ Processes \
+ Reactor \
+ Shared_Memory \
+ Signals \
+ Sockets \
+ Svc_Config \
+ Timers
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+
+# The Naming examples use std::list, so don't attempt it with explicit
+# templates turned on.
+ifeq ($(templates),implicit)
+DIRS += Naming
+endif
+# The following directories needs support from the synchronization
+# primitives in ACE. Do not attempt single threaded builds for the
+# following
+ifeq ($(threads),1)
+DIRS += Active_Objects \
+ Streams \
+ Threads \
+ ThreadManagement \
+ ThreadPools \
+ ThreadSafety
+endif
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/examples/APG/Misc_IPC/Makefile b/examples/APG/Misc_IPC/Makefile
new file mode 100644
index 00000000000..e62e2bc6ee6
--- /dev/null
+++ b/examples/APG/Misc_IPC/Makefile
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = UDP_Unicast UDP_Broadcast UDP_Multicast
+
+SOURCES = UDP_Unicast.cpp UDP_Broadcast.cpp UDP_Multicast.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Misc_IPC/UDP_Broadcast.cpp b/examples/APG/Misc_IPC/UDP_Broadcast.cpp
new file mode 100644
index 00000000000..8f3fe58c1b5
--- /dev/null
+++ b/examples/APG/Misc_IPC/UDP_Broadcast.cpp
@@ -0,0 +1,34 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+// Listing 1 code/ch09
+#include "ace/OS.h"
+#include "ace/Log_Msg.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Dgram_Bcast.h"
+
+int send_broadcast (u_short to_port)
+{
+ const char *message = "this is the message!\n";
+ ACE_INET_Addr my_addr (ACE_static_cast (u_short, 10101));
+ ACE_SOCK_Dgram_Bcast udp (my_addr);
+ ssize_t sent = udp.send (message,
+ ACE_OS_String::strlen (message) + 1,
+ to_port);
+ udp.close ();
+ if (sent == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("send")), -1);
+ return 0;
+}
+// Listing 1
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ send_broadcast (10);
+ return 0;
+}
diff --git a/examples/APG/Misc_IPC/UDP_Multicast.cpp b/examples/APG/Misc_IPC/UDP_Multicast.cpp
new file mode 100644
index 00000000000..a21b02efc69
--- /dev/null
+++ b/examples/APG/Misc_IPC/UDP_Multicast.cpp
@@ -0,0 +1,37 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+// Listing 1 code/ch09
+#include "ace/OS.h"
+#include "ace/Log_Msg.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Dgram_Mcast.h"
+
+int send_multicast (const ACE_INET_Addr &mcast_addr)
+{
+ const char *message = "this is the message!\n";
+ ACE_SOCK_Dgram_Mcast udp;
+ if (-1 == udp.join (mcast_addr))
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("join")), -1);
+
+ ssize_t sent = udp.send (message,
+ ACE_OS_String::strlen (message) + 1);
+ udp.close ();
+ if (sent == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("send")), -1);
+ return 0;
+}
+// Listing 1
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_INET_Addr nop;
+ send_multicast (nop);
+ return 0;
+}
diff --git a/examples/APG/Misc_IPC/UDP_Unicast.cpp b/examples/APG/Misc_IPC/UDP_Unicast.cpp
new file mode 100644
index 00000000000..6a6c6f6a2e4
--- /dev/null
+++ b/examples/APG/Misc_IPC/UDP_Unicast.cpp
@@ -0,0 +1,71 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+// Listing 1 code/ch09
+#include "ace/OS.h"
+#include "ace/Log_Msg.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Dgram.h"
+
+int send_unicast (const ACE_INET_Addr &to)
+{
+ const char *message = "this is the message!\n";
+ ACE_INET_Addr my_addr (ACE_static_cast (u_short, 10101));
+ ACE_SOCK_Dgram udp (my_addr);
+ ssize_t sent = udp.send (message,
+ ACE_OS_String::strlen (message) + 1,
+ to);
+ udp.close ();
+ if (sent == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("send")), -1);
+ return 0;
+}
+// Listing 1
+
+// Listing 2 code/ch09
+void echo_dgram (void)
+{
+ ACE_INET_Addr my_addr (ACE_static_cast (u_short, 10102));
+ ACE_INET_Addr your_addr;
+ ACE_SOCK_Dgram udp (my_addr);
+ char buff[BUFSIZ];
+ size_t buflen = sizeof (buff);
+ ssize_t recv_cnt = udp.recv (buff, buflen, your_addr);
+ if (recv_cnt > 0)
+ udp.send (buff, ACE_static_cast (size_t, buflen), your_addr);
+ udp.close ();
+ return;
+}
+// Listing 2
+
+// Listing 3 code/ch09
+#include "ace/SOCK_CODgram.h"
+// Exclude 3
+static void show_codgram (void)
+{
+ char buff[BUFSIZ];
+ size_t buflen = sizeof (buff);
+ // Exclude 3
+ const ACE_TCHAR *peer = ACE_TEXT ("other_host:8042");
+ ACE_INET_Addr peer_addr (peer);
+ ACE_SOCK_CODgram udp;
+ if (0 != udp.open (peer_addr))
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), peer));
+
+ // ...
+
+ if (-1 == udp.send (buff, buflen))
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("send")));
+ // Listing 3
+}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ show_codgram ();
+ return 0;
+}
diff --git a/examples/APG/Misc_IPC/misc_ipc.mpc b/examples/APG/Misc_IPC/misc_ipc.mpc
new file mode 100644
index 00000000000..d59a5e01e16
--- /dev/null
+++ b/examples/APG/Misc_IPC/misc_ipc.mpc
@@ -0,0 +1,20 @@
+project(UDP Broadcast) : aceexe {
+ exename = UDP_Broadcast
+ Source_Files {
+ UDP_Broadcast.cpp
+ }
+}
+
+project(UDP Multicast) : aceexe {
+ exename = UDP_Multicast
+ Source_Files {
+ UDP_Multicast.cpp
+ }
+}
+
+project(UDP Unicast) : aceexe {
+ exename = UDP_Unicast
+ Source_Files {
+ UDP_Unicast.cpp
+ }
+}
diff --git a/examples/APG/Misc_IPC/misc_ipc.mwc b/examples/APG/Misc_IPC/misc_ipc.mwc
new file mode 100644
index 00000000000..7ac6239a69f
--- /dev/null
+++ b/examples/APG/Misc_IPC/misc_ipc.mwc
@@ -0,0 +1,3 @@
+workspace {
+ misc_ipc.mpc
+}
diff --git a/examples/APG/Naming/EMail.h b/examples/APG/Naming/EMail.h
new file mode 100644
index 00000000000..fc38913a10a
--- /dev/null
+++ b/examples/APG/Naming/EMail.h
@@ -0,0 +1,28 @@
+// $Id$
+
+#ifndef EMAIL_H
+#define EMAIL_H
+
+#include "ace/Log_Msg.h"
+
+class EMail
+ {
+ public:
+ EMail()
+ { }
+
+ int send (const char *to,
+ const char *from,
+ const char *subject,
+ const char *message)
+ {
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("To:\t%s\n"), to));
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("From:\t%s\n"), from));
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Subject:\t%s\n"), subject));
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("\n%s\n"), message));
+
+ return 0;
+ }
+ };
+
+#endif /* EMAIL_H */
diff --git a/examples/APG/Naming/Graph.cpp b/examples/APG/Naming/Graph.cpp
new file mode 100644
index 00000000000..cff8e37244e
--- /dev/null
+++ b/examples/APG/Naming/Graph.cpp
@@ -0,0 +1,48 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "Graph.h"
+
+void Graph::graph( char * filename, Graphable_Element_List & data )
+{
+ data.sort();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Save graph to %s\n"), filename ));
+
+ char h[10][10];
+ for (int n = 0 ; n < 10 ; ++n )
+ {
+ for ( int j = 0 ; j < 10 ; ++j )
+ {
+ h[n][j] = ' ';
+ }
+ }
+
+ int l[10];
+ int k = 0;
+ for ( Graphable_Element_List::iterator i = data.begin() ;
+ i != data.end() ;
+ ++i, ++k )
+ {
+ l[k] = (*i).when();
+
+ int temp = (int) ((*i).temp() - 80.0);
+
+ for ( int j = 0 ; j <= temp ; ++j )
+ {
+ h[k][j] = '#';
+ }
+ }
+
+ for (int m = 0 ; m < 10 ; ++m )
+ {
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%d "), l[m] ));
+
+ for ( int j = 0 ; j < 10 ; ++j )
+ {
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("%c"), h[m][j]));
+ }
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("\n")));
+ }
+}
+
diff --git a/examples/APG/Naming/Graph.h b/examples/APG/Naming/Graph.h
new file mode 100644
index 00000000000..135b7d14f77
--- /dev/null
+++ b/examples/APG/Naming/Graph.h
@@ -0,0 +1,18 @@
+// $Id$
+
+#ifndef GRAPH_H
+#define GRAPH_H
+
+#include "Graphable_Element.h"
+
+class Graph
+ {
+ public:
+ Graph()
+ {
+ }
+
+ void graph( char * filename, Graphable_Element_List & data );
+ };
+
+#endif /* GRAPH_H */
diff --git a/examples/APG/Naming/Graphable_Element.cpp b/examples/APG/Naming/Graphable_Element.cpp
new file mode 100644
index 00000000000..6b5d6c755e6
--- /dev/null
+++ b/examples/APG/Naming/Graphable_Element.cpp
@@ -0,0 +1,13 @@
+// $Id$
+
+#include "Graphable_Element.h"
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class _List_base<Graphable_Element, allocator<Graphable_Element> >;
+template void list<Graphable_Element, allocator<Graphable_Element> >::sort(void);
+template void list<Graphable_Element, allocator<Graphable_Element> >::merge(list<Graphable_Element, allocator<Graphable_Element> > &);
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+pragma instantiate _List_base<Graphable_Element, allocator<Graphable_Element> >;
+pragma instantiate list<Graphable_Element, allocator<Graphable_Element> >::sort(void);
+pragma instantiate list<Graphable_Element, allocator<Graphable_Element> >::merge(list<Graphable_Element, allocator<Graphable_Element> > &);
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Naming/Graphable_Element.h b/examples/APG/Naming/Graphable_Element.h
new file mode 100644
index 00000000000..42758934993
--- /dev/null
+++ b/examples/APG/Naming/Graphable_Element.h
@@ -0,0 +1,53 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef GRAPHABLE_ELEMENT_H
+#define GRAPHABLE_ELEMENT_H
+
+#include "Name_Binding.h"
+#include <list>
+
+// A helper class that knows how to sort two ACE_Name_Binding objects
+// which contain temperature metrics. The value stored in the binding
+// is expected to be of the format "time|temp".
+//
+// Listing 1 code/ch21
+class Graphable_Element : public Name_Binding
+{
+public:
+ Graphable_Element (ACE_Name_Binding *entry)
+ : Name_Binding(entry)
+ {
+ sscanf (this->value (), "%d|%f", &this->when_, &this->temp_);
+ }
+ // Listing 1
+
+ // Listing 2 code/ch21
+ inline int when (void) const
+ {
+ return this->when_;
+ }
+
+ inline float temp (void)
+ {
+ return this->temp_;
+ }
+ // Listing 2
+
+ // Listing 3 code/ch21
+ inline bool operator< (const Graphable_Element &other) const
+ {
+ return this->when () < other.when ();
+ }
+ // Listing 3
+
+ // Listing 4 code/ch21
+private:
+ int when_;
+ float temp_;
+};
+
+typedef std::list<Graphable_Element> Graphable_Element_List;
+// Listing 4
+
+#endif /* GRAPHABLE_ELEMENT_H */
diff --git a/examples/APG/Naming/Makefile b/examples/APG/Naming/Makefile
new file mode 100644
index 00000000000..73391a74cb6
--- /dev/null
+++ b/examples/APG/Naming/Makefile
@@ -0,0 +1,39 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+MAKEFILE=Makefile
+
+MKLIST = Makefile.netlocal \
+ Makefile.netlocal_reader \
+ Makefile.nodelocal \
+ Makefile.nodelocal_shared \
+ Makefile.nodelocal_shared_reader
+
+## Ensure that Makefiles in MKLIST are executed in sequence during a
+## parallel build because we share some files between multiple libraries.
+## Also, the AIX tempinc directory will get confused.
+.NOTPARALLEL:
+
+## Makefile.*.mkfile is a dummy target which will cause
+## $(MAKE) -f Makefile.* to be invoked, then it cleans
+## up tempinc when needed for AIX Visual Age C++.
+%.mkfile: %
+ @echo $(MAKE) -f $< $(MKFILE_TARGET)
+ -@$(RM) -rf tempinc
+ @$(MAKE) -f $< $(MKFILE_TARGET)
+
+# This rule invokes make again with the list of .mkfile targets as a
+# parameter. For example, if the all target is being made, make is invoked
+# as follows:
+#
+# make -f Makefile MKFILE_TARGET=all Makefile.singles
+
+all clean depend realclean:
+ifneq ($(MKLIST),)
+ @echo $(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+ @$(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/examples/APG/Naming/Makefile.netlocal b/examples/APG/Naming/Makefile.netlocal
new file mode 100644
index 00000000000..f296f08301d
--- /dev/null
+++ b/examples/APG/Naming/Makefile.netlocal
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Netlocal
+
+SRC = Netlocal.cpp Temperature_Monitor2.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Naming/Makefile.netlocal_reader b/examples/APG/Naming/Makefile.netlocal_reader
new file mode 100644
index 00000000000..1baecddb132
--- /dev/null
+++ b/examples/APG/Naming/Makefile.netlocal_reader
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Netlocal_reader
+
+SRC = Netlocal_reader.cpp Graph.cpp Temperature_Grapher.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Naming/Makefile.nodelocal b/examples/APG/Naming/Makefile.nodelocal
new file mode 100644
index 00000000000..1bf769dab9c
--- /dev/null
+++ b/examples/APG/Naming/Makefile.nodelocal
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Nodelocal
+
+SRC = Nodelocal.cpp Temperature_Monitor.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Naming/Makefile.nodelocal_shared b/examples/APG/Naming/Makefile.nodelocal_shared
new file mode 100644
index 00000000000..719f7344755
--- /dev/null
+++ b/examples/APG/Naming/Makefile.nodelocal_shared
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Nodelocal_shared
+
+SRC = Nodelocal_shared.cpp Temperature_Monitor2.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Naming/Makefile.nodelocal_shared_reader b/examples/APG/Naming/Makefile.nodelocal_shared_reader
new file mode 100644
index 00000000000..2629d6ddd9f
--- /dev/null
+++ b/examples/APG/Naming/Makefile.nodelocal_shared_reader
@@ -0,0 +1,17 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Nodelocal_shared_reader
+
+SRC = Nodelocal_shared_reader.cpp \
+ Graph.cpp \
+ Temperature_Grapher.cpp \
+ Temperature_Monitor.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Naming/Name_Binding.h b/examples/APG/Naming/Name_Binding.h
new file mode 100644
index 00000000000..87850362586
--- /dev/null
+++ b/examples/APG/Naming/Name_Binding.h
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef NAME_BINDING_H
+#define NAME_BINDING_H
+
+#include "ace/OS_NS_stdlib.h"
+#include "ace/OS_NS_string.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/Name_Space.h"
+
+// Listing 1 code/ch21
+class Name_Binding
+{
+public:
+ Name_Binding (ACE_Name_Binding *entry)
+ {
+ this->name_ = entry->name_.char_rep ();
+ this->value_ = entry->value_.char_rep ();
+ this->type_ = ACE_OS::strdup (entry->type_);
+ }
+
+ Name_Binding (const ACE_NS_WString &n,
+ const ACE_NS_WString &v,
+ const char *t)
+ {
+ this->name_ = n.char_rep ();
+ this->value_ = v.char_rep ();
+ this->type_ = ACE_OS::strdup (t);
+ }
+
+ ~Name_Binding ()
+ {
+ delete this->name_;
+ delete this->value_;
+ delete this->type_;
+ }
+
+ char *name (void)
+ { return this->name_; }
+
+ char *value (void)
+ { return this->value_; }
+
+ const char *type (void)
+ { return this->type_; }
+
+ int int_value (void)
+ { return ACE_OS::atoi (this->value ()); }
+
+private:
+ char *name_;
+ char *value_;
+ char *type_;
+};
+
+typedef auto_ptr<Name_Binding> Name_Binding_Ptr;
+// Listing 1
+
+#endif /* NAME_BINDING_H */
diff --git a/examples/APG/Naming/Naming_Context.h b/examples/APG/Naming/Naming_Context.h
new file mode 100644
index 00000000000..abcf793b2b6
--- /dev/null
+++ b/examples/APG/Naming/Naming_Context.h
@@ -0,0 +1,68 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef NAMING_CONTEXT_H
+#define NAMING_CONTEXT_H
+
+#include "ace/Naming_Context.h"
+#include "ace/OS_NS_stdio.h"
+#include "Name_Binding.h"
+
+// Listing 1 code/ch21
+class Naming_Context : public ACE_Naming_Context
+{
+public:
+ typedef ACE_Naming_Context inherited;
+
+ int rebind (const char *name_in,
+ const char *value_in,
+ const char *type_in = "")
+ {
+ return this->inherited::rebind (name_in, value_in, type_in);
+ }
+
+ int rebind (const char *name_in,
+ float value_in,
+ const char *type_in = "")
+ {
+ char buf[BUFSIZ];
+ ACE_OS::sprintf (buf, "%2f", value_in);
+ return this->inherited::rebind (name_in,
+ (const char *)buf,
+ type_in);
+ }
+
+ int rebind (const char *name_in,
+ int value_in,
+ const char *type_in = "")
+ {
+ char buf[BUFSIZ];
+ ACE_OS::sprintf (buf, "%d", value_in );
+ return this->inherited::rebind (name_in,
+ (const char *)buf,
+ type_in);
+ }
+ // Listing 1
+
+ // Listing 2 code/ch21
+ Name_Binding *fetch (const char *name)
+ {
+ ACE_NS_WString value;
+ char *type;
+
+ if (this->resolve (name, value, type) != 0 ||
+ value.length () < 1)
+ {
+ return 0;
+ }
+
+ Name_Binding *rval =
+ new Name_Binding (ACE_NS_WString (name),
+ value,
+ type);
+ return rval;
+ }
+// Listing 2
+};
+
+#endif /* NAMING_CONTEXT_H */
diff --git a/examples/APG/Naming/Netlocal.cpp b/examples/APG/Naming/Netlocal.cpp
new file mode 100644
index 00000000000..f1799ab3882
--- /dev/null
+++ b/examples/APG/Naming/Netlocal.cpp
@@ -0,0 +1,40 @@
+// $Id$
+
+#include "Naming_Context.h"
+#include "Temperature_Monitor2.h"
+#include "Temperature_Monitor_Options.h"
+
+// Listing 1 code/ch21
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ Temperature_Monitor_Options opt (argc, argv);
+
+ Naming_Context process_context;
+ {
+ ACE_Name_Options *name_options =
+ process_context.name_options ();
+ name_options->context (ACE_Naming_Context::PROC_LOCAL);
+ ACE_TCHAR *nargv[] = { argv[0] };
+ name_options->parse_args (sizeof(nargv) / sizeof(ACE_TCHAR*),
+ nargv);
+ process_context.open (name_options->context ());
+ }
+
+ Naming_Context shared_context;
+ {
+ ACE_Name_Options *name_options =
+ shared_context.name_options ();
+ name_options->process_name (argv[0]);
+ name_options->context (ACE_Naming_Context::NET_LOCAL);
+ shared_context.open (name_options->context ());
+ }
+
+ Temperature_Monitor2 temperature_monitor (opt,
+ process_context,
+ shared_context);
+ temperature_monitor.monitor ();
+ process_context.close ();
+ shared_context.close ();
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Naming/Netlocal_reader.cpp b/examples/APG/Naming/Netlocal_reader.cpp
new file mode 100644
index 00000000000..f77724aabbe
--- /dev/null
+++ b/examples/APG/Naming/Netlocal_reader.cpp
@@ -0,0 +1,23 @@
+// $Id$
+
+#include "Naming_Context.h"
+#include "Temperature_Grapher.h"
+#include "Temperature_Grapher_Options.h"
+
+// Listing 1 code/ch21
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ Temperature_Grapher_Options opt (argc, argv);
+
+ Naming_Context naming_context;
+ ACE_Name_Options *name_options = naming_context.name_options ();
+ name_options->process_name (argv[0]);
+ name_options->context (ACE_Naming_Context::NET_LOCAL);
+ naming_context.open (name_options->context ());
+
+ Temperature_Grapher grapher (opt, naming_context);
+ grapher.monitor ();
+ naming_context.close ();
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Naming/Nodelocal.cpp b/examples/APG/Naming/Nodelocal.cpp
new file mode 100644
index 00000000000..c8a2d862634
--- /dev/null
+++ b/examples/APG/Naming/Nodelocal.cpp
@@ -0,0 +1,37 @@
+// $Id$
+
+#include "Naming_Context.h"
+#include "Temperature_Monitor.h"
+#include "Temperature_Monitor_Options.h"
+
+// Listing 1 code/ch21
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ Temperature_Monitor_Options opt (argc, argv);
+ // Listing 1
+
+ // Listing 2 code/ch21
+ Naming_Context naming_context;
+
+ ACE_Name_Options *name_options = naming_context.name_options();
+ // Listing 2
+
+ // Listing 3 code/ch21
+ char *naming_options_argv[] = { argv[0] };
+ name_options->parse_args
+ (sizeof(naming_options_argv) / sizeof(char*),
+ naming_options_argv);
+ name_options->context (ACE_Naming_Context::PROC_LOCAL);
+ naming_context.open (name_options->context ());
+ // Listing 3
+
+ // Listing 4 code/ch21
+ Temperature_Monitor temperature_monitor (opt, naming_context);
+ temperature_monitor.monitor ();
+ // Listing 4
+
+ // Listing 5 code/ch21
+ naming_context.close ();
+ return 0;
+ // Listing 5
+}
diff --git a/examples/APG/Naming/Nodelocal_shared.cpp b/examples/APG/Naming/Nodelocal_shared.cpp
new file mode 100644
index 00000000000..34ea87aab2d
--- /dev/null
+++ b/examples/APG/Naming/Nodelocal_shared.cpp
@@ -0,0 +1,43 @@
+// $Id$
+
+#include "Naming_Context.h"
+#include "Temperature_Monitor2.h"
+#include "Temperature_Monitor_Options.h"
+
+// Listing 1 code/ch21
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ Temperature_Monitor_Options opt (argc, argv);
+ Naming_Context process_context;
+ {
+ ACE_Name_Options *name_options =
+ process_context.name_options ();
+ name_options->context (ACE_Naming_Context::PROC_LOCAL);
+ ACE_TCHAR *nargv[] = { argv[0] };
+ name_options->parse_args (sizeof(nargv) / sizeof(ACE_TCHAR*) ,
+ nargv);
+ process_context.open (name_options->context ());
+ }
+
+ Naming_Context shared_context;
+ {
+ ACE_Name_Options *name_options =
+ shared_context.name_options ();
+ name_options->process_name (argv[0]);
+ name_options->context (ACE_Naming_Context::NODE_LOCAL);
+ shared_context.open (name_options->context ());
+ }
+
+ Temperature_Monitor2 temperature_monitor (opt,
+ process_context,
+ shared_context);
+ temperature_monitor.monitor ();
+
+ process_context.close ();
+ shared_context.close ();
+
+ return 0;
+}
+// Listing 1
+
+
diff --git a/examples/APG/Naming/Nodelocal_shared_reader.cpp b/examples/APG/Naming/Nodelocal_shared_reader.cpp
new file mode 100644
index 00000000000..7385f09a496
--- /dev/null
+++ b/examples/APG/Naming/Nodelocal_shared_reader.cpp
@@ -0,0 +1,23 @@
+// $Id$
+
+#include "Naming_Context.h"
+#include "Temperature_Grapher.h"
+#include "Temperature_Grapher_Options.h"
+
+// Listing 1 code/ch21
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ Temperature_Grapher_Options opt (argc, argv);
+
+ Naming_Context naming_context;
+ ACE_Name_Options *name_options = naming_context.name_options ();
+ name_options->process_name (argv[0]);
+ name_options->context (ACE_Naming_Context::NODE_LOCAL);
+ naming_context.open (name_options->context ());
+
+ Temperature_Grapher grapher (opt, naming_context);
+ grapher.monitor ();
+ naming_context.close ();
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Naming/Temperature_Grapher.cpp b/examples/APG/Naming/Temperature_Grapher.cpp
new file mode 100644
index 00000000000..e11367af4a0
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Grapher.cpp
@@ -0,0 +1,81 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+
+#include "Graph.h"
+#include "Graphable_Element.h"
+#include "Temperature_Grapher.h"
+
+// Listing 1 code/ch21
+void Temperature_Grapher::monitor (void)
+{
+ for (;;)
+ {
+ this->update_graph ();
+ ACE_OS::sleep (this->opt_.poll_interval ());
+ }
+}
+// Listing 1
+
+// Listing 2 code/ch21
+void Temperature_Grapher::update_graph (void)
+{
+ Name_Binding_Ptr lastUpdate
+ (this->naming_context_.fetch ("lastUpdate"));
+
+ if (!lastUpdate.get ())
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("No data to graph\n")));
+ return;
+ }
+ // Listing 2
+
+ // Listing 3 code/ch21
+ Name_Binding_Ptr lastGraphed
+ (this->naming_context_.fetch ("lastGraphed"));
+
+ if (lastGraphed.get () &&
+ lastGraphed->int_value () == lastUpdate->int_value ())
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Data already graphed\n")));
+ return;
+ }
+ // Listing 3
+
+ // Listing 4 code/ch21
+ ACE_BINDING_SET set;
+ if (this->naming_context_.list_name_entries
+ (set, "history[") != 0)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("There's nothing to graph\n")));
+ return;
+ }
+ // Listing 4
+
+ // Listing 5 code/ch21
+ Graphable_Element_List graphable;
+ ACE_BINDING_ITERATOR set_iterator (set);
+ for (ACE_Name_Binding *entry = 0;
+ set_iterator.next (entry) != 0;
+ set_iterator.advance ())
+ {
+ Name_Binding binding (entry);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%s\t%s\t%s\n"),
+ binding.type (),
+ binding.name (),
+ binding.value ()));
+
+ Graphable_Element *ge = new Graphable_Element (entry);
+ graphable.push_back (*ge);
+ }
+ // Listing 5
+
+ // Listing 6 code/ch21
+ Graph g;
+ g.graph (lastUpdate->value (), graphable);
+ this->naming_context_.rebind ("lastGraphed",
+ lastUpdate->int_value ());
+ // Listing 6
+}
diff --git a/examples/APG/Naming/Temperature_Grapher.h b/examples/APG/Naming/Temperature_Grapher.h
new file mode 100644
index 00000000000..610dac6a578
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Grapher.h
@@ -0,0 +1,30 @@
+// $Id$
+
+#ifndef TEMPERATURE_GRAPHER_H
+#define TEMPERATURE_GRAPHER_H
+
+#include "Thermometer.h"
+#include "Temperature_Grapher_Options.h"
+#include "Naming_Context.h"
+
+class Temperature_Grapher
+ {
+ public:
+ Temperature_Grapher( Temperature_Grapher_Options & opt,
+ Naming_Context & naming_context )
+ : opt_(opt), naming_context_(naming_context)
+ {
+ }
+
+ void monitor();
+
+ protected:
+ void update_graph();
+
+ private:
+ Thermometer * thermometer_;
+ Temperature_Grapher_Options & opt_;
+ Naming_Context & naming_context_;
+ };
+
+#endif /* TEMPERATURE_GRAPHER_H */
diff --git a/examples/APG/Naming/Temperature_Grapher_Options.h b/examples/APG/Naming/Temperature_Grapher_Options.h
new file mode 100644
index 00000000000..9e36a0551fd
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Grapher_Options.h
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef TEMPERATURE_GRAPHER_OPTIONS_H
+#define TEMPERATURE_GRAPHER_OPTIONS_H
+
+class Temperature_Grapher_Options
+ {
+ public:
+ Temperature_Grapher_Options( int argc, char ** argv )
+ {
+ ACE_UNUSED_ARG(argc);
+ ACE_UNUSED_ARG(argv);
+ }
+
+ int poll_interval()
+ {
+ return 20; // every 20 seconds
+ }
+ };
+
+#endif /* TEMPERATURE_GRAPHER_OPTIONS_H */
diff --git a/examples/APG/Naming/Temperature_Monitor.cpp b/examples/APG/Naming/Temperature_Monitor.cpp
new file mode 100644
index 00000000000..8ac841b4108
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Monitor.cpp
@@ -0,0 +1,133 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+
+#include "Thermometer.h"
+#include "Temperature_Monitor.h"
+#include "EMail.h"
+
+// Listing 1 code/ch21
+Temperature_Monitor::Temperature_Monitor
+ (Temperature_Monitor_Options &opt,
+ Naming_Context &naming_context)
+ : opt_(opt), naming_context_(naming_context)
+{ }
+// Listing 1
+
+// Listing 31 code/ch21
+void Temperature_Monitor::record_temperature (float temp)
+{
+ Name_Binding_Ptr current
+ (this->naming_context_.fetch ("current"));
+ if (current.get())
+ {
+ this->naming_context_.rebind ("previous",
+ current->value ());
+ }
+// Listing 31
+
+// Listing 32 code/ch21
+ this->naming_context_.rebind ("current", temp);
+// Listing 32
+
+// Listing 33 code/ch21
+ this->naming_context_.unbind ("lastReset");
+ this->naming_context_.unbind ("resetCount");
+// Listing 33
+}
+
+// Listing 41 code/ch21
+void Temperature_Monitor::record_failure (void)
+{
+ Name_Binding_Ptr lastReset
+ (this->naming_context_.fetch ("lastReset"));
+ Name_Binding_Ptr resetCount
+ (this->naming_context_.fetch ("resetCount"));
+// Listing 41
+
+// Listing 42 code/ch21
+ int now = ACE_OS::time ();
+ int lastResetTime;
+ if (lastReset.get ())
+ {
+ lastResetTime = lastReset->int_value ();
+ }
+ else
+ {
+ this->naming_context_.rebind ("lastReset", now);
+ lastResetTime = now;
+ }
+ // Listing 42
+
+ // Listing 43 code/ch21
+ if (now - lastResetTime > this->opt_.reset_interval ())
+ {
+ this->reset_device (resetCount);
+ }
+ // Listing 43
+}
+
+// Listing 5 code/ch21
+void
+Temperature_Monitor::reset_device (Name_Binding_Ptr &resetCount)
+{
+ int number_of_resets = 1;
+ if (resetCount.get ())
+ {
+ number_of_resets = resetCount->int_value () + 1;
+ if (number_of_resets > this->opt_.excessive_resets ())
+ {
+ // Exclude 5
+ EMail notification;
+
+ char message[BUFSIZ];
+ ACE_OS::sprintf (message,
+ "Thermometer: %s\n"
+ "Reset Count: %d\n",
+ this->thermometer_->address(),
+ number_of_resets);
+
+ notification.send (this->opt_.admin_email (),
+ this->opt_.email_from (),
+ "Excessive number of thermometer resets",
+ message);
+ // Exclude 5
+ }
+ }
+ this->thermometer_->reset ();
+ this->naming_context_.rebind ("lastReset",
+ (int) ACE_OS::time ());
+ this->naming_context_.rebind ("resetCount",
+ number_of_resets);
+}
+// Listing 5
+
+// Listing 2 code/ch21
+void Temperature_Monitor::monitor (void)
+{
+ this->thermometer_ =
+ new Thermometer (this->opt_.thermometer_address ());
+
+ for(;;)
+ {
+ float temp = this->thermometer_->temperature ();
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Read temperature %.2f\n"),
+ temp));
+
+ if (temp >= 0)
+ {
+ this->record_temperature (temp);
+ }
+ else
+ {
+ this->record_failure ();
+ }
+
+ ACE_OS::sleep (this->opt_.poll_interval ());
+ }
+
+ delete this->thermometer_;
+}
+// Listing 2
diff --git a/examples/APG/Naming/Temperature_Monitor.h b/examples/APG/Naming/Temperature_Monitor.h
new file mode 100644
index 00000000000..3b85b100fa1
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Monitor.h
@@ -0,0 +1,29 @@
+// $Id$
+
+#ifndef TEMPERATURE_MONITOR_H
+#define TEMPERATURE_MONITOR_H
+
+#include "Thermometer.h"
+#include "Temperature_Monitor_Options.h"
+#include "Naming_Context.h"
+
+class Temperature_Monitor
+ {
+ public:
+ Temperature_Monitor( Temperature_Monitor_Options & opt,
+ Naming_Context & naming_context );
+
+ void monitor();
+
+ protected:
+ void record_temperature(float temp);
+ void record_failure();
+ void reset_device(Name_Binding_Ptr & resetCount);
+
+ private:
+ Thermometer * thermometer_;
+ Temperature_Monitor_Options & opt_;
+ Naming_Context & naming_context_;
+ };
+
+#endif /* TEMPERATURE_MONITOR_H */
diff --git a/examples/APG/Naming/Temperature_Monitor2.cpp b/examples/APG/Naming/Temperature_Monitor2.cpp
new file mode 100644
index 00000000000..c705e4b4fbd
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Monitor2.cpp
@@ -0,0 +1,144 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+
+#include "Thermometer.h"
+#include "Temperature_Monitor2.h"
+#include "EMail.h"
+
+// Listing 1 code/ch21
+void Temperature_Monitor2::record_temperature (float temp)
+{
+ Name_Binding_Ptr current
+ (this->naming_context_.fetch ("current"));
+ if (current.get ())
+ {
+ this->naming_context_.rebind ("previous",
+ current->value ());
+ }
+
+ this->record_history (temp);
+
+ this->naming_context_.unbind ("lastFailure");
+ this->naming_context_.unbind ("lastReset");
+ this->naming_context_.unbind ("resetCount");
+}
+// Listing 1
+
+// Listing 2 code/ch21
+void Temperature_Monitor2::record_history (float temp)
+{
+ int now = (int)ACE_OS::time ();
+ this->shared_context_.rebind ("lastUpdate", now);
+
+ Name_Binding_Ptr counter
+ (this->shared_context_.fetch ("counter"));
+ int counterValue = counter.get () ? counter->int_value () : 0;
+
+ char name[BUFSIZ];
+ ACE_OS::sprintf (name, "history[%d]", counterValue);
+
+ char value[BUFSIZ];
+ ACE_OS::sprintf (value, "%d|%.2f", now, temp);
+
+ this->shared_context_.rebind (name, value);
+
+ counterValue = ++counterValue % this->opt_.history_size ();
+ this->shared_context_.rebind ("counter", counterValue);
+}
+// Listing 2
+
+void Temperature_Monitor2::reset_device (Name_Binding_Ptr &resetCount)
+{
+ int number_of_resets = 1;
+
+ if (resetCount.get ())
+ {
+ number_of_resets = resetCount->int_value () + 1;
+
+ if (number_of_resets > this->opt_.excessive_resets ())
+ {
+ EMail notification;
+
+ char message[BUFSIZ];
+ ACE_OS::sprintf (message,
+ "Thermometer: %s\n"
+ "Reset Count: %d\n",
+ this->thermometer_->address (),
+ number_of_resets);
+
+ notification.send (this->opt_.admin_email (),
+ this->opt_.email_from (),
+ "Excessive number of thermometer resets",
+ message);
+ }
+ }
+
+ this->thermometer_->reset ();
+
+ this->naming_context_.rebind ("lastReset", (int)ACE_OS::time ());
+ this->naming_context_.rebind ("resetCount", number_of_resets);
+}
+
+void Temperature_Monitor2::record_failure (void)
+{
+ Name_Binding_Ptr lastFailure (this->naming_context_.fetch ("lastFailure"));
+ Name_Binding_Ptr lastReset (this->naming_context_.fetch ("lastReset"));
+ Name_Binding_Ptr resetCount (this->naming_context_.fetch ("resetCount"));
+
+ int now = ACE_OS::time ();
+
+ int lastFailureTime;
+ int lastResetTime = 0;
+
+ if (lastFailure.get ())
+ {
+ lastFailureTime = lastFailure->int_value ();
+ }
+ else
+ {
+ this->naming_context_.rebind ("firstFailure", now);
+ this->naming_context_.rebind ("lastReset", now);
+ lastFailureTime = now;
+ lastResetTime = now;
+ }
+
+ if (lastReset.get ())
+ {
+ lastResetTime = lastReset->int_value ();
+ }
+
+ if (now - lastResetTime > this->opt_.reset_interval ())
+ {
+ this->reset_device (resetCount);
+ }
+
+ this->naming_context_.rebind ("lastFailure", now);
+}
+
+void Temperature_Monitor2::monitor (void)
+{
+ this->thermometer_ = new Thermometer (this->opt_.thermometer_address ());
+
+ for (;;)
+ {
+ float temp = this->thermometer_->temperature ();
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Read temperature %.2f\n"), temp));
+
+ if (temp >= 0)
+ {
+ this->record_temperature (temp);
+ }
+ else
+ {
+ this->record_failure ();
+ }
+
+ ACE_OS::sleep (this->opt_.poll_interval ());
+ }
+
+ delete this->thermometer_;
+}
diff --git a/examples/APG/Naming/Temperature_Monitor2.h b/examples/APG/Naming/Temperature_Monitor2.h
new file mode 100644
index 00000000000..b887e5c8e4c
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Monitor2.h
@@ -0,0 +1,36 @@
+// $Id$
+
+#ifndef TEMPERATURE_MONITOR_H
+#define TEMPERATURE_MONITOR_H
+
+#include "Thermometer.h"
+#include "Temperature_Monitor_Options.h"
+#include "Naming_Context.h"
+
+class Temperature_Monitor2
+{
+public:
+ Temperature_Monitor2 (Temperature_Monitor_Options & opt,
+ Naming_Context & naming_context,
+ Naming_Context & shared_context)
+ : opt_(opt),
+ naming_context_(naming_context),
+ shared_context_(shared_context)
+ { }
+
+ void monitor (void);
+
+protected:
+ void record_temperature (float temp);
+ void record_history (float temp);
+ void record_failure (void);
+ void reset_device (Name_Binding_Ptr & resetCount);
+
+private:
+ Thermometer *thermometer_;
+ Temperature_Monitor_Options &opt_;
+ Naming_Context &naming_context_;
+ Naming_Context &shared_context_;
+};
+
+#endif /* TEMPERATURE_MONITOR_H */
diff --git a/examples/APG/Naming/Temperature_Monitor_Options.h b/examples/APG/Naming/Temperature_Monitor_Options.h
new file mode 100644
index 00000000000..2dc6469788f
--- /dev/null
+++ b/examples/APG/Naming/Temperature_Monitor_Options.h
@@ -0,0 +1,48 @@
+// $Id$
+
+#ifndef TEMPERATURE_MONITOR_OPTIONS_H
+#define TEMPERATURE_MONITOR_OPTIONS_H
+
+class Temperature_Monitor_Options
+ {
+ public:
+ Temperature_Monitor_Options (int, char *[])
+ { }
+
+ const char *thermometer_address (void)
+ {
+ return "serial:// s0/0x3e52";
+ }
+
+ int poll_interval (void)
+ {
+ return 10; // every 10 seconds
+ }
+
+ int reset_interval (void)
+ {
+ return 60; // sixty seconds
+ }
+
+ int excessive_resets (void)
+ {
+ return 5; // no response in 5 minutes
+ }
+
+ const char *admin_email (void)
+ {
+ return "root@localhost";
+ }
+
+ const char *email_from (void)
+ {
+ return "temperature monitor";
+ }
+
+ int history_size()
+ {
+ return 10;
+ }
+ };
+
+#endif /* TEMPERATURE_MONITOR_OPTIONS_H */
diff --git a/examples/APG/Naming/Thermometer.h b/examples/APG/Naming/Thermometer.h
new file mode 100644
index 00000000000..cfdf1ca0f3d
--- /dev/null
+++ b/examples/APG/Naming/Thermometer.h
@@ -0,0 +1,48 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef THERMOMETER_H
+#define THERMOMETER_H
+
+#include "ace/OS_NS_stdlib.h"
+#include "ace/Log_Msg.h"
+
+class Thermometer
+{
+public:
+ Thermometer (const char *addr)
+ : addr_(addr), threshold_(5)
+ { }
+
+ float temperature (void)
+ {
+ int success = ACE_OS::rand () % 10;
+ if (success < this->threshold_)
+ {
+ this->threshold_ = 7;
+ return -1.0;
+ }
+
+ this->threshold_ = 3;
+ int itemp = 80 + ACE_OS::rand () % 10; // 80 <= t <= 90
+ return (float)itemp;
+ }
+
+ const char *address (void)
+ {
+ return this->addr_;
+ }
+
+ void reset (void)
+ {
+ this->threshold_ = 4;
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Resetting thermometer %C\n"),
+ this->address ()));
+ }
+
+private:
+ const char *addr_;
+ int threshold_;
+};
+
+#endif /* THERMOMETER_H */
diff --git a/examples/APG/Naming/naming.mpc b/examples/APG/Naming/naming.mpc
new file mode 100644
index 00000000000..1a86f720979
--- /dev/null
+++ b/examples/APG/Naming/naming.mpc
@@ -0,0 +1,42 @@
+project(Netlocal) : aceexe {
+ exename = Netlocal
+ Source_Files {
+ Netlocal.cpp
+ Temperature_Monitor2.cpp
+ }
+}
+
+project(Netlocal Reader) : aceexe {
+ exename = Netlocal_reader
+ Source_Files {
+ Netlocal_reader.cpp
+ Graph.cpp
+ Temperature_Grapher.cpp
+ }
+}
+
+project(Nodelocal) : aceexe {
+ exename = Netlocal
+ Source_Files {
+ Nodelocal.cpp
+ Temperature_Monitor.cpp
+ }
+}
+
+project(Nodelocal Shared) : aceexe {
+ exename = Nodelocal_shared
+ Source_Files {
+ Nodelocal_shared.cpp
+ Temperature_Monitor2.cpp
+ }
+}
+
+project(Nodelocal Shared Reader) : aceexe {
+ exename = Nodelocal_shared_reader
+ Source_Files {
+ Nodelocal_shared_reader.cpp
+ Graph.cpp
+ Temperature_Grapher.cpp
+ Temperature_Monitor.cpp
+ }
+}
diff --git a/examples/APG/Naming/naming.mwc b/examples/APG/Naming/naming.mwc
new file mode 100644
index 00000000000..cdef75bfed2
--- /dev/null
+++ b/examples/APG/Naming/naming.mwc
@@ -0,0 +1,3 @@
+workspace {
+ naming.mpc
+}
diff --git a/examples/APG/Naming/svc.conf b/examples/APG/Naming/svc.conf
new file mode 100644
index 00000000000..550ef992177
--- /dev/null
+++ b/examples/APG/Naming/svc.conf
@@ -0,0 +1 @@
+dynamic Name_Server Service_Object * netsvcs:_make_ACE_Name_Acceptor() "-p 20012"
diff --git a/examples/APG/Proactor/HA_Proactive_Status.cpp b/examples/APG/Proactor/HA_Proactive_Status.cpp
new file mode 100644
index 00000000000..1fa4e8ac53c
--- /dev/null
+++ b/examples/APG/Proactor/HA_Proactive_Status.cpp
@@ -0,0 +1,170 @@
+/*
+** $Id$
+**
+** Example program from The ACE Programmer's Guide, Chapter 8.
+** Copyright 2003 Addison-Wesley. All Rights Reserved.
+*/
+
+#include "HA_Proactive_Status.h"
+#include "ace/Log_Msg.h"
+#include "ace/Proactor.h"
+#include "ace/os_include/arpa/os_inet.h"
+
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || (defined (ACE_HAS_AIO_CALLS))
+
+// Listing 1 code/ch08
+void
+HA_Proactive_Service::open (ACE_HANDLE h, ACE_Message_Block&)
+{
+ this->handle (h);
+ if (this->reader_.open (*this) != 0 ||
+ this->writer_.open (*this) != 0 )
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("HA_Proactive_Service open")));
+ delete this;
+ return;
+ }
+
+ ACE_Message_Block *mb;
+ ACE_NEW_NORETURN (mb, ACE_Message_Block (1024));
+ if (this->reader_.read (*mb, mb->space ()) != 0)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("HA_Proactive_Service begin read")));
+ mb->release ();
+ delete this;
+ return;
+ }
+
+ // mb is now controlled by Proactor framework.
+ return;
+}
+// Listing 1
+
+// Listing 2 code/ch08
+void
+HA_Proactive_Service::handle_read_stream
+ (const ACE_Asynch_Read_Stream::Result &result)
+{
+ ACE_Message_Block &mb = result.message_block ();
+ if (!result.success () || result.bytes_transferred () == 0)
+ {
+ mb.release ();
+ delete this;
+ }
+ else
+ {
+ if (this->writer_.write (mb, mb.length ()) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("starting write")));
+ mb.release ();
+ }
+ else
+ {
+ ACE_Message_Block *new_mb;
+ ACE_NEW_NORETURN (new_mb, ACE_Message_Block (1024));
+ this->reader_.read (*new_mb, new_mb->space ());
+ }
+ }
+ return;
+}
+// Listing 2
+
+// Listing 3 code/ch08
+void
+HA_Proactive_Service::handle_write_stream
+(const ACE_Asynch_Write_Stream::Result &result)
+{
+ result.message_block ().release ();
+ return;
+}
+// Listing 3
+
+// The network address check only works for BSD-ish systems. This
+// sort of network number accessor should be added to ACE_INET_Addr
+// at some point...
+#if defined (ACE_WIN32)
+int
+HA_Proactive_Acceptor::validate_connection
+(const ACE_Asynch_Accept::Result&,
+ const ACE_INET_Addr&,
+ const ACE_INET_Addr&)
+{
+ return 0;
+}
+#else
+
+// Listing 4 code/ch08
+int
+HA_Proactive_Acceptor::validate_connection (
+ const ACE_Asynch_Accept::Result&,
+ const ACE_INET_Addr& remote,
+ const ACE_INET_Addr& local)
+{
+ struct in_addr *remote_addr =
+ ACE_reinterpret_cast (struct in_addr*,
+ remote.get_addr ());
+ struct in_addr *local_addr =
+ ACE_reinterpret_cast (struct in_addr*,
+ local.get_addr ());
+ if (inet_netof (*local_addr) == inet_netof (*remote_addr))
+ return 0;
+
+ return -1;
+}
+// Listing 4
+
+#endif /* ACE_WIN32 */
+
+int
+ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Listing 5 code/ch08
+ ACE_INET_Addr listen_addr; // Set up with listen port
+ HA_Proactive_Acceptor aio_acceptor;
+ if (0 != aio_acceptor.open (listen_addr,
+ 0, // bytes_to_read
+ 0, // pass_addresses
+ ACE_DEFAULT_BACKLOG,
+ 1, // reuse_addr
+ 0, // proactor
+ 1)) // validate_new_connection
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("acceptor open")), 1);
+ // Listing 5
+
+#if 0
+ // Listing 6 code/ch08
+ ACE_INET_Addr peer_addr; // Set up peer addr
+ ACE_Asynch_Connector<HA_Proactive_Service> aio_connect;
+ aio_connect.connect (peer_addr);
+ // Listing 6
+#endif
+
+ // Listing 7 code/ch08
+ ACE_Proactor::instance ()->proactor_run_event_loop ();
+ // Listing 7
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Asynch_Acceptor<HA_Proactive_Service>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Asynch_Acceptor<HA_Proactive_Service>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
+
+#else
+
+int
+ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "This example does not work on this platform.\n"));
+ return 1;
+}
+
+#endif /* (ACE_WIN32 && != ACE_HAS_WINCE) || ACE_HAS_AIO_CALLS*/
+
diff --git a/examples/APG/Proactor/HA_Proactive_Status.h b/examples/APG/Proactor/HA_Proactive_Status.h
new file mode 100644
index 00000000000..8c31b432a22
--- /dev/null
+++ b/examples/APG/Proactor/HA_Proactive_Status.h
@@ -0,0 +1,86 @@
+/* -*- C++ -*- */
+/*
+** $Id$
+**
+** Example program from The ACE Programmer's Guide, Chapter 8.
+** Copyright 2003 Addison-Wesley. All Rights Reserved.
+*/
+
+#ifndef __HA_PROACTIVE_STATUS_H
+#define __HA_PROACTIVE_STATUS_H
+
+#include "ace/OS_NS_sys_socket.h"
+#include "ace/Service_Object.h"
+// Listing 1 code/ch08
+#include "ace/Asynch_IO.h"
+
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || (defined (ACE_HAS_AIO_CALLS))
+
+class HA_Proactive_Service : public ACE_Service_Handler
+{
+public:
+ ~HA_Proactive_Service ()
+ {
+ if (this->handle () != ACE_INVALID_HANDLE)
+ ACE_OS::closesocket (this->handle ());
+ }
+
+ virtual void open (ACE_HANDLE h, ACE_Message_Block&);
+
+ // This method will be called when an asynchronous read
+ // completes on a stream.
+ virtual void handle_read_stream
+ (const ACE_Asynch_Read_Stream::Result &result);
+
+ // This method will be called when an asynchronous write
+ // completes on a stream.
+ virtual void handle_write_stream
+ (const ACE_Asynch_Write_Stream::Result &result);
+
+private:
+ ACE_Asynch_Read_Stream reader_;
+ ACE_Asynch_Write_Stream writer_;
+};
+// Listing 1
+
+// Listing 2 code/ch08
+#include "ace/Asynch_Acceptor.h"
+#include "ace/INET_Addr.h"
+
+class HA_Proactive_Acceptor :
+ public ACE_Asynch_Acceptor<HA_Proactive_Service>
+{
+public:
+ virtual int validate_connection
+ (const ACE_Asynch_Accept::Result& result,
+ const ACE_INET_Addr &remote,
+ const ACE_INET_Addr &local);
+};
+// Listing 2
+
+#endif /* (ACE_WIN32 && != ACE_HAS_WINCE) || ACE_HAS_AIO_CALLS*/
+
+#if 0
+// Listing 3 code/ch08
+template <class HANDLER>
+class ACE_Asynch_Acceptor : public ACE_Handler
+ ...
+protected:
+ virtual HANDLER *make_handler (void)
+ {
+ return new HANDLER;
+ }
+// Listing 3
+#endif
+
+class HA_Proactive_Status : public ACE_Service_Object
+{
+public:
+ // Initializes object when dynamic linking occurs.
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+ // Terminates object when dynamic unlinking occurs.
+ virtual int fini (void);
+};
+
+#endif /* __HA_PROACTIVE_STATUS_H */
diff --git a/examples/APG/Proactor/Makefile b/examples/APG/Proactor/Makefile
new file mode 100644
index 00000000000..e812d025fc7
--- /dev/null
+++ b/examples/APG/Proactor/Makefile
@@ -0,0 +1,12 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = HA_Proactive_Status
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Proactor/proactor.mpc b/examples/APG/Proactor/proactor.mpc
new file mode 100644
index 00000000000..7e592972791
--- /dev/null
+++ b/examples/APG/Proactor/proactor.mpc
@@ -0,0 +1,6 @@
+project(HA Proactive Status) : aceexe {
+ exename = HA_Proactive_Status
+ Source_Files {
+ HA_Proactive_Status.cpp
+ }
+}
diff --git a/examples/APG/Proactor/proactor.mwc b/examples/APG/Proactor/proactor.mwc
new file mode 100644
index 00000000000..60285887963
--- /dev/null
+++ b/examples/APG/Proactor/proactor.mwc
@@ -0,0 +1,3 @@
+workspace {
+ proactor.mpc
+}
diff --git a/examples/APG/Processes/Makefile b/examples/APG/Processes/Makefile
new file mode 100644
index 00000000000..030ef9a064c
--- /dev/null
+++ b/examples/APG/Processes/Makefile
@@ -0,0 +1,17 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Process_Manager_Death \
+ Process_Manager_Spawn \
+ Process_Mutex \
+ Spawn
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Processes/Process_Manager_Death.cpp b/examples/APG/Processes/Process_Manager_Death.cpp
new file mode 100644
index 00000000000..51a8d911458
--- /dev/null
+++ b/examples/APG/Processes/Process_Manager_Death.cpp
@@ -0,0 +1,67 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ace/Process_Manager.h"
+#include "ace/Reactor.h"
+
+static const int NCHILDREN = 2;
+
+// Listing 1 code/ch10
+class DeathHandler: public ACE_Event_Handler
+{
+public:
+ DeathHandler () : count_(0)
+ {
+ ACE_TRACE (ACE_TEXT ("DeathHandler::DeathHandler"));
+ }
+
+ virtual int handle_exit (ACE_Process * process)
+ {
+ ACE_TRACE (ACE_TEXT ("DeathHandler::handle_exit"));
+
+ ACE_DEBUG
+ ((LM_DEBUG,
+ ACE_TEXT ("Process %d exited with exit code %d\n"),
+ process->getpid (), process->return_value ()));
+
+ if (++count_ == NCHILDREN)
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+
+ return 0;
+ }
+
+private:
+ int count_;
+};
+// Listing 1
+// Listing 0 code/ch10
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (argc > 1) // Running as a child.
+ return 0;
+
+ // Instantiate a process manager with space for
+ // 10 processes.
+ ACE_Process_Manager pm (10, ACE_Reactor::instance ());
+
+ // Create a process termination handler.
+ DeathHandler handler;
+
+ // Specify the options for the new processes to be spawned.
+ ACE_Process_Options options;
+ options.command_line (ACE_TEXT ("%s a"), argv[0]);
+
+ // Spawn two child processes.
+ pid_t pids[NCHILDREN];
+ pm.spawn_n (NCHILDREN, options, pids);
+
+ // Register handler to be called when these processes exit.
+ for (int i = 0; i < NCHILDREN; i++)
+ pm.register_handler (&handler, pids[i]);
+
+ // Run the reactor event loop waiting for events to occur.
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+
+ return 0;
+}
+// Listing 0
diff --git a/examples/APG/Processes/Process_Manager_Spawn.cpp b/examples/APG/Processes/Process_Manager_Spawn.cpp
new file mode 100644
index 00000000000..dd61ae9bae8
--- /dev/null
+++ b/examples/APG/Processes/Process_Manager_Spawn.cpp
@@ -0,0 +1,59 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+// Listing 0 code/ch10
+#include "ace/Process_Manager.h"
+
+static const int NCHILDREN = 2;
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (argc > 1) // Running as a child.
+ {
+ ACE_OS::sleep (10);
+ }
+ else // Running as a parent.
+ {
+ // Get the processwide process manager.
+ ACE_Process_Manager* pm = ACE_Process_Manager::instance ();
+
+ // Specify the options for the new processes
+ // to be spawned.
+ ACE_Process_Options options;
+ options.command_line (ACE_TEXT ("%s a"), argv[0]);
+
+ // Spawn two child processes.
+ pid_t pids[NCHILDREN];
+ pm->spawn_n (NCHILDREN, options, pids);
+
+ // Destroy the first child.
+ pm->terminate (pids[0]);
+
+ // Wait for the child we just terminated.
+ ACE_exitcode status;
+ pm->wait (pids[0], &status);
+
+ // Get the results of the termination.
+
+#if !defined(ACE_WIN32)
+ if (WIFSIGNALED (status) != 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%d died because of a signal ")
+ ACE_TEXT ("of type %d\n"),
+ pids[0], WTERMSIG (status)));
+#else
+ ACE_DEBUG
+ ((LM_DEBUG,
+ ACE_TEXT ("The process terminated with exit code %d\n"),
+ status));
+#endif /*ACE_WIN32*/
+
+ // Wait for all (only one left) of the
+ // children to exit.
+ pm->wait (0);
+ }
+
+ return 0;
+}
+// Listing 0
diff --git a/examples/APG/Processes/Process_Mutex.cpp b/examples/APG/Processes/Process_Mutex.cpp
new file mode 100644
index 00000000000..a10078ad2ac
--- /dev/null
+++ b/examples/APG/Processes/Process_Mutex.cpp
@@ -0,0 +1,79 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+#include "ace/Process.h"
+#include "ace/Process_Mutex.h"
+
+// Listing 1 code/ch10
+class GResourceUser
+{
+public:
+ GResourceUser (ACE_Process_Mutex &mutex) : gmutex_(mutex)
+ {
+ ACE_TRACE (ACE_TEXT ("GResourceUser::GResourceUser"));
+ }
+
+ void run (void)
+ {
+ ACE_TRACE (ACE_TEXT ("GResourceUser::run"));
+
+ int count = 0;
+ while (count++ < 10)
+ {
+ int result = this->gmutex_.acquire ();
+ ACE_ASSERT (result == 0);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P| %t) has the mutex\n")));
+
+ // Access Global resource
+ ACE_OS::sleep (1);
+
+ result = this->gmutex_.release ();
+ ACE_ASSERT (result == 0);
+ ACE_OS::sleep (1); // Give other process a chance.
+ }
+ }
+
+private:
+ ACE_Process_Mutex &gmutex_;
+};
+// Listing 1
+
+// Listing 0 code/ch10
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (argc > 1) // Run as the child.
+ {
+ // Create or get the global mutex.
+ ACE_Process_Mutex mutex ("GlobalMutex");
+
+ GResourceUser acquirer (mutex);
+ acquirer.run ();
+ }
+ else // Run as the parent.
+ {
+ ACE_Process_Options options;
+ options.command_line ("%s a", argv[0]);
+ ACE_Process processa, processb;
+
+ pid_t pida = processa.spawn (options);
+ pid_t pidb = processb.spawn (options);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Spawned processes; pids %d:%d\n"),
+ pida, pidb));
+
+ if (processa.wait() == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("processa wait")), -1);
+
+ if (processb.wait() == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("processb wait")), -1);
+ }
+
+ return 0;
+}
+// Listing 0
diff --git a/examples/APG/Processes/Spawn.cpp b/examples/APG/Processes/Spawn.cpp
new file mode 100644
index 00000000000..a8a3e76e6f6
--- /dev/null
+++ b/examples/APG/Processes/Spawn.cpp
@@ -0,0 +1,205 @@
+// $Id$
+
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_fcntl.h"
+#include "ace/OS_NS_pwd.h"
+#include "ace/os_include/os_pwd.h"
+#include "ace/OS_NS_stdlib.h"
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Process.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch10
+class Manager : public ACE_Process
+{
+public:
+ Manager (const ACE_TCHAR* program_name)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::Manager"));
+ ACE_OS::strcpy (programName_, program_name);
+ }
+
+ int doWork (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::doWork"));
+
+ // Spawn the new process; prepare() hook is called first.
+ ACE_Process_Options options;
+ pid_t pid = this->spawn (options);
+ if (pid == -1)
+ ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("spawn")), -1);
+
+ // Wait forever for my child to exit.
+ if (this->wait () == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("wait")), -1);
+
+ // Dump whatever happened.
+ this->dumpRun ();
+ return 0;
+ }
+// Listing 1
+
+private:
+ // Listing 3 code/ch10
+ int dumpRun (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::dumpRun"));
+
+ if (ACE_OS::lseek (this->outputfd_, 0, SEEK_SET) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("lseek")), -1);
+
+ char buf[1024];
+ int length = 0;
+
+ // Read the contents of the error stream written
+ // by the child and print it out.
+ while ((length = ACE_OS::read (this->outputfd_,
+ buf, sizeof(buf)-1)) > 0)
+ {
+ buf[length] = 0;
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%C\n"), buf));
+ }
+
+ ACE_OS::close (this->outputfd_);
+ return 0;
+ }
+ // Listing 3
+
+ // Listing 2 code/ch10
+ // prepare() is inherited from ACE_Process.
+ int prepare (ACE_Process_Options &options)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::prepare"));
+
+ options.command_line ("%s 1", this->programName_);
+ if (this->setStdHandles (options) == -1 ||
+ this->setEnvVariable (options) == -1)
+ return -1;
+#if !defined (ACE_WIN32)
+ return this->setUserID (options);
+#else
+ return 0;
+#endif
+ }
+
+ int setStdHandles (ACE_Process_Options &options)
+ {
+ ACE_TRACE(ACE_TEXT ("Manager::setStdHandles"));
+
+ ACE_OS::unlink ("output.dat");
+ this->outputfd_ =
+ ACE_OS::open ("output.dat", O_RDWR | O_CREAT);
+ return options.set_handles
+ (ACE_STDIN, ACE_STDOUT, this->outputfd_);
+ }
+
+ int setEnvVariable (ACE_Process_Options &options)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::setEnvVariables"));
+ return options.setenv ("PRIVATE_VAR=/that/seems/to/be/it");
+ }
+ // Listing 2
+
+#if !defined (ACE_WIN32)
+ // Listing 10 code/ch10
+ int setUserID (ACE_Process_Options &options)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::setUserID"));
+ passwd* pw = ACE_OS::getpwnam ("nobody");
+ if (pw == 0)
+ return -1;
+ options.seteuid (pw->pw_uid);
+ return 0;
+ }
+ // Listing 10
+#endif /* ACE_WIN32 */
+
+private:
+ ACE_HANDLE outputfd_;
+ ACE_TCHAR programName_[256];
+};
+
+// Listing 4 code/ch10
+class Slave
+{
+public:
+ Slave ()
+ {
+ ACE_TRACE (ACE_TEXT ("Slave::Slave"));
+ }
+
+ int doWork (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Slave::doWork"));
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("(%P) started at %T, parent is %d\n"),
+ ACE_OS::getppid ()));
+ this->showWho ();
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("(%P) the private environment is %s\n"),
+ ACE_OS::getenv ("PRIVATE_VAR")));
+
+ ACE_TCHAR str[128];
+ ACE_OS::sprintf (str, ACE_TEXT ("(%d) Enter your command\n"),
+ ACE_OS::getpid ());
+ ACE_OS::write (ACE_STDOUT, str, ACE_OS::strlen (str));
+ this->readLine (str);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P) Executed: %C\n"),
+ str));
+ return 0;
+ }
+// Listing 4
+
+ void showWho (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Slave::showWho"));
+#if !defined (ACE_WIN32)
+ passwd *pw = ::getpwuid (::geteuid ());
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("(%P) Running this process as:%s\n"),
+ pw->pw_name));
+#endif
+ }
+
+ ACE_TCHAR* readLine (ACE_TCHAR* str)
+ {
+ ACE_TRACE (ACE_TEXT ("Slave::readLine"));
+
+ int i = 0;
+ while (true)
+ {
+ int retval = ACE_OS::read (ACE_STDIN, &str[i], 1);
+ if (retval > 0)
+ {
+ if (str[i] == '\n')
+ {
+ str[++i] = 0;
+ return str;
+ }
+ i++;
+ }
+ else
+ return str;
+ }
+ }
+};
+
+// Listing 0 code/ch10
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (argc > 1) // Slave mode
+ {
+ Slave s;
+ return s.doWork ();
+ }
+
+ // Else, Master mode
+ Manager m (argv[0]);
+ return m.doWork ();
+}
+// Listing 0
diff --git a/examples/APG/Processes/processes.mpc b/examples/APG/Processes/processes.mpc
new file mode 100644
index 00000000000..bfc816096de
--- /dev/null
+++ b/examples/APG/Processes/processes.mpc
@@ -0,0 +1,27 @@
+project(Process Manager Death) : aceexe {
+ exename = Process_Manager_Death
+ Source_Files {
+ Process_Manager_Death.cpp
+ }
+}
+
+project(Process Manager Spawn) : aceexe {
+ exename = Process_Manager_Spawn
+ Source_Files {
+ Process_Manager_Spawn.cpp
+ }
+}
+
+project(Process Mutex) : aceexe {
+ exename = Process_Mutex
+ Source_Files {
+ Process_Mutex.cpp
+ }
+}
+
+project(Spawn) : aceexe {
+ exename = Spawn
+ Source_Files {
+ Spawn.cpp
+ }
+}
diff --git a/examples/APG/Processes/processes.mwc b/examples/APG/Processes/processes.mwc
new file mode 100644
index 00000000000..6954a984564
--- /dev/null
+++ b/examples/APG/Processes/processes.mwc
@@ -0,0 +1,3 @@
+workspace {
+ processes.mpc
+}
diff --git a/examples/APG/Reactor/Client.cpp b/examples/APG/Reactor/Client.cpp
new file mode 100644
index 00000000000..7dc453d9627
--- /dev/null
+++ b/examples/APG/Reactor/Client.cpp
@@ -0,0 +1,123 @@
+/**
+ * $Id$
+ *
+ * A simple client program using ACE_Svc_Handler and ACE_Connector.
+ */
+
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_errno.h"
+#include "ace/OS_NS_sys_time.h"
+#include "Client.h"
+
+// Listing 2 code/ch07
+int Client::open (void *p)
+{
+ ACE_Time_Value iter_delay (2); // Two seconds
+ if (super::open (p) == -1)
+ return -1;
+ this->notifier_.reactor (this->reactor ());
+ this->msg_queue ()->notification_strategy (&this->notifier_);
+ return this->reactor ()->schedule_timer
+ (this, 0, ACE_Time_Value::zero, iter_delay);
+}
+// Listing 2
+
+// Listing 3 code/ch07
+int Client::handle_input (ACE_HANDLE)
+{
+ char buf[64];
+ ssize_t recv_cnt = this->peer ().recv (buf, sizeof (buf) - 1);
+ if (recv_cnt > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%*C"),
+ ACE_static_cast (int, recv_cnt),
+ buf));
+ return 0;
+ }
+
+ if (recv_cnt == 0 || ACE_OS::last_error () != EWOULDBLOCK)
+ {
+ this->reactor ()->end_reactor_event_loop ();
+ return -1;
+ }
+ return 0;
+}
+// Listing 3
+
+// Listing 4 code/ch07
+int Client::handle_timeout(const ACE_Time_Value &, const void *)
+{
+ if (this->iterations_ >= ITERATIONS)
+ {
+ this->peer ().close_writer ();
+ return 0;
+ }
+
+ ACE_Message_Block *mb;
+ char msg[128];
+ ACE_OS::sprintf (msg, "Iteration %d\n", this->iterations_);
+ ACE_NEW_RETURN (mb, ACE_Message_Block (msg), -1);
+ this->putq (mb);
+ return 0;
+}
+// Listing 4
+
+// Listing 5 code/ch07
+int Client::handle_output (ACE_HANDLE)
+{
+ ACE_Message_Block *mb;
+ ACE_Time_Value nowait (ACE_OS::gettimeofday ());
+ while (-1 != this->getq (mb, &nowait))
+ {
+ ssize_t send_cnt =
+ this->peer ().send (mb->rd_ptr (), mb->length ());
+ if (send_cnt == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("send")));
+ else
+ mb->rd_ptr (ACE_static_cast (size_t, send_cnt));
+ if (mb->length () > 0)
+ {
+ this->ungetq (mb);
+ break;
+ }
+ mb->release ();
+ }
+ if (this->msg_queue ()->is_empty ())
+ this->reactor ()->cancel_wakeup
+ (this, ACE_Event_Handler::WRITE_MASK);
+ else
+ this->reactor ()->schedule_wakeup
+ (this, ACE_Event_Handler::WRITE_MASK);
+ return 0;
+}
+// Listing 5
+
+// Listing 6 code/ch07
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_INET_Addr port_to_connect ("HAStatus", ACE_LOCALHOST);
+ ACE_Connector<Client, ACE_SOCK_CONNECTOR> connector;
+ Client client;
+ Client *pc = &client;
+ if (connector.connect (pc, port_to_connect) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("connect")), 1);
+
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ return (0);
+}
+// Listing 6
+
+// Listing 7 code/ch07
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Connector<Client, ACE_SOCK_CONNECTOR>;
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+template class ACE_NonBlocking_Connect_Handler<Client>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Connector<Client, ACE_SOCK_CONNECTOR>
+# pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+# pragma instantiate ACE_NonBlocking_Connect_Handler<Client>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+// Listing 7
diff --git a/examples/APG/Reactor/Client.h b/examples/APG/Reactor/Client.h
new file mode 100644
index 00000000000..9aba262151a
--- /dev/null
+++ b/examples/APG/Reactor/Client.h
@@ -0,0 +1,52 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __CLIENT_H_
+#define __CLIENT_H_
+
+#include "ace/Synch_Traits.h"
+#include "ace/Null_Condition.h"
+#include "ace/Null_Mutex.h"
+
+// Listing 1 code/ch07
+#include "ace/Reactor.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Connector.h"
+#include "ace/Svc_Handler.h"
+#include "ace/Reactor_Notification_Strategy.h"
+
+class Client :
+ public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+ typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> super;
+
+public:
+ Client () : notifier_ (0, this, ACE_Event_Handler::WRITE_MASK)
+ {}
+
+ virtual int open (void * = 0);
+
+ // Called when input is available from the client.
+ virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when output is possible.
+ virtual int handle_output (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when a timer expires.
+ virtual int handle_timeout (const ACE_Time_Value &current_time,
+ const void *act = 0);
+
+private:
+ enum { ITERATIONS = 5 };
+ int iterations_;
+ ACE_Reactor_Notification_Strategy notifier_;
+};
+// Listing 1
+
+#endif /* __CLIENT_H_ */
diff --git a/examples/APG/Reactor/ClientService.h b/examples/APG/Reactor/ClientService.h
new file mode 100644
index 00000000000..f6ac96e9286
--- /dev/null
+++ b/examples/APG/Reactor/ClientService.h
@@ -0,0 +1,40 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __CLIENTSERVICE_H_
+#define __CLIENTSERVICE_H_
+
+#include "ace/Synch_Traits.h"
+#include "ace/Null_Condition.h"
+#include "ace/Null_Mutex.h"
+
+// Listing 3 code/ch07
+#include "ace/Message_Block.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/Svc_Handler.h"
+
+class ClientService :
+ public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+ typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> super;
+
+public:
+ int open (void * = 0);
+
+ // Called when input is available from the client.
+ virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when output is possible.
+ virtual int handle_output (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when this handler is removed from the ACE_Reactor.
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+};
+// Listing 3
+
+#endif /* __CLIENTSERVICE_H_ */
diff --git a/examples/APG/Reactor/HAStatus-AC.cpp b/examples/APG/Reactor/HAStatus-AC.cpp
new file mode 100644
index 00000000000..586985a484a
--- /dev/null
+++ b/examples/APG/Reactor/HAStatus-AC.cpp
@@ -0,0 +1,147 @@
+// $Id$
+
+#include "ace/OS_NS_errno.h"
+#include "ace/OS_NS_sys_time.h"
+#include "ace/os_include/os_netdb.h"
+#include "ClientService.h"
+
+// Listing 1 code/ch07
+#include "ace/Log_Msg.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Reactor.h"
+#include "ace/Acceptor.h"
+
+typedef ACE_Acceptor<ClientService, ACE_SOCK_ACCEPTOR>
+ ClientAcceptor;
+// Listing 1
+
+// Listing 4 code/ch07
+int
+ClientService::open (void *p)
+{
+ if (super::open (p) == -1)
+ return -1;
+
+ ACE_TCHAR peer_name[MAXHOSTNAMELEN];
+ ACE_INET_Addr peer_addr;
+ if (this->peer ().get_remote_addr (peer_addr) == 0 &&
+ peer_addr.addr_to_string (peer_name, MAXHOSTNAMELEN) == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connection from %s\n"),
+ peer_name));
+ return 0;
+}
+// Listing 4
+
+// Listing 5 code/ch07
+int
+ClientService::handle_input (ACE_HANDLE)
+{
+ const size_t INPUT_SIZE = 4096;
+ char buffer[INPUT_SIZE];
+ ssize_t recv_cnt, send_cnt;
+
+ recv_cnt = this->peer ().recv (buffer, sizeof(buffer));
+ if (recv_cnt <= 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connection closed\n")));
+ return -1;
+ }
+
+ send_cnt =
+ this->peer ().send (buffer,
+ ACE_static_cast (size_t, recv_cnt));
+ if (send_cnt == recv_cnt)
+ return 0;
+ if (send_cnt == -1 && ACE_OS::last_error () != EWOULDBLOCK)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("send")),
+ 0);
+ if (send_cnt == -1)
+ send_cnt = 0;
+ ACE_Message_Block *mb;
+ size_t remaining =
+ ACE_static_cast (size_t, (recv_cnt - send_cnt));
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block (&buffer[send_cnt], remaining), -1);
+ int output_off = this->msg_queue ()->is_empty ();
+ ACE_Time_Value nowait (ACE_OS::gettimeofday ());
+ if (this->putq (mb, &nowait) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p; discarding data\n"),
+ ACE_TEXT ("enqueue failed")));
+ mb->release ();
+ return 0;
+ }
+ if (output_off)
+ return this->reactor ()->register_handler
+ (this, ACE_Event_Handler::WRITE_MASK);
+ return 0;
+}
+// Listing 5
+
+// Listing 6 code/ch07
+int
+ClientService::handle_output (ACE_HANDLE)
+{
+ ACE_Message_Block *mb;
+ ACE_Time_Value nowait (ACE_OS::gettimeofday ());
+ while (-1 != this->getq (mb, &nowait))
+ {
+ ssize_t send_cnt =
+ this->peer ().send (mb->rd_ptr (), mb->length ());
+ if (send_cnt == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("send")));
+ else
+ mb->rd_ptr (ACE_static_cast (size_t, send_cnt));
+ if (mb->length () > 0)
+ {
+ this->ungetq (mb);
+ break;
+ }
+ mb->release ();
+ }
+ return (this->msg_queue ()->is_empty ()) ? -1 : 0;
+}
+// Listing 6
+
+// Listing 7 code/ch07
+int
+ClientService::handle_close (ACE_HANDLE h, ACE_Reactor_Mask mask)
+{
+ if (mask == ACE_Event_Handler::WRITE_MASK)
+ return 0;
+ return super::handle_close (h, mask);
+}
+// Listing 7
+
+// Listing 2 code/ch07
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_INET_Addr port_to_listen ("HAStatus");
+ ClientAcceptor acceptor;
+ if (acceptor.open (port_to_listen) == -1)
+ return 1;
+
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+
+ return (0);
+}
+// Listing 2
+
+// Listing 8 code/ch07
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Acceptor<ClientService, 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<ClientService, ACE_SOCK_ACCEPTOR>
+#pragma instantiate \
+ ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+// Listing 8
diff --git a/examples/APG/Reactor/HAStatus.cpp b/examples/APG/Reactor/HAStatus.cpp
new file mode 100644
index 00000000000..920d45f3836
--- /dev/null
+++ b/examples/APG/Reactor/HAStatus.cpp
@@ -0,0 +1,332 @@
+// $Id$
+
+#include "ace/OS_NS_sys_time.h"
+#include "ace/os_include/os_netdb.h"
+
+// Listing 1 code/ch07
+#include "ace/Auto_Ptr.h"
+#include "ace/Log_Msg.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Reactor.h"
+
+class ClientAcceptor : public ACE_Event_Handler
+{
+public:
+ virtual ~ClientAcceptor ();
+
+ int open (const ACE_INET_Addr &listen_addr);
+
+ // Get this handler's I/O handle.
+ virtual ACE_HANDLE get_handle (void) const
+ { return this->acceptor_.get_handle (); }
+
+ // Called when a connection is ready to accept.
+ virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when this handler is removed from the ACE_Reactor.
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+protected:
+ ACE_SOCK_Acceptor acceptor_;
+};
+// Listing 1
+
+// Listing 6 code/ch07
+#include "ace/Message_Block.h"
+#include "ace/Message_Queue.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/Synch.h"
+
+class ClientService : public ACE_Event_Handler
+{
+public:
+ ACE_SOCK_Stream &peer (void) { return this->sock_; }
+
+ int open (void);
+
+ // Get this handler's I/O handle.
+ virtual ACE_HANDLE get_handle (void) const
+ { return this->sock_.get_handle (); }
+
+ // Called when input is available from the client.
+ virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when output is possible.
+ virtual int handle_output (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ // Called when this handler is removed from the ACE_Reactor.
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+protected:
+ ACE_SOCK_Stream sock_;
+ ACE_Message_Queue<ACE_NULL_SYNCH> output_queue_;
+};
+// Listing 6
+
+// Listing 5 code/ch07
+ClientAcceptor::~ClientAcceptor ()
+{
+ this->handle_close (ACE_INVALID_HANDLE, 0);
+}
+// Listing 5
+
+// Listing 2 code/ch07
+int
+ClientAcceptor::open (const ACE_INET_Addr &listen_addr)
+{
+ if (this->acceptor_.open (listen_addr, 1) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("acceptor.open")),
+ -1);
+ return this->reactor ()->register_handler
+ (this, ACE_Event_Handler::ACCEPT_MASK);
+}
+// Listing 2
+
+// Listing 3 code/ch07
+int
+ClientAcceptor::handle_input (ACE_HANDLE)
+{
+ ClientService *client;
+ ACE_NEW_RETURN (client, ClientService, -1);
+ auto_ptr<ClientService> p (client);
+
+ if (this->acceptor_.accept (client->peer ()) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("Failed to accept ")
+ ACE_TEXT ("client connection")),
+ -1);
+ p.release ();
+ client->reactor (this->reactor ());
+ if (client->open () == -1)
+ client->handle_close (ACE_INVALID_HANDLE, 0);
+ return 0;
+}
+// Listing 3
+
+// Listing 4 code/ch07
+int
+ClientAcceptor::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+{
+ if (this->acceptor_.get_handle () != ACE_INVALID_HANDLE)
+ {
+ ACE_Reactor_Mask m = ACE_Event_Handler::ACCEPT_MASK |
+ ACE_Event_Handler::DONT_CALL;
+ this->reactor ()->remove_handler (this, m);
+ this->acceptor_.close ();
+ }
+ return 0;
+}
+// Listing 4
+
+// Listing 7 code/ch07
+int
+ClientService::open (void)
+{
+ ACE_TCHAR peer_name[MAXHOSTNAMELEN];
+ ACE_INET_Addr peer_addr;
+ if (this->sock_.get_remote_addr (peer_addr) == 0 &&
+ peer_addr.addr_to_string (peer_name, MAXHOSTNAMELEN) == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connection from %s\n"),
+ peer_name));
+ return this->reactor ()->register_handler
+ (this, ACE_Event_Handler::READ_MASK);
+}
+// Listing 7
+
+// Listing 8 code/ch07
+int
+ClientService::handle_input (ACE_HANDLE)
+{
+ const size_t INPUT_SIZE = 4096;
+ char buffer[INPUT_SIZE];
+ ssize_t recv_cnt, send_cnt;
+
+ if ((recv_cnt = this->sock_.recv (buffer, sizeof(buffer))) <= 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connection closed\n")));
+ return -1;
+ }
+
+ send_cnt =
+ this->sock_.send (buffer, ACE_static_cast (size_t, recv_cnt));
+ if (send_cnt == recv_cnt)
+ return 0;
+ if (send_cnt == -1 && ACE_OS::last_error () != EWOULDBLOCK)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("send")),
+ 0);
+ if (send_cnt == -1)
+ send_cnt = 0;
+ ACE_Message_Block *mb;
+ size_t remaining =
+ ACE_static_cast (size_t, (recv_cnt - send_cnt));
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block (&buffer[send_cnt], remaining), -1);
+ int output_off = this->output_queue_.is_empty ();
+ ACE_Time_Value nowait (ACE_OS::gettimeofday ());
+ if (this->output_queue_.enqueue_tail (mb, &nowait) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p; discarding data\n"),
+ ACE_TEXT ("enqueue failed")));
+ mb->release ();
+ return 0;
+ }
+ if (output_off)
+ return this->reactor ()->register_handler
+ (this, ACE_Event_Handler::WRITE_MASK);
+ return 0;
+}
+// Listing 8
+
+// Listing 9 code/ch07
+int
+ClientService::handle_output (ACE_HANDLE)
+{
+ ACE_Message_Block *mb;
+ ACE_Time_Value nowait (ACE_OS::gettimeofday ());
+ while (0 == this->output_queue_.dequeue_head
+ (mb, &nowait))
+ {
+ ssize_t send_cnt =
+ this->sock_.send (mb->rd_ptr (), mb->length ());
+ if (send_cnt == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("send")));
+ else
+ mb->rd_ptr (ACE_static_cast (size_t, send_cnt));
+ if (mb->length () > 0)
+ {
+ this->output_queue_.enqueue_head (mb);
+ break;
+ }
+ mb->release ();
+ }
+ return (this->output_queue_.is_empty ()) ? -1 : 0;
+}
+// Listing 9
+
+// Listing 10 code/ch07
+int
+ClientService::handle_close (ACE_HANDLE, ACE_Reactor_Mask mask)
+{
+ if (mask == ACE_Event_Handler::WRITE_MASK)
+ return 0;
+ mask = ACE_Event_Handler::ALL_EVENTS_MASK |
+ ACE_Event_Handler::DONT_CALL;
+ this->reactor ()->remove_handler (this, mask);
+ this->sock_.close ();
+ this->output_queue_.flush ();
+ delete this;
+ return 0;
+}
+// Listing 10
+
+// Listing 12 code/ch07
+class LoopStopper : public ACE_Event_Handler
+{
+public:
+ LoopStopper (int signum = SIGINT);
+
+ // Called when object is signaled by OS.
+ virtual int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0);
+};
+
+LoopStopper::LoopStopper (int signum)
+{
+ ACE_Reactor::instance ()->register_handler (signum, this);
+}
+
+int
+LoopStopper::handle_signal (int, siginfo_t *, ucontext_t *)
+{
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+ return 0;
+}
+// Listing 12
+
+// Listing 13 code/ch07
+#include "ace/Signal.h"
+
+class LogSwitcher : public ACE_Event_Handler
+{
+public:
+ LogSwitcher (int on_sig, int off_sig);
+
+ // Called when object is signaled by OS.
+ virtual int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0);
+
+ // Called when an exceptional event occurs.
+ virtual int handle_exception (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+private:
+ LogSwitcher () {}
+
+ int on_sig_; // Signal to turn logging on
+ int off_sig_; // Signal to turn logging off
+ int on_off_; // 1 == turn on, 0 == turn off
+};
+
+LogSwitcher::LogSwitcher (int on_sig, int off_sig)
+ : on_sig_ (on_sig), off_sig_ (off_sig)
+{
+ ACE_Sig_Set sigs;
+ sigs.sig_add (on_sig);
+ sigs.sig_add (off_sig);
+ ACE_Reactor::instance ()->register_handler (sigs, this);
+}
+// Listing 13
+
+// Listing 14 code/ch07
+int
+LogSwitcher::handle_signal (int signum, siginfo_t *, ucontext_t *)
+{
+ if (signum == this->on_sig_ || signum == this->off_sig_)
+ {
+ this->on_off_ = signum == this->on_sig_;
+ ACE_Reactor::instance ()->notify (this);
+ }
+ return 0;
+}
+// Listing 14
+
+// Listing 15 code/ch07
+int
+LogSwitcher::handle_exception (ACE_HANDLE)
+{
+ if (this->on_off_)
+ ACE_LOG_MSG->clr_flags (ACE_Log_Msg::SILENT);
+ else
+ ACE_LOG_MSG->set_flags (ACE_Log_Msg::SILENT);
+ return 0;
+}
+// Listing 15
+
+// Listing 11 code/ch07
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_INET_Addr port_to_listen ("HAStatus");
+ ClientAcceptor acceptor;
+ acceptor.reactor (ACE_Reactor::instance ());
+ if (acceptor.open (port_to_listen) == -1)
+ return 1;
+
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+
+ return (0);
+}
+// Listing 11
diff --git a/examples/APG/Reactor/Makefile b/examples/APG/Reactor/Makefile
new file mode 100644
index 00000000000..677177c34ff
--- /dev/null
+++ b/examples/APG/Reactor/Makefile
@@ -0,0 +1,27 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+# Makefile for Reactor-based examples
+
+BIN = Client \
+ HAStatus \
+ HAStatus-AC \
+ Reschedule \
+ Schedule_Timers \
+ Timer_Cancel \
+ Timers \
+ Timer_State_Data
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
diff --git a/examples/APG/Reactor/Reschedule.cpp b/examples/APG/Reactor/Reschedule.cpp
new file mode 100644
index 00000000000..55ce1f74143
--- /dev/null
+++ b/examples/APG/Reactor/Reschedule.cpp
@@ -0,0 +1,83 @@
+/**
+ * $Id$
+ *
+ * Changing the interval
+ */
+
+#include "ace/OS_NS_time.h"
+#include "ace/Log_Msg.h"
+#include "ace/Reactor.h"
+#include "ace/Event_Handler.h"
+
+class MyTimerHandler : public ACE_Event_Handler
+{
+public:
+ int handle_timeout (const ACE_Time_Value &current_time,
+ const void * = 0 )
+ {
+ time_t epoch = ((timespec_t)current_time).tv_sec;
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("handle_timeout: %s"),
+ ACE_OS::ctime(&epoch)));
+ return 0;
+ }
+
+};
+
+// Listing 1 code/ch07
+class SigintHandler : public ACE_Event_Handler
+{
+public:
+ SigintHandler (long timerId, int currentInterval)
+ : ACE_Event_Handler(),
+ timerId_(timerId),
+ currentInterval_(currentInterval)
+ {
+ }
+
+ int handle_signal (int,
+ siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Resetting interval of timer ")
+ ACE_TEXT ("%d to %d\n"),
+ this->timerId_,
+ ++this->currentInterval_));
+ ACE_Time_Value newInterval (this->currentInterval_);
+ ACE_Reactor::instance()->
+ reset_timer_interval (this->timerId_, newInterval);
+ return 0;
+ }
+
+private:
+ long timerId_;
+ int currentInterval_;
+};
+// Listing 1
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_Time_Value initialDelay (3);
+ ACE_Time_Value interval (5);
+
+ // Listing 2 code/ch07
+ MyTimerHandler *handler = new MyTimerHandler ();
+
+ long timerId =
+ ACE_Reactor::instance ()->schedule_timer (handler,
+ 0,
+ initialDelay,
+ interval);
+ // Listing 2
+
+ // Listing 3 code/ch07
+ SigintHandler *handleSigint =
+ new SigintHandler (timerId, 5);
+ ACE_Reactor::instance ()->register_handler (SIGINT,
+ handleSigint);
+ // Listing 3
+
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ return 0;
+}
diff --git a/examples/APG/Reactor/Schedule_Timers.cpp b/examples/APG/Reactor/Schedule_Timers.cpp
new file mode 100644
index 00000000000..5fa57ebfa07
--- /dev/null
+++ b/examples/APG/Reactor/Schedule_Timers.cpp
@@ -0,0 +1,65 @@
+/**
+ * $Id$
+ *
+ * Scheduling timers with the Reactor
+ */
+
+#include "ace/OS_NS_time.h"
+#include "ace/Log_Msg.h"
+#include "ace/Reactor.h"
+#include "ace/Event_Handler.h"
+
+// Listing 1 code/ch07
+class MyTimerHandler : public ACE_Event_Handler
+{
+public:
+ int handle_timeout (const ACE_Time_Value &current_time,
+ const void * = 0)
+ {
+ time_t epoch = ((timespec_t)current_time).tv_sec;
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("handle_timeout: %s\n"),
+ ACE_OS::ctime (&epoch)));
+
+ return 0;
+ }
+};
+// Listing 1
+
+// Create a SIGINT handler so that we can exit
+// the program politely
+class SigintHandler : public ACE_Event_Handler
+{
+public:
+ int handle_signal (int signum, siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ if (signum == SIGINT)
+ {
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+ }
+ return 0;
+ }
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Listing 2 code/ch07
+ MyTimerHandler * timer = new MyTimerHandler ();
+ ACE_Time_Value initialDelay (3);
+ ACE_Time_Value interval (5);
+ ACE_Reactor::instance()->schedule_timer (timer,
+ 0,
+ initialDelay,
+ interval);
+ // Listing 2
+
+ // Exclude 1
+ SigintHandler * handleExit = new SigintHandler ();
+ ACE_Reactor::instance()->register_handler (SIGINT,
+ handleExit);
+ // Exclude 1
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ return 0;
+}
diff --git a/examples/APG/Reactor/Timer_Cancel.cpp b/examples/APG/Reactor/Timer_Cancel.cpp
new file mode 100644
index 00000000000..3e6a0f2ec61
--- /dev/null
+++ b/examples/APG/Reactor/Timer_Cancel.cpp
@@ -0,0 +1,106 @@
+/**
+ * $Id$
+ *
+ * Changing the interval and canceling
+ */
+
+#include "ace/OS_NS_time.h"
+#include "ace/Log_Msg.h"
+#include "ace/Reactor.h"
+#include "ace/Event_Handler.h"
+
+class MyTimerHandler : public ACE_Event_Handler
+{
+public:
+ int handle_timeout (const ACE_Time_Value &current_time,
+ const void * = 0)
+ {
+ time_t epoch = ((timespec_t)current_time).tv_sec;
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("handle_timeout: %s"),
+ ACE_OS::ctime(&epoch)));
+ return 0;
+ }
+
+};
+
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+
+// Listing 1 code/ch07
+class SignalHandler : public ACE_Event_Handler
+{
+public:
+ SignalHandler (long timerId, int currentInterval)
+ : ACE_Event_Handler(),
+ timerId_(timerId),
+ currentInterval_(currentInterval)
+ {
+ }
+
+ int handle_signal (int sig,
+ siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ if (sig == SIGINT)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Resetting interval of timer ")
+ ACE_TEXT ("%d to %d\n"),
+ this->timerId_,
+ ++this->currentInterval_));
+ ACE_Time_Value newInterval (this->currentInterval_);
+ ACE_Reactor::instance ()->
+ reset_timer_interval (this->timerId_, newInterval);
+ }
+ else if (sig == SIGTSTP)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Canceling timer %d\n"),
+ this->timerId_));
+ ACE_Reactor::instance ()->cancel_timer (this->timerId_);
+ }
+
+ return 0;
+ }
+
+private:
+ long timerId_;
+ int currentInterval_;
+};
+// Listing 1
+
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_Time_Value initialDelay (3);
+ ACE_Time_Value interval (5);
+
+ // Listing 2 code/ch07
+ MyTimerHandler *handler = new MyTimerHandler ();
+ long timerId =
+ ACE_Reactor::instance ()->schedule_timer (handler,
+ 0,
+ initialDelay,
+ interval);
+ // Listing 2
+
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+
+ // Listing 3 code/ch07
+ SignalHandler *mutateTimer =
+ new SignalHandler (timerId, 5);
+ ACE_Reactor::instance ()->register_handler (SIGINT,
+ mutateTimer);
+ ACE_Reactor::instance ()->register_handler (SIGTSTP,
+ mutateTimer);
+ // Listing 3
+
+#else
+ ACE_UNUSED_ARG (timerId);
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ return 0;
+}
diff --git a/examples/APG/Reactor/Timer_State_Data.cpp b/examples/APG/Reactor/Timer_State_Data.cpp
new file mode 100644
index 00000000000..ff945553372
--- /dev/null
+++ b/examples/APG/Reactor/Timer_State_Data.cpp
@@ -0,0 +1,153 @@
+/**
+ * $Id$
+ *
+ * Reactor examples
+ *
+ * Timers & state data
+ */
+
+#include "ace/OS_NS_time.h"
+#include "ace/Log_Msg.h"
+#include "ace/Reactor.h"
+#include "ace/Event_Handler.h"
+
+// Listing 0 code/ch07
+class TemperatureSensor
+{
+public:
+ TemperatureSensor (const char *location)
+ : location_(location),
+ count_(0),
+ temperature_(0.0)
+ // ...
+ { }
+
+ const char *location () const
+ {
+ return this->location_;
+ }
+
+ int querySensor (void)
+ {
+ // ...
+ return ++this->count_;
+ }
+
+ float temperature (void) const
+ {
+ return this->temperature_;
+ }
+
+private:
+ const char *location_;
+ int count_;
+ float temperature_;
+ // ...
+};
+// Listing 0
+
+// Listing 1 code/ch07
+class TemperatureQueryHandler : public ACE_Event_Handler
+{
+public:
+ TemperatureQueryHandler ()
+ : ACE_Event_Handler(),
+ counter_(0),
+ averageTemperature_(0.0)
+ // ...
+ {
+ }
+
+ int handle_timeout (const ACE_Time_Value &current_time,
+ const void *arg)
+ {
+ time_t epoch = ((timespec_t)current_time).tv_sec;
+
+ const TemperatureSensor *const_sensor =
+ ACE_reinterpret_cast (const TemperatureSensor *, arg);
+ TemperatureSensor *sensor =
+ ACE_const_cast (TemperatureSensor *, const_sensor);
+
+ int queryCount = sensor->querySensor ();
+ this->updateAverageTemperature (sensor);
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("%s\t")
+ ACE_TEXT ("%d/%d\t")
+ ACE_TEXT ("%.2f/%.2f\t")
+ ACE_TEXT ("%s\n"),
+ sensor->location (),
+ ++this->counter_,
+ queryCount,
+ this->averageTemperature_,
+ sensor->temperature (),
+ ACE_OS::ctime(&epoch)));
+ return 0;
+ }
+
+private:
+ void updateAverageTemperature (TemperatureSensor *)
+ {
+ // ...
+ }
+
+ int counter_;
+ float averageTemperature_;
+};
+// Listing 1
+
+// Create a SIGINT handler so that we can exit
+// the program politely
+class SigintHandler : public ACE_Event_Handler
+{
+public:
+ int handle_signal (int signum, siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ if (signum == SIGINT)
+ {
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+ }
+ return 0;
+ }
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Listing 2 code/ch07
+ TemperatureQueryHandler *temperatureMonitor =
+ new TemperatureQueryHandler ();
+ // Listing 2
+
+ ACE_Time_Value initialDelay (3);
+ ACE_Time_Value intervalOne (5);
+ // Listing 3 code/ch07
+ TemperatureSensor *sensorOne =
+ new TemperatureSensor ("Kitchen");
+
+ ACE_Reactor::instance ()->schedule_timer (temperatureMonitor,
+ sensorOne,
+ initialDelay,
+ intervalOne);
+ // Listing 3
+
+ ACE_Time_Value intervalTwo (4);
+ // Listing 4 code/ch07
+ TemperatureSensor *sensorTwo =
+ new TemperatureSensor ("Foyer");
+
+ ACE_Reactor::instance ()->schedule_timer (temperatureMonitor,
+ sensorTwo,
+ initialDelay,
+ intervalTwo);
+ // Listing 4
+
+ SigintHandler *handleExit = new SigintHandler ();
+
+ ACE_Reactor::instance ()->register_handler (SIGINT,
+ handleExit);
+
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+
+ return 0;
+}
diff --git a/examples/APG/Reactor/Timers.cpp b/examples/APG/Reactor/Timers.cpp
new file mode 100644
index 00000000000..4fc7bfafa4b
--- /dev/null
+++ b/examples/APG/Reactor/Timers.cpp
@@ -0,0 +1,79 @@
+// $Id$
+
+#include "ace/config.h"
+#if !defined (ACE_LACKS_FORK)
+
+#include "ace/streams.h"
+
+#include <signal.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <time.h>
+
+typedef void (*timerTask_t)(void);
+
+// Listing 1 code/ch07
+pid_t timerTask (int initialDelay,
+ int interval,
+ timerTask_t task)
+{
+ if (initialDelay < 1 && interval < 1)
+ return -1;
+
+ pid_t pid = fork ();
+
+ if (pid < 0)
+ return -1;
+
+ if (pid > 0)
+ return pid;
+
+ if (initialDelay > 0)
+ sleep (initialDelay);
+
+ if (interval < 1)
+ return 0;
+
+ while (1)
+ {
+ (*task) ();
+ sleep (interval);
+ }
+
+ ACE_NOTREACHED (return 0);
+}
+// Listing 1
+
+// Listing 2 code/ch07
+void foo ()
+{
+ time_t now = time (0);
+ cerr << "The time is " << ctime (&now) << endl;
+}
+// Listing 2
+
+void programMainLoop (void)
+{
+ sleep (30);
+}
+
+// Listing 3 code/ch07
+int main (int, char *[])
+{
+ pid_t timerId = timerTask (3, 5, foo);
+ programMainLoop ();
+ kill (timerId, SIGINT);
+ return 0;
+}
+// Listing 3
+
+#else
+#include <stdio.h>
+
+int main (int, char *[])
+{
+ puts ("This very unportable example requires fork().\n");
+ return 0;
+}
+
+#endif /* ACE_LACKS_FORK */
diff --git a/examples/APG/Reactor/reactor.mpc b/examples/APG/Reactor/reactor.mpc
new file mode 100644
index 00000000000..42b2bb61e3f
--- /dev/null
+++ b/examples/APG/Reactor/reactor.mpc
@@ -0,0 +1,55 @@
+project(Client) : aceexe {
+ exename = Client
+ Source_Files {
+ Client.cpp
+ }
+}
+
+project(HAStatus) : aceexe {
+ exename = HAStatus
+ Source_Files {
+ HAStatus.cpp
+ }
+}
+
+project(HAStatus AC) : aceexe {
+ exename = HAStatus-AC
+ Source_Files {
+ HAStatus-AC.cpp
+ }
+}
+
+project(Reschedule) : aceexe {
+ exename = Reschedule
+ Source_Files {
+ Reschedule.cpp
+ }
+}
+
+project(Schedule Timers) : aceexe {
+ exename = Schedule_Timers
+ Source_Files {
+ Schedule_Timers.cpp
+ }
+}
+
+project(Timer Cancel) : aceexe {
+ exename = Timer_Cancel
+ Source_Files {
+ Timer_Cancel.cpp
+ }
+}
+
+project(*Timers) : aceexe {
+ exename = Timers
+ Source_Files {
+ Timers.cpp
+ }
+}
+
+project(Timer State Data) : aceexe {
+ exename = Timer_State_Data
+ Source_Files {
+ Timer_State_Data.cpp
+ }
+}
diff --git a/examples/APG/Reactor/reactor.mwc b/examples/APG/Reactor/reactor.mwc
new file mode 100644
index 00000000000..d8629c9f435
--- /dev/null
+++ b/examples/APG/Reactor/reactor.mwc
@@ -0,0 +1,3 @@
+workspace {
+ reactor.mpc
+}
diff --git a/examples/APG/Shared_Memory/Hash_Map.cpp b/examples/APG/Shared_Memory/Hash_Map.cpp
new file mode 100644
index 00000000000..b48351e37ce
--- /dev/null
+++ b/examples/APG/Shared_Memory/Hash_Map.cpp
@@ -0,0 +1,272 @@
+// $Id$
+
+#include "ace/OS_NS_stdio.h"
+
+// Listing 1 code/ch17
+#include "ace/Hash_Map_With_Allocator_T.h"
+#include "ace/Malloc_T.h"
+#include "ace/PI_Malloc.h"
+#include "ace/Process_Mutex.h"
+#include "ace/Process.h"
+
+#define BACKING_STORE "map.store"
+#define MAP_NAME "records.db"
+
+#include "Record.h"
+
+typedef ACE_Allocator_Adapter<ACE_Malloc_T <ACE_MMAP_MEMORY_POOL,
+ ACE_Process_Mutex,
+ ACE_Control_Block>
+ > ALLOCATOR;
+typedef ACE_Hash_Map_With_Allocator<int, Record> MAP;
+
+ACE_Process_Mutex coordMutex("Coord-Mutex");
+// Listing 1
+
+// Listing 2 code/ch17
+MAP* smap (ALLOCATOR *shmem_allocator)
+{
+ void *db = 0;
+ if (shmem_allocator->find (MAP_NAME, db) == 0)
+ return (MAP *) db;
+ size_t hash_table_size = sizeof (MAP);
+ void *hash_map = shmem_allocator->malloc (hash_table_size);
+ if (hash_map == 0)
+ return 0;
+ new (hash_map) MAP (hash_table_size, shmem_allocator);
+ if (shmem_allocator->bind (MAP_NAME, hash_map) == -1)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("allocate_map")));
+ shmem_allocator->remove ();
+ return 0;
+ }
+ return (MAP*)hash_map;
+}
+// Listing 2
+// Listing 6 code/ch17
+int processRecords (MAP *map, ALLOCATOR *shmem_allocator)
+{
+ ACE_TRACE (ACE_TEXT ("::processRecords"));
+
+ size_t mapLength = map->current_size ();
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Found %d records\n\n"),
+ mapLength));
+
+ int *todelete = new int[mapLength];
+ int i = 0;
+
+ for (MAP::iterator iter = map->begin ();
+ iter != map->end ();
+ iter++)
+ {
+ int key = (*iter).ext_id_;
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) [%d] Preprocessing %d:%@\n"),
+ i+1, key, &(*iter).ext_id_));
+
+ todelete[i++] = key; // Mark message for deletion.
+
+ // Illustrate the find feature of the map.
+ Record record;
+ int result = map->find (key, record, shmem_allocator);
+ if (result == -1)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Could not find record for %d\n"),
+ key));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Record name: %C|id1:%d|id2:%d\n"),
+ record.name (), record.id1(), record.id2()));
+ }
+
+ // Delete everything we processed.
+ for (int j = 0; j < i ; j++)
+ {
+ int result = map->unbind (todelete[j],
+ shmem_allocator);
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed on key %d: %p\n"),
+ ACE_TEXT ("unbind"),
+ todelete[j]),
+ -1);
+ else
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Fully processed and removed %d\n"),
+ j));
+ }
+
+ delete [] todelete;
+
+ return 0;
+}
+// Listing 6
+// Listing 4 code/ch17
+int addRecords(MAP *map, ALLOCATOR *shmem_allocator)
+{
+ ACE_TRACE (ACE_TEXT ("::addRecords"));
+
+ char buf[32];
+ int mapLength = ACE_static_cast (int, map->current_size ());
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Map has %d entries; adding 20 more\n"),
+ mapLength));
+
+ for (int i = mapLength ; i < mapLength + 20; i++)
+ {
+ ACE_OS::sprintf (buf, "%s:%d", "Record", i);
+
+ // Allocate new record on stack;
+ Record newRecord (i, i+1, buf);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Adding a record for %d\n"), i));
+
+ int result = map->bind (i, newRecord, shmem_allocator);
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("bind failed")), -1);
+ }
+
+ return 0;
+}
+// Listing 4
+// Listing 5 code/ch17
+int handle_child (void)
+{
+ ACE_TRACE (ACE_TEXT ("::handle_child"));
+
+ ACE_GUARD_RETURN (ACE_Process_Mutex, ace_mon, coordMutex, -1);
+
+ ALLOCATOR * shmem_allocator = 0;
+ ACE_MMAP_Memory_Pool_Options options
+ (ACE_DEFAULT_BASE_ADDR,
+ ACE_MMAP_Memory_Pool_Options::ALWAYS_FIXED);
+
+ ACE_NEW_RETURN (shmem_allocator,
+ ALLOCATOR (BACKING_STORE,
+ BACKING_STORE,
+ &options),
+ -1);
+
+ MAP *map = smap (shmem_allocator);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Map has %d entries\n"),
+ map->current_size ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("In child, map is located at %@\n"),
+ map));
+
+ processRecords (map, shmem_allocator);
+ shmem_allocator->sync ();
+ delete shmem_allocator;
+
+ return 0;
+}
+// Listing 5
+// Listing 3 code/ch17
+int handle_parent (char *cmdLine)
+{
+ ACE_TRACE (ACE_TEXT ("::handle_parent"));
+
+ ALLOCATOR * shmem_allocator = 0;
+ ACE_MMAP_Memory_Pool_Options options
+ (ACE_DEFAULT_BASE_ADDR,
+ ACE_MMAP_Memory_Pool_Options::ALWAYS_FIXED);
+
+ ACE_NEW_RETURN
+ (shmem_allocator,
+ ALLOCATOR (BACKING_STORE, BACKING_STORE, &options),
+ -1);
+
+ MAP *map = smap (shmem_allocator);
+
+ ACE_Process processa, processb;
+ ACE_Process_Options poptions;
+ poptions.command_line("%s a", cmdLine);
+ {
+ ACE_GUARD_RETURN (ACE_Process_Mutex, ace_mon,
+ coordMutex, -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Map has %d entries\n"),
+ map->current_size ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("In parent, map is located at %@\n"),
+ map));
+
+ // Then have the child show and eat them up.
+ processa.spawn (poptions);
+
+ // First append a few records.
+ addRecords (map, shmem_allocator);
+ }
+
+
+ {
+ ACE_GUARD_RETURN (ACE_Process_Mutex, ace_mon,
+ coordMutex, -1);
+
+ // Add a few more records..
+ addRecords (map, shmem_allocator);
+
+ // Let's see what's left.
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Parent finished adding, ")
+ ACE_TEXT ("map has %d entries\n"),
+ map->current_size ()));
+
+ // Have another child try to eat them up.
+ processb.spawn (poptions);
+ }
+
+ processa.wait ();
+ processb.wait ();
+
+ // No processes are left and we don't want to keep the data
+ // around anymore; it's now safe to remove it.
+ // !!This will remove the backing store.!!
+ shmem_allocator->remove ();
+ delete shmem_allocator;
+ return 0;
+}
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (argc == 1) // parent
+ ACE_ASSERT (handle_parent (argv[0]) == 0);
+ else
+ ACE_ASSERT (handle_child () == 0);
+
+ ACE_UNUSED_ARG (argv);
+ return 0;
+}
+// Listing 3
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Allocator_Adapter<ACE_Malloc_T<ACE_MMAP_MEMORY_POOL,ACE_Process_Mutex,ACE_Control_Block> >;
+template class ACE_Hash_Map_Entry<int,Record>;
+template class ACE_Hash_Map_Manager_Ex<int,Record,ACE_Hash<int>,ACE_Equal_To<int>,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<int,Record,ACE_Hash<int>,ACE_Equal_To<int>,ACE_Null_Mutex>;
+template class ACE_Hash_Map_With_Allocator<int,Record>;
+// The following instantiation is in ace/System_Time.cpp:
+// template class ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>;
+template class ACE_Malloc_T<ACE_MMAP_MEMORY_POOL,ACE_Process_Mutex,ACE_Control_Block>;
+template class ACE_Malloc_FIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>;
+template class ACE_Malloc_LIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>;
+template class ACE_Malloc_FIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>;
+template class ACE_Malloc_LIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Allocator_Adapter<ACE_Malloc_T<ACE_MMAP_MEMORY_POOL,ACE_Process_Mutex,ACE_Control_Block> >
+#pragma instantiate ACE_Hash_Map_Entry<int,Record>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<int,Record,ACE_Hash<int>,ACE_Equal_To<int>,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<int,Record,ACE_Hash<int>,ACE_Equal_To<int>,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_With_Allocator<int,Record>
+#pragma instantiate ACE_Malloc_T<ACE_MMAP_MEMORY_POOL,ACE_Process_Mutex,ACE_Control_Block>
+// The following instantiation is in ace/System_Time.cpp:
+// #pragma instantiate ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+#pragma instantiate ACE_Malloc_FIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+#pragma instantiate ACE_Malloc_LIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+#pragma instantiate ACE_Malloc_FIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>
+#pragma instantiate ACE_Malloc_LIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Shared_Memory/Makefile b/examples/APG/Shared_Memory/Makefile
new file mode 100644
index 00000000000..da92484d68c
--- /dev/null
+++ b/examples/APG/Shared_Memory/Makefile
@@ -0,0 +1,21 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Hash_Map Malloc Mem_Map PI_Malloc Pool_Growth
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
diff --git a/examples/APG/Shared_Memory/Malloc.cpp b/examples/APG/Shared_Memory/Malloc.cpp
new file mode 100644
index 00000000000..e070b783740
--- /dev/null
+++ b/examples/APG/Shared_Memory/Malloc.cpp
@@ -0,0 +1,128 @@
+// $Id$
+
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_string.h"
+
+// Listing 1 code/ch17
+#include "ace/Malloc_T.h"
+#include "ace/Null_Mutex.h"
+
+typedef ACE_Malloc<ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+ ALLOCATOR;
+typedef ACE_Malloc_LIFO_Iterator <ACE_MMAP_MEMORY_POOL,
+ ACE_Null_Mutex>
+ MALLOC_LIFO_ITERATOR;
+
+ALLOCATOR *g_allocator;
+// Listing 1
+
+// Listing 2 code/ch17
+class Record
+{
+public:
+ Record (int id1, int id2, char *name)
+ : id1_(id1), id2_(id2), name_(0)
+ {
+ size_t len = ACE_OS::strlen (name) + 1;
+ this->name_ =
+ ACE_reinterpret_cast (char *,
+ g_allocator->malloc (len));
+ ACE_OS::strcpy (this->name_, name);
+ }
+
+ ~Record () { g_allocator->free (name_); }
+ char* name(void) { return name_; }
+ int id1 (void) { return id1_; }
+ int id2 (void) { return id2_; }
+
+private:
+ int id1_;
+ int id2_;
+ char *name_;
+};
+// Listing 2
+// Listing 5 code/ch17
+void showRecords ()
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("The following records were found:\n")));
+ {
+ MALLOC_LIFO_ITERATOR iter (*g_allocator);
+
+ for (void *temp = 0; iter.next (temp) != 0; iter.advance ())
+ {
+ Record *record =
+ ACE_reinterpret_cast (Record *, temp);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Record name: %C|id1:%d|id2:%d\n"),
+ record->name (),
+ record->id1 (),
+ record->id2 ()));
+ }
+ }
+}
+// Listing 5
+// Listing 3 code/ch17
+int addRecords ()
+{
+ char buf[32];
+
+ for (int i = 0; i < 10; i++)
+ {
+ ACE_OS::sprintf (buf, "%s:%d", "Record", i);
+ void *memory = g_allocator->malloc (sizeof (Record));
+ if (memory == 0)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Unable to malloc")),
+ -1);
+
+ // Allocate and place record
+ Record* newRecord = new (memory) Record (i, i+1, buf);
+ if (g_allocator->bind (buf, newRecord) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("bind failed")),
+ -1);
+ }
+
+ return 0;
+}
+// Listing 3
+// Listing 4 code/ch17
+// Backing file where the data is kept.
+#define BACKING_STORE "backing.store"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *[])
+{
+ ACE_NEW_RETURN (g_allocator,
+ ALLOCATOR (BACKING_STORE),
+ -1);
+ if (argc > 1)
+ {
+ showRecords ();
+ }
+ else
+ {
+ addRecords ();
+ }
+
+ g_allocator->sync ();
+ delete g_allocator;
+ return 0;
+}
+// Listing 4
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+// The following instantiation is in ace/System_Time.cpp:
+// template class ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>;
+template class ACE_Malloc_FIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>;
+template class ACE_Malloc_LIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>;
+template class ACE_Malloc_FIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>;
+template class ACE_Malloc_LIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+// The following instantiation is in ace/System_Time.cpp:
+// #pragma instantiate ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+#pragma instantiate ACE_Malloc_FIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+#pragma instantiate ACE_Malloc_LIFO_Iterator <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex>
+#pragma instantiate ACE_Malloc_FIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>
+#pragma instantiate ACE_Malloc_LIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_Control_Block>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Shared_Memory/Mem_Map.cpp b/examples/APG/Shared_Memory/Mem_Map.cpp
new file mode 100644
index 00000000000..fe1b87f9cee
--- /dev/null
+++ b/examples/APG/Shared_Memory/Mem_Map.cpp
@@ -0,0 +1,34 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Mem_Map.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch17
+int ACE_TMAIN (int, ACE_TCHAR *argv[])
+{
+ ACE_HANDLE srcHandle = ACE_OS::open (argv[1], O_RDONLY);
+ ACE_ASSERT(srcHandle != ACE_INVALID_HANDLE);
+
+ ACE_Mem_Map srcMap (srcHandle, -1, PROT_READ, ACE_MAP_PRIVATE);
+ ACE_ASSERT(srcMap.addr () != 0);
+
+ ACE_Mem_Map destMap (argv[2],
+ srcMap.size (),
+ O_RDWR | O_CREAT,
+ ACE_DEFAULT_FILE_PERMS,
+ PROT_RDWR,
+ ACE_MAP_SHARED);
+ ACE_ASSERT(destMap.addr () != 0);
+
+ ACE_OS::memcpy (destMap.addr (),
+ srcMap.addr (),
+ srcMap.size ());
+ destMap.sync ();
+
+ srcMap.close ();
+ destMap.close ();
+ return 0;
+}
+// Listing 1
+
diff --git a/examples/APG/Shared_Memory/PI_Malloc.cpp b/examples/APG/Shared_Memory/PI_Malloc.cpp
new file mode 100644
index 00000000000..689bcb75d0a
--- /dev/null
+++ b/examples/APG/Shared_Memory/PI_Malloc.cpp
@@ -0,0 +1,150 @@
+// $Id$
+
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_string.h"
+
+// Listing 1 code/ch17
+#include "ace/Malloc_T.h"
+#include "ace/Null_Mutex.h"
+#include "ace/PI_Malloc.h"
+
+typedef ACE_Malloc_T <ACE_MMAP_MEMORY_POOL,
+ ACE_Null_Mutex,
+ ACE_PI_Control_Block>
+ ALLOCATOR;
+typedef ACE_Malloc_LIFO_Iterator_T<ACE_MMAP_MEMORY_POOL,
+ ACE_Null_Mutex,
+ ACE_PI_Control_Block>
+ MALLOC_LIFO_ITERATOR;
+
+ALLOCATOR *g_allocator;
+// Listing 1
+// Listing 2 code/ch17
+class Record
+{
+public:
+ Record (int id1, int id2, char *name)
+ : id1_(id1), id2_(id2)
+ {
+ size_t len = ACE_OS::strlen (name) + 1;
+ char *buf =
+ ACE_reinterpret_cast (char *,
+ g_allocator->malloc (len));
+ ACE_OS::strcpy (buf, name);
+ name_ = buf;
+ }
+
+ ~Record() { g_allocator->free (name_.addr ()); }
+
+ char *name (void) { return name_; }
+ int id1 (void) { return id1_; }
+ int id2 (void) { return id2_; }
+
+private:
+ int id1_;
+ int id2_;
+ ACE_Based_Pointer_Basic<char> name_;
+};
+// Listing 2
+
+void showRecords (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("The following records were found:\n")));
+
+ {
+ MALLOC_LIFO_ITERATOR iter (*g_allocator);
+
+ for (void *temp = 0; iter.next (temp) != 0; iter.advance ())
+ {
+ Record *record =
+ ACE_reinterpret_cast (Record *, temp);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Record name: %C|id1:%d|id2:%d\n"),
+ record->name(), record->id1(), record->id2()));
+ }
+ }
+}
+
+int addRecords (void)
+{
+ char buf[32];
+
+ for (int i = 0; i < 10; i++)
+ {
+ ACE_OS::sprintf (buf, "%s:%d", "Record", i);
+
+ void *memory = g_allocator->malloc (sizeof (Record));
+ if (memory == NULL)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Unable to malloc")),
+ -1);
+
+ // Allocate and place record
+ Record* newRecord = new (memory) Record (i, i+1, buf);
+ if (g_allocator->bind (buf, newRecord) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("bind failed")),
+ -1);
+ }
+
+ return 0;
+}
+
+// Listing 3 code/ch17
+// Backing file where the data is kept.
+#define BACKING_STORE "backing2.store"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *[])
+{
+ if (argc > 1)
+ {
+ ACE_MMAP_Memory_Pool_Options options
+ (ACE_DEFAULT_BASE_ADDR,
+ ACE_MMAP_Memory_Pool_Options::ALWAYS_FIXED);
+ ACE_NEW_RETURN (g_allocator,
+ ALLOCATOR (BACKING_STORE,
+ BACKING_STORE,
+ &options),
+ -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Mapped to base address %@\n"),
+ g_allocator->base_addr ()));
+
+ showRecords ();
+ }
+ else
+ {
+ ACE_MMAP_Memory_Pool_Options options
+ (0, ACE_MMAP_Memory_Pool_Options::NEVER_FIXED);
+ ACE_NEW_RETURN (g_allocator,
+ ALLOCATOR (BACKING_STORE,
+ BACKING_STORE,
+ &options),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Mapped to base address %@\n"),
+ g_allocator->base_addr ()));
+
+ addRecords();
+ }
+
+ g_allocator->sync ();
+ delete g_allocator;
+ return 0;
+}
+// Listing 3
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Malloc_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_PI_Control_Block>;
+template class ACE_Malloc_FIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_PI_Control_Block>;
+template class ACE_Malloc_LIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_PI_Control_Block>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Malloc_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_PI_Control_Block>
+#pragma instantiate ACE_Malloc_FIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_PI_Control_Block>
+#pragma instantiate ACE_Malloc_LIFO_Iterator_T <ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex, ACE_PI_Control_Block>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/examples/APG/Shared_Memory/Pool_Growth.cpp b/examples/APG/Shared_Memory/Pool_Growth.cpp
new file mode 100644
index 00000000000..0835413dd9d
--- /dev/null
+++ b/examples/APG/Shared_Memory/Pool_Growth.cpp
@@ -0,0 +1,268 @@
+// $Id$
+
+#include "ace/OS_NS_stdio.h"
+#include "ace/Malloc.h"
+#include "ace/PI_Malloc.h"
+#include "ace/Process_Mutex.h"
+#include "ace/Process.h"
+#include "ace/Unbounded_Queue.h"
+
+#define BACKING_STORE "queue.dat"
+#define QUEUE_NAME "queue.db"
+
+typedef ACE_Allocator_Adapter<ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex> > ALLOCATOR;
+
+ACE_Process_Mutex coordMutex("Coord-Mutex");
+
+// Listing 1 code/ch17
+template <class T>
+class Unbounded_Queue : public ACE_Unbounded_Queue<T>
+{
+public:
+ typedef ACE_Unbounded_Queue<T> BASE;
+
+ Unbounded_Queue(ACE_Allocator* allocator)
+ : ACE_Unbounded_Queue<T> (allocator)
+ { }
+
+ int enqueue_tail (const T &new_item, ACE_Allocator* allocator)
+ {
+ this->allocator_ = allocator;
+ return BASE::enqueue_tail (new_item);
+ }
+
+ int dequeue_head (T &item, ACE_Allocator* allocator)
+ {
+ this->allocator_ = allocator;
+ return BASE::dequeue_head (item);
+ }
+
+ void delete_nodes (ACE_Allocator* allocator)
+ {
+ this->allocator_ = allocator;
+ delete_nodes ();
+ }
+};
+// Listing 1
+
+#include "Record.h"
+
+typedef Unbounded_Queue<Record> QUEUE;
+
+QUEUE* squeue(ALLOCATOR* shmem_allocator)
+{
+ void *queue = 0;
+
+ // This is the easy case since if we find hash table in the
+ // memory-mapped file we know it's already initialized.
+ if (shmem_allocator->find (QUEUE_NAME, queue) == 0)
+ return (QUEUE *) queue;
+
+ // Create a new map (because we've just created a new
+ // memory-mapped file).
+ size_t queue_size = sizeof (QUEUE);
+
+ queue = shmem_allocator->malloc (queue_size);
+
+ // If allocation failed ...
+ if (queue == 0)
+ return 0;
+
+ new (queue) QUEUE (shmem_allocator);
+
+ if (shmem_allocator->bind (QUEUE_NAME, queue) == -1)
+ {
+ // Attempt to clean up.
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("squeue bind\n")));
+ shmem_allocator->remove();
+
+ return 0;
+ }
+
+ return (QUEUE*)queue;
+}
+
+static ALLOCATOR * g_shmem_allocator = 0;
+
+// Listing 4 code/ch17
+int processRecord (ALLOCATOR *shmem_allocator)
+{
+ ACE_GUARD_RETURN (ACE_Process_Mutex, ace_mon, coordMutex, -1);
+
+ QUEUE* queue = squeue (shmem_allocator);
+ if (queue == 0)
+ {
+ delete shmem_allocator;
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Could not obtain queue")),
+ -1);
+ }
+
+ if (queue->is_empty ()) // Check for anything to process.
+ return 0;
+
+ Record record;
+ if (queue->dequeue_head (record, shmem_allocator) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("dequeue_head\n")),
+ -1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Processing record|name: %C")
+ ACE_TEXT ("|Record id1:%d|Record id2:%d\n"),
+ record.name (), record.id1 (), record.id2 ()));
+ if (record.id1 () == -1)
+ queue->enqueue_tail (record, shmem_allocator);
+ return record.id1 ();
+}
+// Listing 4
+// Listing 5 code/ch17
+#if defined(WIN32)
+
+int handle_remap (EXCEPTION_POINTERS *ep)
+{
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Handle a remap\n")));
+
+ DWORD ecode = ep->ExceptionRecord->ExceptionCode;
+ if (ecode != EXCEPTION_ACCESS_VIOLATION)
+ return EXCEPTION_CONTINUE_SEARCH;
+
+ void *addr =
+ (void *) ep->ExceptionRecord->ExceptionInformation[1];
+ if (g_shmem_allocator->alloc().memory_pool().remap (addr) == -1)
+ return EXCEPTION_CONTINUE_SEARCH;
+#if __X86__
+ // This is 80x86-specific.
+ ep->ContextRecord->Edi = (DWORD) addr;
+#elif __MIPS__
+ ep->ContextRecord->IntA0 =
+ ep->ContextRecord->IntV0 = (DWORD) addr;
+ ep->ContextRecord->IntT5 =
+ ep->ContextRecord->IntA0 + 3;
+#endif /* __X86__ */
+
+ return EXCEPTION_CONTINUE_EXECUTION;
+}
+
+int processWin32Record (ALLOCATOR *shmem_allocator)
+{
+ ACE_SEH_TRY
+ {
+ return processRecord (shmem_allocator);
+ }
+
+ ACE_SEH_EXCEPT (handle_remap (GetExceptionInformation ()))
+ { }
+
+ return 0;
+}
+#endif /*WIN32*/
+// Listing 5
+
+int sendRecord (int recordId, ALLOCATOR *shmem_allocator)
+{
+ ACE_GUARD_RETURN (ACE_Process_Mutex, ace_mon, coordMutex, -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Sending record %d\n"),
+ recordId));
+
+ QUEUE * queue = squeue (shmem_allocator);
+ char buf[128];
+ ACE_OS::sprintf (buf, "%s:%d", "Record", recordId);
+ Record newRecord (recordId, recordId+1, buf);
+
+ int result = queue->enqueue_tail (newRecord, shmem_allocator);
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("enqueue failed\n")),
+ -1);
+ return 0;
+}
+
+// Listing 2 code/ch17
+int handle_parent (char *cmdLine)
+{
+ ALLOCATOR *shmem_allocator = 0;
+ ACE_MMAP_Memory_Pool_Options options
+ (ACE_DEFAULT_BASE_ADDR,
+ ACE_MMAP_Memory_Pool_Options::ALWAYS_FIXED);
+
+ // Create the allocator.
+ ACE_NEW_RETURN (shmem_allocator,
+ ALLOCATOR (BACKING_STORE,
+ BACKING_STORE,
+ &options),
+ -1);
+
+ ACE_Process processa, processb;
+ ACE_Process_Options poptions;
+ poptions.command_line ("%s a", ACE_TEXT_ALWAYS_CHAR (cmdLine));
+ processa.spawn (poptions);
+ processb.spawn (poptions);
+
+ // Make sure the child does map a partial pool in memory.
+ ACE_OS::sleep (2);
+
+ for (int i = 0; i < 100; i++)
+ sendRecord (i, shmem_allocator);
+ sendRecord (-1, shmem_allocator);
+
+ processa.wait ();
+ processb.wait ();
+ shmem_allocator->remove ();
+ return 0;
+}
+// Listing 2
+
+// Listing 3 code/ch17
+int handle_child (void)
+{
+ ALLOCATOR *shmem_allocator = 0;
+ ACE_MMAP_Memory_Pool_Options options
+ (ACE_DEFAULT_BASE_ADDR,
+ ACE_MMAP_Memory_Pool_Options::ALWAYS_FIXED);
+ ACE_NEW_RETURN (shmem_allocator,
+ ALLOCATOR (BACKING_STORE,
+ BACKING_STORE,
+ &options),
+ -1);
+ g_shmem_allocator = shmem_allocator;
+
+#if defined (WIN32)
+ while (processWin32Record (shmem_allocator) != -1)
+ ;
+#else
+ while (processRecord (shmem_allocator) != -1)
+ ;
+#endif
+ return 0;
+}
+// Listing 3
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ if (argc == 1)
+ handle_parent(argv[0]);
+ else
+ handle_child();
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Allocator_Adapter<ACE_Malloc<ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex> >;
+template class ACE_Malloc_T<ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex, ACE_Control_Block>;
+template class ACE_Node<Record>;
+template class ACE_Unbounded_Queue<Record>;
+template class ACE_Unbounded_Queue_Iterator<Record>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Allocator_Adapter<ACE_Malloc<ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex> >
+#pragma instantiate ACE_Malloc_T<ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex, ACE_Control_Block>
+#pragma instantiate ACE_Node<Record>
+#pragma instantiate ACE_Unbounded_Queue<Record>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<Record>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Shared_Memory/Record.h b/examples/APG/Shared_Memory/Record.h
new file mode 100644
index 00000000000..f3a63e1298b
--- /dev/null
+++ b/examples/APG/Shared_Memory/Record.h
@@ -0,0 +1,45 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __RECORD_H_
+#define __RECORD_H_
+
+#include "ace/OS_NS_string.h"
+#include "ace/Based_Pointer_T.h"
+
+// Listing 11 code/ch17
+class Record
+{
+public:
+ Record () { }
+ ~Record () { }
+
+ Record (const Record& rec)
+ : id1_(rec.id1_), id2_(rec.id2_)
+ {
+ ACE_OS::strcpy (recName_, rec.name_);
+ this->name_ = recName_;
+ }
+ Record (int id1, int id2, char *name)
+ : id1_(id1), id2_(id2)
+ {
+ ACE_OS::strcpy (recName_, name);
+ this->name_ = recName_;
+ }
+ char *name (void) { return recName_; }
+ int id1 (void) { return id1_; }
+ int id2 (void) { return id2_; }
+
+private:
+ int id1_;
+ int id2_;
+ char recName_[128];
+ ACE_Based_Pointer_Basic<char> name_;
+};
+// Listing 11
+
+#endif /* __RECORD_H_ */
diff --git a/examples/APG/Shared_Memory/shared_memory.mpc b/examples/APG/Shared_Memory/shared_memory.mpc
new file mode 100644
index 00000000000..63a3ee5a385
--- /dev/null
+++ b/examples/APG/Shared_Memory/shared_memory.mpc
@@ -0,0 +1,34 @@
+project(*Hash Map) : aceexe {
+ exename = Hash_Map
+ Source_Files {
+ Hash_Map.cpp
+ }
+}
+
+project(Malloc) : aceexe {
+ exename = Malloc
+ Source_Files {
+ Malloc.cpp
+ }
+}
+
+project(Mem Map) : aceexe {
+ exename = Mem_Map
+ Source_Files {
+ Mem_Map.cpp
+ }
+}
+
+project(PI Malloc) : aceexe {
+ exename = PI_Malloc
+ Source_Files {
+ PI_Malloc.cpp
+ }
+}
+
+project(Pool Growth) : aceexe {
+ exename = Pool_Growth
+ Source_Files {
+ Pool_Growth.cpp
+ }
+}
diff --git a/examples/APG/Shared_Memory/shared_memory.mwc b/examples/APG/Shared_Memory/shared_memory.mwc
new file mode 100644
index 00000000000..1e352092a8c
--- /dev/null
+++ b/examples/APG/Shared_Memory/shared_memory.mwc
@@ -0,0 +1,3 @@
+workspace {
+ shared_memory.mpc
+}
diff --git a/examples/APG/Signals/Makefile b/examples/APG/Signals/Makefile
new file mode 100644
index 00000000000..acdd1bd39e3
--- /dev/null
+++ b/examples/APG/Signals/Makefile
@@ -0,0 +1,18 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = SigAction \
+ SigGuard \
+ SigHandler \
+ SigHandlers \
+ SigInfo
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Signals/SigAction.cpp b/examples/APG/Signals/SigAction.cpp
new file mode 100644
index 00000000000..78b505c7c19
--- /dev/null
+++ b/examples/APG/Signals/SigAction.cpp
@@ -0,0 +1,71 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+// Listing 1 code/ch11
+#include "ace/Signal.h"
+
+// Forward declaration.
+static void register_actions ();
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TRACE (ACE_TEXT ("::main"));
+
+ ::register_actions (); // Register actions to happen.
+
+ // This will be raised immediately.
+ ACE_OS::kill (ACE_OS::getpid(), SIGUSR2);
+
+ // This will pend until the first signal is completely
+ // handled and returns, because we masked it out
+ // in the registerAction call.
+ ACE_OS::kill (ACE_OS::getpid (), SIGUSR1);
+
+ while (ACE_OS::sleep (100) == -1)
+ {
+ if (errno == EINTR)
+ continue;
+ else
+ ACE_OS::exit (1);
+ }
+ return 0;
+}
+// Listing 1
+#if defined (ACE_HAS_SIG_C_FUNC)
+extern "C"
+#endif
+// Listing 3 code/ch11
+static void my_sighandler (int signo)
+{
+ ACE_TRACE (ACE_TEXT ("::my_sighandler"));
+
+ ACE_OS::kill (ACE_OS::getpid (), SIGUSR1);
+
+ if (signo == SIGUSR1)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Signal SIGUSR1\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Signal SIGUSR2\n")));
+
+ ACE_OS::sleep (10);
+}
+// Listing 3
+// Listing 2 code/ch11
+static void register_actions ()
+{
+ ACE_TRACE (ACE_TEXT ("::register_actions"));
+
+ ACE_Sig_Action sa (my_sighandler);
+
+ // Make sure we specify that SIGUSR1 will be masked out
+ // during the signal handler's execution.
+ ACE_Sig_Set ss;
+ ss.sig_add (SIGUSR1);
+ sa.mask (ss);
+
+ // Register the same handler function for these
+ // two signals.
+ sa.register_action (SIGUSR1);
+ sa.register_action (SIGUSR2);
+}
+// Listing 2
diff --git a/examples/APG/Signals/SigGuard.cpp b/examples/APG/Signals/SigGuard.cpp
new file mode 100644
index 00000000000..5ce08b3fbb1
--- /dev/null
+++ b/examples/APG/Signals/SigGuard.cpp
@@ -0,0 +1,42 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+
+// Listing 1
+class MySignalHandler : public ACE_Event_Handler
+ {
+ public:
+ virtual int handle_signal(int signo,
+ siginfo_t * = 0, ucontext_t * = 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Signal %d\n"), signo));
+ return 0;
+ }
+ };
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+
+ MySignalHandler sighandler;
+ ACE_Sig_Handler sh;
+ sh.register_handler (SIGUSR1, &sighandler);
+
+ ACE_Sig_Set ss;
+ ss.sig_add (SIGUSR1);
+
+ ACE_Sig_Guard guard (&ss);
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Entering critical region\n")));
+ ACE_OS::sleep (10);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Leaving critical region\n")));
+ }
+
+ // Do other stuff.
+
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Signals/SigHandler.cpp b/examples/APG/Signals/SigHandler.cpp
new file mode 100644
index 00000000000..8b116f47909
--- /dev/null
+++ b/examples/APG/Signals/SigHandler.cpp
@@ -0,0 +1,59 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+
+// Listing 1 code/ch11
+class MySignalHandler : public ACE_Event_Handler
+{
+public:
+ MySignalHandler (int signum) : signum_(signum)
+ { }
+
+ virtual ~MySignalHandler()
+ { }
+
+ virtual int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ ACE_TRACE (ACE_TEXT ("MySignalHandler::handle_signal"));
+
+ // Make sure the right handler was called back.
+ ACE_ASSERT (signum == this->signum_);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%S occured\n"), signum));
+ return 0;
+ }
+
+private:
+ int signum_;
+};
+// Listing 1
+// Listing 2 code/ch11
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ MySignalHandler h1 (SIGUSR1), h2 (SIGUSR2);
+ ACE_Sig_Handler handler;
+ handler.register_handler (SIGUSR1, &h1);
+ handler.register_handler (SIGUSR2, &h2);
+
+ ACE_OS::kill (ACE_OS::getpid (), SIGUSR1);
+ ACE_OS::kill (ACE_OS::getpid (), SIGUSR2);
+
+ int time = 10;
+ while ((time = ACE_OS::sleep (time)) == -1)
+ {
+ if (errno == EINTR)
+ continue;
+ else
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("sleep")), -1);
+ }
+ }
+ return 0;
+}
+// Listing 2
diff --git a/examples/APG/Signals/SigHandlers.cpp b/examples/APG/Signals/SigHandlers.cpp
new file mode 100644
index 00000000000..cb241841a36
--- /dev/null
+++ b/examples/APG/Signals/SigHandlers.cpp
@@ -0,0 +1,53 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+
+class MySignalHandler : public ACE_Event_Handler
+{
+public:
+ MySignalHandler (int signum) : signum_(signum)
+ { }
+
+ virtual ~MySignalHandler ()
+ { }
+
+ virtual int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0)
+ {
+ ACE_TRACE (ACE_TEXT ("MySignalHandler::handle_signal"));
+
+ // Make sure the right handler was called back..
+ ACE_ASSERT(signum == this->signum_);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d occured\n"), signum));
+
+ return 0;
+ }
+
+private:
+ int signum_;
+};
+
+// Listing 1 code/ch11
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ MySignalHandler h1 (SIGUSR1), h2 (SIGUSR1);
+ ACE_Sig_Handlers handler;
+ handler.register_handler (SIGUSR1, &h1);
+ handler.register_handler (SIGUSR1, &h2);
+
+ ACE_OS::kill (ACE_OS::getpid (), SIGUSR1);
+
+ int time = 10;
+ while ((time = ACE_OS::sleep (time)) == -1)
+ {
+ if (errno == EINTR)
+ continue;
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("sleep")), -1);
+ }
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Signals/SigInfo.cpp b/examples/APG/Signals/SigInfo.cpp
new file mode 100644
index 00000000000..9043c0b5bda
--- /dev/null
+++ b/examples/APG/Signals/SigInfo.cpp
@@ -0,0 +1,166 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ace/Reactor.h"
+#include "ace/Event_Handler.h"
+#include "ace/Signal.h"
+#include "ace/streams.h"
+#include "ace/OS_NS_unistd.h"
+
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+
+// Listing 1 code/ch11
+class MySignalHandler : public ACE_Event_Handler
+{
+public:
+ MySignalHandler () : ACE_Event_Handler()
+ { }
+
+ // Listing A code/ch11
+ int handle_signal (int signum,
+ siginfo_t * siginfo = 0,
+ ucontext_t * = 0)
+ {
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Received signal [%S]\n"),
+ signum));
+ if (siginfo == 0)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("No siginfo_t available for ")
+ ACE_TEXT ("signal [%S]\n"),
+ signum));
+ return 0;
+ }
+ // Listing A
+#if defined (__linux__)
+ // Listing B code/ch11
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("errno for this signal is %d [%s]\n"),
+ siginfo->si_errno,
+ strerror (siginfo->si_errno)));
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("signal was sent by process %d")
+ ACE_TEXT (" / user %d\n"),
+ siginfo->si_pid,
+ siginfo->si_uid));
+
+ switch (siginfo->si_code)
+ {
+ case SI_TIMER:
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Timer expiration\n")));
+ break;
+
+ case SI_USER:
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Sent by kill, sigsend or raise\n")));
+ break;
+
+ case SI_KERNEL:
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Sent by kernel\n")));
+ break;
+ // ...
+ };
+
+ // Listing B
+
+ // Listing C code/ch11
+ switch (signum)
+ {
+ case SIGFPE:
+ switch (siginfo->si_code)
+ {
+ case FPE_INTDIV:
+ case FPE_FLTDIV:
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Divide by zero at %@\n"),
+ siginfo->si_addr));
+ break;
+
+ case FPE_INTOVF:
+ case FPE_FLTOVF:
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Numeric overflow at %@\n"),
+ siginfo->si_addr));
+ break;
+
+ // ...
+ }
+ break;
+
+ // Listing C
+ // Listing D code/ch11
+ case SIGSEGV:
+ switch (siginfo->si_code)
+ {
+ // ...
+ };
+ break;
+ // Listing D
+
+ // Listing E code/ch11
+ case SIGCHLD:
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("A child process has exited\n")));
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("The child consumed %l/%l time\n"),
+ siginfo->si_utime,
+ siginfo->si_stime));
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("and exited with value %d\n"),
+ siginfo->si_status));
+ break;
+ // ...
+ }
+ // Listing E
+#endif /* __linux__ */
+ return 0;
+ }
+};
+// Listing 1
+
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+#if defined (ACE_LACKS_FORK)
+ puts ("This requires fork()\n");
+#else
+ // Create a child process so that we can test our
+ // ability to handle SIGCHLD
+
+ // Listing 2 code/ch11
+ ACE_Sig_Set signalSet;
+ signalSet.fill_set ();
+
+ MySignalHandler h1;
+ ACE_Reactor::instance ()->register_handler (signalSet, &h1);
+ pid_t childPid = ACE_OS::fork ();
+ if (childPid == 0) // This is the parent process.
+ {
+ // Exclude B
+ ACE_OS::sleep (10);
+ return 100;
+ // Exclude B
+ }
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ // Listing 2
+
+#endif /* ACE_LACKS_FORK */
+
+ return 0;
+}
+
+#else
+
+int
+ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "This example does not work on this platform.\n"));
+ return 1;
+}
+
+#endif /* !ACE_LACKS_UNIX_SIGNALS */
diff --git a/examples/APG/Signals/signals.mpc b/examples/APG/Signals/signals.mpc
new file mode 100644
index 00000000000..4eaa58375da
--- /dev/null
+++ b/examples/APG/Signals/signals.mpc
@@ -0,0 +1,34 @@
+project(SigAction) : aceexe {
+ exename = SigAction
+ Source_Files {
+ SigAction.cpp
+ }
+}
+
+project(SigGuard) : aceexe {
+ exename = SigGuard
+ Source_Files {
+ SigGuard.cpp
+ }
+}
+
+project(SigHandler) : aceexe {
+ exename = SigHandler
+ Source_Files {
+ SigHandler.cpp
+ }
+}
+
+project(SigHandlers) : aceexe {
+ exename = SigHandlers
+ Source_Files {
+ SigHandlers.cpp
+ }
+}
+
+project(SigInfo) : aceexe {
+ exename = SigInfo
+ Source_Files {
+ SigInfo.cpp
+ }
+}
diff --git a/examples/APG/Signals/signals.mwc b/examples/APG/Signals/signals.mwc
new file mode 100644
index 00000000000..8322d188d6d
--- /dev/null
+++ b/examples/APG/Signals/signals.mwc
@@ -0,0 +1,3 @@
+workspace {
+ signals.mpc
+}
diff --git a/examples/APG/Sockets/Basic.cpp b/examples/APG/Sockets/Basic.cpp
new file mode 100644
index 00000000000..d517a430b0a
--- /dev/null
+++ b/examples/APG/Sockets/Basic.cpp
@@ -0,0 +1,35 @@
+// $Id$
+
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Log_Msg.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Listing 1 code/ch06
+ ACE_INET_Addr srvr (50000, ACE_LOCALHOST);
+ // Listing 1
+
+ // Listing 2 code/ch06
+ ACE_SOCK_Connector connector;
+ ACE_SOCK_Stream peer;
+
+ if (-1 == connector.connect (peer, srvr))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("connect")), 1);
+ // Listing 2
+
+ int bc;
+ char buf[64];
+
+ // Listing 3 code/ch06
+ peer.send_n ("uptime\n", 7);
+ bc = peer.recv (buf, sizeof(buf));
+ write (1, buf, bc);
+ peer.close ();
+ // Listing 3
+
+ return (0);
+}
diff --git a/examples/APG/Sockets/Basic_Robust.cpp b/examples/APG/Sockets/Basic_Robust.cpp
new file mode 100644
index 00000000000..eee5e75b3a5
--- /dev/null
+++ b/examples/APG/Sockets/Basic_Robust.cpp
@@ -0,0 +1,136 @@
+// $Id$
+
+#include "ace/OS_NS_errno.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Log_Msg.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ /*
+ * Here we will use the default ctor and the set()
+ * method to configure it. After each set() we will
+ * display the address as a string and then connect
+ * to each respective server. We can reuse the addr
+ * instance once connection has been established.
+ *
+ // Listing 1 code/ch06
+ ACE_INET_Addr addr;
+ ...
+ addr.set ("HAStatus", ACE_LOCALHOST);
+ ...
+ addr.set ("HALog", ACE_LOCALHOST);
+ // Listing 1
+ *
+ */
+
+ ACE_INET_Addr addr;
+ ACE_TCHAR peerAddress[64];
+
+ // Listing 2 code/ch06
+ addr.set ("HAStatus", ACE_LOCALHOST);
+ if (addr.addr_to_string (peerAddress,
+ sizeof(peerAddress), 0) == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connecting to %s\n"),
+ peerAddress));
+ }
+ // Listing 2
+
+ // Listing 3 code/ch06
+ ACE_SOCK_Stream status;
+ ACE_OS::last_error(0);
+ ACE_SOCK_Connector statusConnector (status, addr);
+ if (ACE_OS::last_error())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("status")), 100);
+ // Listing 3
+
+ addr.set ("HALog", ACE_LOCALHOST);
+ if (addr.addr_to_string (peerAddress,
+ sizeof(peerAddress), 0) == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connecting to %s\n"),
+ peerAddress ));
+ }
+
+ // Listing 4 code/ch06
+ ACE_SOCK_Connector logConnector;
+ ACE_Time_Value timeout (10);
+ ACE_SOCK_Stream log;
+ if (logConnector.connect (log, addr, &timeout) == -1)
+ {
+ if (ACE_OS::last_error() == ETIME)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Timeout while ")
+ ACE_TEXT ("connecting to log server\n")));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("log")));
+ }
+ return (101);
+ }
+ // Listing 4
+
+ /*
+ * We generally let the OS pick our local port number but
+ * if you want, you can choose that also:
+ // Listing 5 code/ch06
+ ACE_SOCK_Connector logConnector;
+ ACE_INET_Addr local (4200, ACE_LOCALHOST);
+ if (logConnector.connect (log, addr, 0, local) == -1)
+ {
+ ...
+ // Listing 5
+ }
+ */
+
+ char buf[64];
+
+ // Listing 6 code/ch06
+ ACE_Time_Value sendTimeout (0, 5);
+ if (status.send_n ("uptime\n", 7, &sendTimeout) == -1)
+ {
+ if (ACE_OS::last_error() == ETIME)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Timeout while sending ")
+ ACE_TEXT ("query to status server\n")));
+ }
+ // Listing 6
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("send_n")));
+ }
+ return (102);
+ }
+
+ // Listing 7 code/ch06
+ ssize_t bc ;
+ ACE_Time_Value recvTimeout (0, 1);
+ if ((bc = status.recv (buf, sizeof(buf), &recvTimeout)) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("recv")));
+ return (103);
+ }
+
+ log.send_n (buf, bc);
+ // Listing 7
+
+ status.close ();
+ log.close ();
+
+ return (0);
+}
diff --git a/examples/APG/Sockets/Iovec.cpp b/examples/APG/Sockets/Iovec.cpp
new file mode 100644
index 00000000000..ad957c74af8
--- /dev/null
+++ b/examples/APG/Sockets/Iovec.cpp
@@ -0,0 +1,84 @@
+// $Id$
+
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Log_Msg.h"
+
+const char *UPTIME = "uptime";
+const char *HUMIDITY = "humidity";
+const char *TEMPERATURE = "temperature";
+
+void addCommand (iovec [], const char *)
+{}
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_INET_Addr srvr (50000, ACE_LOCALHOST);
+ ACE_SOCK_Connector connector;
+ ACE_SOCK_Stream peer;
+
+ ACE_ASSERT (connector.connect (peer, srvr) != -1);
+
+ ssize_t bc;
+
+ // Listing 1 code/ch06
+ iovec send[4];
+ send[0].iov_base = ACE_const_cast (ACE_TCHAR *, "up");
+ send[0].iov_len = 2;
+ send[1].iov_base = ACE_const_cast (ACE_TCHAR *, "time");
+ send[1].iov_len = 4;
+ send[2].iov_base = ACE_const_cast (ACE_TCHAR *, "\n");
+ send[2].iov_len = 1;
+
+ peer.sendv (send, 3);
+ // Listing 1
+
+ //
+ // A more clever approach would use something like this:
+ // Where the addCommand() method allocates and populates
+ // the query array from a set of global commands.
+ //
+ // Listing 2 code/ch06
+ iovec query[3];
+ addCommand (query, UPTIME);
+ addCommand (query, HUMIDITY);
+ addCommand (query, TEMPERATURE);
+ peer.sendv (query, 3);
+ // Listing 2
+
+ // Listing 3 code/ch06
+ iovec receive[2];
+ receive[0].iov_base = new char [32];
+ receive[0].iov_len = 32;
+ receive[1].iov_base = new char [64];
+ receive[1].iov_len = 64;
+
+ bc = peer.recvv (receive, 2);
+ // Listing 3
+
+ // Listing 4 code/ch06
+ for (int i = 0; i < 2 && bc > 0; ++i)
+ {
+ size_t wc = receive[i].iov_len;
+ if (ACE_static_cast (size_t, bc) < wc)
+ wc = ACE_static_cast (size_t, bc);
+ write (1, receive[i].iov_base, wc);
+ bc -= receive[i].iov_len;
+ delete []
+ (ACE_reinterpret_cast (char *, receive[i].iov_base));
+ }
+ // Listing 4
+
+ // Listing 5 code/ch06
+ peer.send_n ("uptime\n", 7);
+ iovec response;
+ peer.recvv (&response);
+ write (1, response.iov_base, response.iov_len);
+ delete [] ACE_reinterpret_cast (char *, response.iov_base);
+ // Listing 5
+
+ peer.close ();
+
+ return (0);
+}
diff --git a/examples/APG/Sockets/Makefile b/examples/APG/Sockets/Makefile
new file mode 100644
index 00000000000..6a21c53c460
--- /dev/null
+++ b/examples/APG/Sockets/Makefile
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Basic Basic_Robust Iovec Server
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Sockets/Server.cpp b/examples/APG/Sockets/Server.cpp
new file mode 100644
index 00000000000..dbd21abc717
--- /dev/null
+++ b/examples/APG/Sockets/Server.cpp
@@ -0,0 +1,94 @@
+// $Id$
+
+#include "ace/os_include/os_netdb.h"
+#include "ace/OS_NS_errno.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Log_Msg.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Listing 1 code/ch06
+ ACE_INET_Addr port_to_listen ("HAStatus");
+ ACE_SOCK_Acceptor acceptor;
+
+ if (acceptor.open (port_to_listen, 1) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("acceptor.open")),
+ 100);
+ // Listing 1
+
+ /*
+ * The complete open signature:
+ *
+ // Listing 2 code/ch06
+ int open (const ACE_Addr &local_sap,
+ int reuse_addr = 0,
+ int protocol_family = PF_INET,
+ int backlog = ACE_DEFAULT_BACKLOG,
+ int protocol = 0);
+ // Listing 2
+ *
+ */
+
+ while (1)
+ {
+ ACE_SOCK_Stream peer;
+ ACE_INET_Addr peer_addr;
+ ACE_Time_Value timeout (10, 0);
+
+ /*
+ * Basic acceptor usage
+ */
+#if 0
+ // Listing 3 code/ch06
+ if (acceptor.accept (peer) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Failed to accept ")
+ ACE_TEXT ("client connection\n")),
+ 100);
+ // Listing 3
+#endif /* 0 */
+
+ // Listing 4 code/ch06
+ if (acceptor.accept (peer, &peer_addr, &timeout, 0) == -1)
+ {
+ if (ACE_OS::last_error() == EINTR)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Interrupted while ")
+ ACE_TEXT ("waiting for connection\n")));
+ else
+ if (ACE_OS::last_error() == ETIMEDOUT)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Timeout while ")
+ ACE_TEXT ("waiting for connection\n")));
+ }
+ // Listing 4
+ // Listing 5 code/ch06
+ else
+ {
+ ACE_TCHAR peer_name[MAXHOSTNAMELEN];
+ peer_addr.addr_to_string (peer_name, MAXHOSTNAMELEN);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connection from %s\n"),
+ peer_name));
+ // Listing 5
+ // Listing 7 code/ch06
+ char buffer[4096];
+ ssize_t bytes_received;
+
+ while ((bytes_received =
+ peer.recv (buffer, sizeof(buffer))) != -1)
+ {
+ peer.send_n (buffer, bytes_received);
+ }
+
+ peer.close ();
+ // Listing 7
+ }
+ }
+
+ ACE_NOTREACHED (return 0);
+}
diff --git a/examples/APG/Sockets/sockets.mpc b/examples/APG/Sockets/sockets.mpc
new file mode 100644
index 00000000000..14d868563a3
--- /dev/null
+++ b/examples/APG/Sockets/sockets.mpc
@@ -0,0 +1,27 @@
+project(*Basic) : aceexe {
+ exename = Basic
+ Source_Files {
+ Basic.cpp
+ }
+}
+
+project(*Basic Robust) : aceexe {
+ exename = Basic_Robust
+ Source_Files {
+ Basic_Robust.cpp
+ }
+}
+
+project(*Iovec) : aceexe {
+ exename = Iovec
+ Source_Files {
+ Iovec.cpp
+ }
+}
+
+project(*Server) : aceexe {
+ exename = Server
+ Source_Files {
+ Server.cpp
+ }
+}
diff --git a/examples/APG/Sockets/sockets.mwc b/examples/APG/Sockets/sockets.mwc
new file mode 100644
index 00000000000..48e1c08afdc
--- /dev/null
+++ b/examples/APG/Sockets/sockets.mwc
@@ -0,0 +1,3 @@
+workspace {
+ sockets.mpc
+}
diff --git a/examples/APG/Streams/Answerer.cpp b/examples/APG/Streams/Answerer.cpp
new file mode 100644
index 00000000000..f3b709c7a28
--- /dev/null
+++ b/examples/APG/Streams/Answerer.cpp
@@ -0,0 +1,403 @@
+/**
+ * $Id$
+ *
+ * Streams Listing 01
+ *
+ * An answering machine based on a one-way ACE_Stream
+ */
+
+#include "ace/OS_NS_string.h"
+#include "ace/Stream.h"
+#include "ace/Message_Block.h"
+#include "ace/FILE_IO.h"
+
+#include "MessageInfo.h"
+#include "Message.h"
+#include "BasicTask.h"
+#include "EndTask.h"
+#include "Util.h"
+#include "RecordingDevice.h"
+
+// Listing 21 code/ch18
+class AnswerIncomingCall : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("AnswerIncomingCall::process()"));
+
+ if (message->recorder ()->answer_call () < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("AnswerIncomingCall")),
+ -1);
+ return 0;
+ }
+};
+// Listing 21
+
+// Listing 22 code/ch18
+class GetCallerId : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("GetCallerId::process()"));
+
+ CallerId *id;
+ id = message->recorder ()->retrieve_callerId ();
+ if (!id)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("GetCallerId")),
+ -1);
+
+ message->caller_id (id);
+ return 0;
+ }
+};
+// Listing 22
+
+// Listing 23 code/ch18
+class PlayOutgoingMessage : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("PlayOutgoingMessage::process()"));
+
+ ACE_FILE_Addr outgoing_message =
+ this->get_outgoing_message (message);
+
+ int pmrv =
+ message->recorder ()->play_message (outgoing_message);
+ if (pmrv < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("PlayOutgoingMessage")),
+ -1);
+ return 0;
+ }
+
+ ACE_FILE_Addr get_outgoing_message (Message *)
+ {
+ // Exclude 23
+ return ACE_FILE_Addr ("/tmp/outgoing_message");
+ // Exclude 23
+ }
+};
+// Listing 23
+
+// Listing 24 code/ch18
+class RecordIncomingMessage : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("RecordIncomingMessage::process()"));
+
+ ACE_FILE_Addr incoming_message =
+ this->get_incoming_message_queue ();
+
+ MessageType *type =
+ message->recorder ()->record_message (incoming_message);
+ if (!type)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("RecordIncomingMessage")),
+ -1);
+ message->incoming_message (incoming_message, type);
+ return 0;
+ }
+
+ ACE_FILE_Addr get_incoming_message_queue (void)
+ {
+ // Exclude 24
+ return ACE_FILE_Addr ("/tmp/incoming_message");
+ // Exclude 24
+ }
+};
+// Listing 24
+
+// Listing 25 code/ch18
+class ReleaseDevice : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("ReleaseDevice::process()"));
+ message->recorder ()->release ();
+ return 0;
+ }
+};
+// Listing 25
+
+// Listing 26 code/ch18
+class EncodeMessage : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("ReleaseDevice::process()"));
+
+ ACE_FILE_Addr &incoming = message->addr ();
+ ACE_FILE_Addr addr = this->get_message_destination (message);
+
+ if (message->is_text ())
+ Util::convert_to_unicode (incoming, addr);
+ else if (message->is_audio ())
+ Util::convert_to_mp3 (incoming, addr);
+ else if (message->is_video ())
+ Util::convert_to_mpeg (incoming, addr);
+
+ message->addr (addr);
+ return 0;
+ }
+
+ ACE_FILE_Addr get_message_destination (Message *)
+ {
+ // Exclude 26
+ return ACE_FILE_Addr ("/tmp/encoded_message");
+ // Exclude 26
+ }
+};
+// Listing 26
+
+// Listing 27 code/ch18
+class SaveMetaData : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("SaveMetaData::process()"));
+
+ ACE_CString path (message->addr ().get_path_name ());
+ path += ".xml";
+
+ ACE_FILE_Connector connector;
+ ACE_FILE_IO file;
+ ACE_FILE_Addr addr (path.c_str ());
+ if (connector.connect (file, addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("create meta-data file")),
+ 0);
+
+ file.truncate (0);
+ this->write (file, "<Message>\n");
+ // ...
+ this->write (file, "</Message>\n");
+ file.close ();
+ return 0;
+ }
+
+private:
+ int write (ACE_FILE_IO &file, const char *str)
+ {
+ return file.send (str, ACE_OS::strlen (str));
+ }
+};
+// Listing 27
+
+// Listing 28 code/ch18
+class NotifySomeone : public BasicTask
+{
+protected:
+ virtual int process (Message *message)
+ {
+ ACE_TRACE (ACE_TEXT ("NotifySomeone::process()"));
+
+ // Format an email to tell someone about the
+ // newly received message.
+ // ...
+
+ // Display message information in the logfile
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("New message from %s ")
+ ACE_TEXT ("received and stored at %s\n"),
+ message->caller_id ()->string (),
+ message->addr ().get_path_name ()));
+ return 0;
+ }
+};
+// Listing 28
+
+// Listing 10 code/ch18
+class RecordingStream : public ACE_Stream<ACE_MT_SYNCH>
+{
+public:
+ typedef ACE_Stream<ACE_MT_SYNCH> inherited;
+ typedef ACE_Module<ACE_MT_SYNCH> Module;
+
+ RecordingStream () : inherited()
+ { }
+// Listing 10
+
+ // Listing 1000 code/ch18
+ virtual int open (void *arg,
+ Module *head = 0, Module *tail = 0)
+ {
+ if (tail == 0)
+ ACE_NEW_RETURN (tail,
+ Module ("End Module", new EndTask ()),
+ -1);
+ this->inherited::open (arg, head, tail);
+ // Listing 1000
+
+ // Listing 1001 code/ch18
+ Module *answerIncomingCallModule;
+ ACE_NEW_RETURN (answerIncomingCallModule,
+ Module ("Answer Incoming Call",
+ new AnswerIncomingCall ()),
+ -1);
+
+ // Listing 11 code/ch18
+ Module *getCallerIdModule;
+ ACE_NEW_RETURN (getCallerIdModule,
+ Module ("Get Caller ID", new GetCallerId ()),
+ -1);
+ // Listing 11
+
+ Module *playOGMModule;
+ ACE_NEW_RETURN (playOGMModule,
+ Module ("Play Outgoing Message",
+ new PlayOutgoingMessage ()),
+ -1);
+
+ Module *recordModule;
+ ACE_NEW_RETURN (recordModule,
+ Module ("Record Incoming Message",
+ new RecordIncomingMessage ()),
+ -1);
+
+ Module *releaseModule;
+ ACE_NEW_RETURN (releaseModule,
+ Module ("Release Device",
+ new ReleaseDevice ()),
+ -1);
+
+ Module *conversionModule;
+ ACE_NEW_RETURN (conversionModule,
+ Module ("Encode Message",
+ new EncodeMessage ()),
+ -1);
+
+ Module *saveMetaDataModule;
+ ACE_NEW_RETURN (saveMetaDataModule,
+ Module ("Save Meta-Data",
+ new SaveMetaData ()),
+ -1);
+
+ Module *notificationModule;
+ ACE_NEW_RETURN (notificationModule,
+ Module ("Notify Someone",
+ new NotifySomeone ()),
+ -1);
+ // Listing 1001
+
+ // Listing 12 code/ch18
+ if (this->push (notificationModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("notificationModule")),
+ -1);
+ if (this->push (saveMetaDataModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("saveMetaDataModule")),
+ -1);
+ if (this->push (conversionModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("conversionModule")),
+ -1);
+ if (this->push (releaseModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("releaseModule")),
+ -1);
+ if (this->push (recordModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("recordModule")),
+ -1);
+ if (this->push (playOGMModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("playOGMModule")),
+ -1);
+ if (this->push (getCallerIdModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT ("getCallerIdModule")),
+ -1);
+ if (this->push (answerIncomingCallModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n")
+ ACE_TEXT ("answerIncomingCallModule")),
+ -1);
+ // Listing 12
+
+ return 0;
+ }
+
+ // Listing 13 code/ch18
+ int record (RecordingDevice *recorder)
+ {
+ ACE_Message_Block * mb;
+ ACE_NEW_RETURN (mb, ACE_Message_Block (sizeof(Message)), -1);
+
+ Message *message = (Message *)mb->wr_ptr ();
+ mb->wr_ptr (sizeof(Message));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("RecordingStream::record() - ")
+ ACE_TEXT ("message->recorder(recorder)\n")));
+ message->recorder (recorder);
+
+ int rval = this->put (mb);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("RecordingStream::record() - ")
+ ACE_TEXT ("this->put() returns %d\n"),
+ rval));
+ return rval;
+ }
+ // Listing 13
+};
+
+
+// Listing 1 code/ch18
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ RecordingDevice *recorder =
+ RecordingDeviceFactory::instantiate (argc, argv);
+ // Listing 1
+
+ // Listing 2 code/ch18
+ RecordingStream *recording_stream;
+ ACE_NEW_RETURN (recording_stream, RecordingStream, -1);
+
+ if (recording_stream->open (0) < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("RecordingStream->open()")),
+ 0);
+ // Listing 2
+
+ // Listing 3 code/ch18
+ for (;;)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Waiting for incoming message\n")));
+ RecordingDevice *activeRecorder =
+ recorder->wait_for_activity ();
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Initiating recording process\n")));
+
+ recording_stream->record (activeRecorder);
+ }
+ // Listing 3
+
+ return 0;
+}
diff --git a/examples/APG/Streams/BasicTask.h b/examples/APG/Streams/BasicTask.h
new file mode 100644
index 00000000000..86ac180925f
--- /dev/null
+++ b/examples/APG/Streams/BasicTask.h
@@ -0,0 +1,144 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef BASIC_TASK_H
+#define BASIC_TASK_H
+
+#include "ace/Task_T.h"
+#include "ace/ace_wchar.h"
+
+// Listing 100 code/ch18
+class BasicTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ typedef ACE_Task<ACE_MT_SYNCH> inherited;
+
+ BasicTask () : inherited()
+ { }
+
+ virtual int open (void * = 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("BasicTask::open() starting ")
+ ACE_TEXT ("%d threads\n"),
+ this->desired_threads ()));
+
+ return this->activate (THR_NEW_LWP | THR_JOINABLE,
+ this->desired_threads ());
+ }
+ // Listing 100
+
+ // Listing 101 code/ch18
+ int put (ACE_Message_Block *message,
+ ACE_Time_Value *timeout)
+ {
+ return this->putq (message, timeout);
+ }
+ // Listing 101
+
+ // Listing 1020 code/ch18
+ virtual int svc (void)
+ {
+ for (ACE_Message_Block *message = 0; ; )
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("BasicTask::svc() - ")
+ ACE_TEXT ("waiting for work\n" )));
+
+ if (this->getq (message) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("getq")),
+ -1);
+ // Listing 1020
+
+ // Listing 1021 code/ch18
+ if (message->msg_type () == ACE_Message_Block::MB_HANGUP)
+ {
+ if (this->putq (message->duplicate ()) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Task::svc() putq")),
+ -1);
+ }
+ message->release ();
+ break;
+ }
+ // Listing 1021
+
+ // Listing 1022 code/ch18
+ Message *recordedMessage =
+ (Message *)message->rd_ptr ();
+
+ if (this->process (recordedMessage) == -1)
+ {
+ message->release ();
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("process")),
+ -1);
+ }
+ // Listing 1022
+
+ // Listing 1023 code/ch18
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("BasicTask::svc() - ")
+ ACE_TEXT ("Continue to next stage\n" )));
+
+ if (this->next_step (message->duplicate ()) < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("put_next failed")),
+ -1);
+
+ message->release ();
+ // Listing 1023
+ }
+
+ return 0;
+ }
+
+ // Listing 103 code/ch18
+ virtual int close (u_long flags)
+ {
+ int rval = 0;
+
+ if (flags == 1)
+ {
+ ACE_Message_Block *hangup = new ACE_Message_Block ();
+ hangup->msg_type (ACE_Message_Block::MB_HANGUP);
+ if (this->putq (hangup->duplicate ()) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Task::close() putq")),
+ -1);
+ }
+
+ hangup->release ();
+ rval = this->wait ();
+ }
+
+ return rval;
+ }
+ // Listing 103
+
+ // Listing 105 code/ch18
+protected:
+ virtual int next_step (ACE_Message_Block *message_block)
+ {
+ return this->put_next (message_block->duplicate ());
+ }
+ // Listing 105
+
+ // Listing 104 code/ch18
+ virtual int process (Message *message) = 0;
+
+ virtual int desired_threads (void)
+ {
+ return 1;
+ }
+};
+// Listing 104
+
+#endif /* BASIC_TASK_H */
diff --git a/examples/APG/Streams/Command.h b/examples/APG/Streams/Command.h
new file mode 100644
index 00000000000..63acb4bbb9c
--- /dev/null
+++ b/examples/APG/Streams/Command.h
@@ -0,0 +1,40 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef COMMAND_H
+#define COMMAND_H
+
+#include "ace/SString.h"
+#include "ace/Message_Block.h"
+
+// Listing 01 code/ch18
+class Command : public ACE_Data_Block
+{
+public:
+ // Result Values
+ enum {
+ RESULT_PASS = 1,
+ RESULT_SUCCESS = 0,
+ RESULT_FAILURE = -1
+ };
+
+ // Commands
+ enum {
+ CMD_UNKNOWN = -1,
+ CMD_ANSWER_CALL = 10,
+ CMD_RETRIEVE_CALLER_ID,
+ CMD_PLAY_MESSAGE,
+ CMD_RECORD_MESSAGE
+ } commands;
+
+ int flags_;
+ int command_;
+
+ void *extra_data_;
+
+ int numeric_result_;
+ ACE_CString result_;
+};
+// Listing 01
+
+#endif /* COMMAND_H */
diff --git a/examples/APG/Streams/CommandModule.cpp b/examples/APG/Streams/CommandModule.cpp
new file mode 100644
index 00000000000..9ee5a92918a
--- /dev/null
+++ b/examples/APG/Streams/CommandModule.cpp
@@ -0,0 +1,20 @@
+// $Id$
+
+#include "CommandModule.h"
+
+// Listing 01 code/ch18
+CommandModule::CommandModule (const ACE_TCHAR *module_name,
+ CommandTask *writer,
+ CommandTask *reader,
+ ACE_SOCK_Stream *peer)
+ : inherited(module_name, writer, reader, peer)
+{ }
+// Listing 01
+
+// Listing 02 code/ch18
+ACE_SOCK_Stream &CommandModule::peer (void)
+{
+ ACE_SOCK_Stream *peer = (ACE_SOCK_Stream *)this->arg ();
+ return *peer;
+}
+// Listing 02
diff --git a/examples/APG/Streams/CommandModule.h b/examples/APG/Streams/CommandModule.h
new file mode 100644
index 00000000000..7fe65b81f78
--- /dev/null
+++ b/examples/APG/Streams/CommandModule.h
@@ -0,0 +1,27 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef COMMAND_MODULE_H
+#define COMMAND_MODULE_H
+
+#include "ace/Module.h"
+#include "ace/SOCK_Stream.h"
+#include "CommandTask.h"
+
+// Listing 01 code/ch18
+class CommandModule : public ACE_Module<ACE_MT_SYNCH>
+{
+public:
+ typedef ACE_Module<ACE_MT_SYNCH> inherited;
+ typedef ACE_Task<ACE_MT_SYNCH> Task;
+
+ CommandModule (const ACE_TCHAR *module_name,
+ CommandTask *writer,
+ CommandTask *reader,
+ ACE_SOCK_Stream *peer);
+
+ ACE_SOCK_Stream &peer (void);
+};
+// Listing 01
+
+#endif /* COMMAND_MODULE_H */
diff --git a/examples/APG/Streams/CommandStream.cpp b/examples/APG/Streams/CommandStream.cpp
new file mode 100644
index 00000000000..523287bcba3
--- /dev/null
+++ b/examples/APG/Streams/CommandStream.cpp
@@ -0,0 +1,97 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ace/OS_Memory.h"
+#include "CommandStream.h"
+#include "Command.h"
+#include "CommandModule.h"
+#include "CommandTasks.h"
+
+// Gotcha: superclass' open() won't open head/tail modules
+// Gotcha!! Must open the stream before pushing modules!
+
+// Listing 01 code/ch18
+int CommandStream::open (void *arg,
+ ACE_Module<ACE_MT_SYNCH> *head,
+ ACE_Module<ACE_MT_SYNCH> *tail)
+{
+ ACE_TRACE (ACE_TEXT ("CommandStream::open(peer)"));
+
+ if (this->inherited::open (arg, head, tail) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Failed to open superclass")),
+ -1);
+ // Listing 01
+
+ // Listing 02 code/ch18
+ CommandModule *answerCallModule;
+ ACE_NEW_RETURN (answerCallModule,
+ AnswerCallModule (this->peer_),
+ -1);
+
+ CommandModule *retrieveCallerIdModule;
+ ACE_NEW_RETURN (retrieveCallerIdModule,
+ RetrieveCallerIdModule (this->peer_),
+ -1);
+
+ CommandModule *playMessageModule;
+ ACE_NEW_RETURN (playMessageModule,
+ PlayMessageModule (this->peer_),
+ -1);
+
+ CommandModule *recordMessageModule;
+ ACE_NEW_RETURN (recordMessageModule,
+ RecordMessageModule (this->peer_),
+ -1);
+ // Listing 02
+
+ // Listing 03 code/ch18
+ if (this->push (answerCallModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT (answerCallModule->name())),
+ -1);
+
+ if (this->push (retrieveCallerIdModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT (retrieveCallerIdModule->name())),
+ -1);
+
+ if (this->push (playMessageModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT (playMessageModule->name())),
+ -1);
+
+ if (this->push (recordMessageModule) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Failed to push %p\n"),
+ ACE_TEXT (recordMessageModule->name())),
+ -1);
+ // Listing 03
+ return 0;
+}
+
+// Listing 04 code/ch18
+Command *CommandStream::execute (Command *command)
+{
+ ACE_Message_Block *mb;
+ ACE_NEW_RETURN (mb, ACE_Message_Block (command), 0);
+ if (this->put (mb) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Fail on put command %d: %p\n"),
+ command->command_,
+ ACE_TEXT ("")),
+ 0);
+
+ this->get (mb);
+ command = (Command *)mb->data_block ();
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Command (%d) returns (%d)\n"),
+ command->command_,
+ command->numeric_result_));
+
+ return command;
+}
+// Listing 04
diff --git a/examples/APG/Streams/CommandStream.h b/examples/APG/Streams/CommandStream.h
new file mode 100644
index 00000000000..97e9e673f7c
--- /dev/null
+++ b/examples/APG/Streams/CommandStream.h
@@ -0,0 +1,44 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef COMMAND_STREAM_H
+#define COMMAND_STREAM_H
+
+#include "ace/Module.h"
+#include "ace/Stream.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/Synch_Traits.h"
+
+#include "Command.h"
+
+// A CommandStream is a bidirectional ACE_Stream implementing a chain
+// of commands. A message will move down the stream until a
+// CommandModule is capable of processing it. After processing, it
+// will move on down the stream to the end. Data received from the
+// tail will likewise move up the stream until the downstream's
+// partner module is encoutered. The retrieved data will be processed
+// and continue on up the stream.
+
+// Listing 01 code/ch18
+class CommandStream : public ACE_Stream<ACE_MT_SYNCH>
+{
+public:
+ typedef ACE_Stream<ACE_MT_SYNCH> inherited;
+
+ CommandStream (ACE_SOCK_Stream *peer)
+ : inherited (), peer_(peer) { }
+
+ virtual int open (void *arg,
+ ACE_Module<ACE_MT_SYNCH> *head = 0,
+ ACE_Module<ACE_MT_SYNCH> *tail = 0);
+
+ Command *execute (Command *command);
+
+private:
+ CommandStream () { }
+
+ ACE_SOCK_Stream *peer_;
+};
+// Listing 01
+
+#endif /* COMMAND_STREAM_H */
diff --git a/examples/APG/Streams/CommandTask.cpp b/examples/APG/Streams/CommandTask.cpp
new file mode 100644
index 00000000000..79dde4693c4
--- /dev/null
+++ b/examples/APG/Streams/CommandTask.cpp
@@ -0,0 +1,153 @@
+// $Id$
+
+#include "CommandTask.h"
+
+// Listing 01 code/ch18
+CommandTask::CommandTask (int command)
+ : inherited (), command_(command)
+{ }
+// Listing 01
+
+// Listing 02 code/ch18
+int CommandTask::open (void *)
+{
+ return this->activate ();
+}
+// Listing 02
+
+// Listing 03 code/ch18
+int CommandTask::put (ACE_Message_Block *message,
+ ACE_Time_Value *timeout)
+{
+ return this->putq (message, timeout);
+}
+// Listing 03
+
+// Listing 04 code/ch18
+int CommandTask::process (Command *)
+{
+ ACE_TRACE (ACE_TEXT ("CommandTask::process()"));
+ return Command::RESULT_FAILURE;
+}
+// Listing 04
+
+// Listing 05 code/ch18
+int CommandTask::close (u_long flags)
+{
+ int rval = 0;
+ if (flags == 1)
+ {
+ ACE_Message_Block *hangup = new ACE_Message_Block;
+ hangup->msg_type (ACE_Message_Block::MB_HANGUP);
+ if (this->putq (hangup->duplicate ()) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Task::close() putq")),
+ -1);
+ }
+
+ hangup->release ();
+ rval = this->wait ();
+ }
+
+ return rval;
+}
+// Listing 05
+
+// Listing 06 code/ch18
+// Listing 061 code/ch18
+int CommandTask::svc (void)
+{
+ ACE_Message_Block *message;
+
+ for (;;)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("CommandTask::svc() - ")
+ ACE_TEXT ("%s waiting for work\n"),
+ this->module ()->name ()));
+
+ if (this->getq (message) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("getq")),
+ -1);
+
+ if (message->msg_type () == ACE_Message_Block::MB_HANGUP)
+ {
+ if (this->putq (message->duplicate ()) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Task::svc() putq")),
+ -1);
+ }
+
+ message->release ();
+ break;
+ }
+ // Listing 061
+
+ // Listing 062 code/ch18
+ Command *command = (Command *)message->data_block ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("CommandTask::svc() - ")
+ ACE_TEXT ("%s got work request %d\n"),
+ ACE_TEXT (this->module ()->name ()),
+ command->command_));
+
+ if (command->command_ != this->command_)
+ {
+ this->put_next (message->duplicate ());
+ }
+ // Listing 062
+ // Listing 063 code/ch18
+ else
+ {
+ int result = this->process (command);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("CommandTask::svc() - ")
+ ACE_TEXT ("%s work request %d result is %d\n"),
+ ACE_TEXT (this->module ()->name ()),
+ command->command_,
+ result));
+
+ if (result == Command::RESULT_FAILURE)
+ {
+ command->numeric_result_ = -1;
+ }
+ // Listing 063
+ // Listing 064 code/ch18
+ else if (result == Command::RESULT_PASS)
+ {
+ this->put_next (message->duplicate ());
+ }
+ // Listing 064
+ // Listing 065 code/ch18
+ else // result == Command::RESULT_SUCCESS
+ {
+ if (this->is_writer ())
+ {
+ this->sibling ()->putq
+ (message->duplicate ());
+ }
+ // Listing 065
+ // Listing 066 code/ch18
+ else // this->is_reader ()
+ {
+ this->put_next (message->duplicate ());
+ }
+ // Listing 066
+ } // result == ...
+ } // command->command_ ? = this->command_
+
+ // Listing 067 code/ch18
+ message->release ();
+ } // for (;;)
+
+ return 0;
+}
+// Listing 067
+// Listing 06
diff --git a/examples/APG/Streams/CommandTask.h b/examples/APG/Streams/CommandTask.h
new file mode 100644
index 00000000000..ae78017b0f9
--- /dev/null
+++ b/examples/APG/Streams/CommandTask.h
@@ -0,0 +1,39 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef COMMAND_TASK_H
+#define COMMAND_TASK_H
+
+#include "ace/Task.h"
+#include "ace/Module.h"
+
+#include "Command.h"
+
+// Listing 01 code/ch18
+class CommandTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ typedef ACE_Task<ACE_MT_SYNCH> inherited;
+
+ virtual ~CommandTask () { }
+
+ virtual int open (void * = 0 );
+
+ int put (ACE_Message_Block *message,
+ ACE_Time_Value *timeout);
+
+ virtual int svc (void);
+
+ virtual int close (u_long flags);
+
+protected:
+ CommandTask (int command);
+
+ virtual int process (Command *message);
+
+ int command_;
+};
+// Listing 01
+
+
+#endif /* COMMAND_TASK_H */
diff --git a/examples/APG/Streams/CommandTasks.cpp b/examples/APG/Streams/CommandTasks.cpp
new file mode 100644
index 00000000000..d27b1356c53
--- /dev/null
+++ b/examples/APG/Streams/CommandTasks.cpp
@@ -0,0 +1,221 @@
+// $Id$
+
+#include "ace/FILE_Addr.h"
+#include "ace/FILE_Connector.h"
+#include "ace/FILE_IO.h"
+
+#include "Command.h"
+#include "CommandTasks.h"
+#include "RecordingDevice_Text.h"
+
+// Listing 011 code/ch18
+AnswerCallModule::AnswerCallModule (ACE_SOCK_Stream *peer)
+ : CommandModule ("AnswerCall Module",
+ new AnswerCallDownstreamTask (),
+ new AnswerCallUpstreamTask (),
+ peer)
+{ }
+// Listing 011
+// Listing 012 code/ch18
+AnswerCallDownstreamTask::AnswerCallDownstreamTask (void)
+ : CommandTask(Command::CMD_ANSWER_CALL)
+{ }
+// Listing 012
+// Listing 013 code/ch18
+int AnswerCallDownstreamTask::process (Command *command)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Answer Call (downstream)\n")));
+
+ TextListenerAcceptor *acceptor =
+ (TextListenerAcceptor *)command->extra_data_;
+
+ CommandModule *module =
+ (CommandModule*)this->module ();
+
+ command->numeric_result_ =
+ acceptor->accept (module->peer ());
+
+ acceptor->release ();
+ return Command::RESULT_SUCCESS;
+}
+// Listing 013
+// Listing 014 code/ch18
+AnswerCallUpstreamTask::AnswerCallUpstreamTask (void)
+ : CommandTask(Command::CMD_ANSWER_CALL)
+{ }
+// Listing 014
+// Listing 015 code/ch18
+int AnswerCallUpstreamTask::process (Command *)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Answer Call (upstream)\n")));
+
+ return Command::RESULT_SUCCESS;
+}
+// Listing 015
+
+// Listing 021 code/ch18
+RetrieveCallerIdModule::RetrieveCallerIdModule
+ (ACE_SOCK_Stream *peer)
+ : CommandModule ("RetrieveCallerId Module",
+ new RetrieveCallerIdDownstreamTask (),
+ new RetrieveCallerIdUpstreamTask (),
+ peer)
+{ }
+// Listing 021
+// Listing 022 code/ch18
+RetrieveCallerIdDownstreamTask::RetrieveCallerIdDownstreamTask
+ (void)
+ : CommandTask(Command::CMD_RETRIEVE_CALLER_ID)
+{ }
+
+int RetrieveCallerIdDownstreamTask::process (Command *)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Retrieving Caller ID data\n")));
+
+ return Command::RESULT_SUCCESS;
+}
+// Listing 022
+// Listing 023 code/ch18
+RetrieveCallerIdUpstreamTask::RetrieveCallerIdUpstreamTask
+ (void)
+ : CommandTask(Command::CMD_RETRIEVE_CALLER_ID)
+{ }
+
+int RetrieveCallerIdUpstreamTask::process (Command *command)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Returning Caller ID data\n")));
+
+ ACE_INET_Addr remote_addr;
+
+ CommandModule *module =
+ (CommandModule*)this->module ();
+
+ module->peer ().get_remote_addr (remote_addr);
+ ACE_TCHAR remote_addr_str[256];
+ remote_addr.addr_to_string (remote_addr_str, 256);
+ command->result_ = ACE_CString (remote_addr_str);
+
+ return Command::RESULT_SUCCESS;
+}
+// Listing 023
+
+PlayMessageModule::PlayMessageModule (ACE_SOCK_Stream *peer)
+ : CommandModule ("PlayMessage Module",
+ new PlayMessageDownstreamTask (),
+ new PlayMessageUpstreamTask (),
+ peer)
+{ }
+
+PlayMessageDownstreamTask::PlayMessageDownstreamTask (void)
+ : CommandTask(Command::CMD_PLAY_MESSAGE)
+{ }
+// Listing 032 code/ch18
+int PlayMessageDownstreamTask::process (Command *command)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Play Outgoing Message\n")));
+
+ ACE_FILE_Connector connector;
+ ACE_FILE_IO file;
+
+ ACE_FILE_Addr *addr =
+ (ACE_FILE_Addr *)command->extra_data_;
+
+ if (connector.connect (file, *addr) == -1)
+ {
+ command->numeric_result_ = -1;
+ }
+ else
+ {
+ command->numeric_result_ = 0;
+
+ CommandModule *module =
+ (CommandModule*)this->module ();
+
+ char rwbuf[512];
+ int rwbytes;
+ while ((rwbytes = file.recv (rwbuf, 512)) > 0)
+ {
+ module->peer ().send_n (rwbuf, rwbytes);
+ }
+ }
+
+ return Command::RESULT_SUCCESS;
+}
+// Listing 032
+PlayMessageUpstreamTask::PlayMessageUpstreamTask (void)
+ : CommandTask(Command::CMD_PLAY_MESSAGE)
+{ }
+
+int PlayMessageUpstreamTask::process (Command *command)
+{
+ ACE_FILE_Addr * addr =
+ (ACE_FILE_Addr *)command->extra_data_;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Outgoing message (%s) sent\n"),
+ ACE_TEXT (addr->get_path_name ())));
+
+ return Command::RESULT_SUCCESS;
+}
+
+RecordMessageModule::RecordMessageModule (ACE_SOCK_Stream *peer)
+ : CommandModule ("RecordMessage Module",
+ new RecordMessageDownstreamTask (),
+ new RecordMessageUpstreamTask (),
+ peer)
+{ }
+
+RecordMessageDownstreamTask::RecordMessageDownstreamTask (void)
+ : CommandTask(Command::CMD_RECORD_MESSAGE)
+{ }
+
+int RecordMessageDownstreamTask::process (Command *)
+{
+ return Command::RESULT_SUCCESS;
+}
+
+RecordMessageUpstreamTask::RecordMessageUpstreamTask (void)
+ : CommandTask(Command::CMD_RECORD_MESSAGE)
+{ }
+// Listing 033 code/ch18
+int RecordMessageUpstreamTask::process (Command *command)
+{
+ // Collect whatever the peer sends and write into the
+ // specified file.
+ ACE_FILE_Connector connector;
+ ACE_FILE_IO file;
+
+ ACE_FILE_Addr *addr =
+ (ACE_FILE_Addr *)command->extra_data_;
+
+ if (connector.connect (file, *addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("create file")),
+ Command::RESULT_FAILURE);
+ file.truncate (0);
+
+ CommandModule *module =
+ (CommandModule*)this->module ();
+
+ int total_bytes = 0;
+ char rwbuf[512];
+ int rwbytes;
+ while ((rwbytes = module->peer ().recv (rwbuf, 512)) > 0)
+ {
+ total_bytes += file.send_n (rwbuf, rwbytes);
+ }
+
+ file.close ();
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("RecordMessageUpstreamTask ")
+ ACE_TEXT ("- recorded %d byte message\n"),
+ total_bytes));
+
+ return Command::RESULT_SUCCESS;
+}
+// Listing 033
diff --git a/examples/APG/Streams/CommandTasks.h b/examples/APG/Streams/CommandTasks.h
new file mode 100644
index 00000000000..0d55d4da07b
--- /dev/null
+++ b/examples/APG/Streams/CommandTasks.h
@@ -0,0 +1,108 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef COMMAND_TASKS_H
+#define COMMAND_TASKS_H
+
+#include "ace/SOCK_Stream.h"
+
+#include "Command.h"
+#include "CommandTask.h"
+#include "CommandModule.h"
+
+// CommandModule and CommandTask objects that implement the command
+// stream functions.
+
+// Listing 011 code/ch18
+class AnswerCallModule : public CommandModule
+{
+public:
+ AnswerCallModule (ACE_SOCK_Stream * peer);
+};
+// Listing 011
+// Listing 012 code/ch18
+class AnswerCallDownstreamTask : public CommandTask
+{
+public:
+ AnswerCallDownstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+// Listing 012
+// Listing 013 code/ch18
+class AnswerCallUpstreamTask : public CommandTask
+{
+public:
+ AnswerCallUpstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+// Listing 013
+
+// Listing 02 code/ch18
+class RetrieveCallerIdModule : public CommandModule
+{
+public:
+ RetrieveCallerIdModule (ACE_SOCK_Stream *peer);
+};
+class RetrieveCallerIdDownstreamTask : public CommandTask
+{
+public:
+ RetrieveCallerIdDownstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+class RetrieveCallerIdUpstreamTask : public CommandTask
+{
+public:
+ RetrieveCallerIdUpstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+// Listing 02
+
+// Listing 03 code/ch18
+class PlayMessageModule : public CommandModule
+{
+public:
+ PlayMessageModule (ACE_SOCK_Stream *peer);
+};
+class PlayMessageDownstreamTask : public CommandTask
+{
+public:
+ PlayMessageDownstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+class PlayMessageUpstreamTask : public CommandTask
+{
+public:
+ PlayMessageUpstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+// Listing 03
+
+// Listing 04 code/ch18
+class RecordMessageModule : public CommandModule
+{
+public:
+ RecordMessageModule (ACE_SOCK_Stream *peer);
+};
+class RecordMessageDownstreamTask : public CommandTask
+{
+public:
+ RecordMessageDownstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+class RecordMessageUpstreamTask : public CommandTask
+{
+public:
+ RecordMessageUpstreamTask ();
+protected:
+ virtual int process (Command *command);
+};
+// Listing 04
+
+#endif /* COMMAND_TASKS_H */
diff --git a/examples/APG/Streams/EndTask.h b/examples/APG/Streams/EndTask.h
new file mode 100644
index 00000000000..62b4093f975
--- /dev/null
+++ b/examples/APG/Streams/EndTask.h
@@ -0,0 +1,27 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef END_TASK_H
+#define END_TASK_H
+
+// Listing 1 code/ch18
+class EndTask : public BasicTask
+{
+protected:
+ virtual int process (Message *)
+ {
+ ACE_TRACE (ACE_TEXT ("EndTask::process()"));
+ return 0;
+ }
+
+ virtual int next_step (ACE_Message_Block *)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("EndTask::next_step() - ")
+ ACE_TEXT ("end of the line.\n")));
+ return 0;
+ }
+};
+// Listing 1
+
+#endif /* END_TASK_H */
diff --git a/examples/APG/Streams/Makefile b/examples/APG/Streams/Makefile
new file mode 100644
index 00000000000..28af9f5af51
--- /dev/null
+++ b/examples/APG/Streams/Makefile
@@ -0,0 +1,1825 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Answerer
+
+FILES = CommandModule \
+ CommandStream \
+ CommandTask \
+ CommandTasks \
+ RecordingDeviceFactory \
+ RecordingDevice_Text
+
+SRC = $(addsuffix .cpp,$(FILES))
+OBJ = $(addsuffix .o,$(FILES))
+
+BUILD = $(VBIN)
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/CommandModule.o .obj/CommandModule.so .shobj/CommandModule.o .shobj/CommandModule.so: CommandModule.cpp CommandModule.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ CommandTask.h Command.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i
+
+.obj/CommandStream.o .obj/CommandStream.so .shobj/CommandStream.o .shobj/CommandStream.so: CommandStream.cpp CommandStream.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ Command.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ CommandTasks.h CommandTask.h CommandModule.h
+
+.obj/CommandTask.o .obj/CommandTask.so .shobj/CommandTask.o .shobj/CommandTask.so: CommandTask.cpp CommandTask.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ Command.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i
+
+.obj/CommandTasks.o .obj/CommandTasks.so .shobj/CommandTasks.o .shobj/CommandTasks.so: CommandTasks.cpp \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ Command.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ CommandTasks.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ CommandTask.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ CommandModule.h RecordingDevice_Text.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ CommandStream.h \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp \
+ MessageInfo.h RecordingDevice.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ RecordingDevice_USRVM.h RecordingDevice_QC.h RecordingDeviceFactory.h
+
+.obj/RecordingDeviceFactory.o .obj/RecordingDeviceFactory.so .shobj/RecordingDeviceFactory.o .shobj/RecordingDeviceFactory.so: RecordingDeviceFactory.cpp RecordingDevice.h \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ RecordingDevice_Text.h \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ CommandStream.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp \
+ Command.h CommandTasks.h CommandTask.h CommandModule.h MessageInfo.h \
+ RecordingDevice_USRVM.h RecordingDevice_QC.h RecordingDeviceFactory.h
+
+.obj/RecordingDevice_Text.o .obj/RecordingDevice_Text.so .shobj/RecordingDevice_Text.o .shobj/RecordingDevice_Text.so: RecordingDevice_Text.cpp MessageInfo.h \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ RecordingDevice.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ RecordingDevice_Text.h \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ CommandStream.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp \
+ Command.h CommandTasks.h CommandTask.h CommandModule.h \
+ RecordingDevice_USRVM.h RecordingDevice_QC.h RecordingDeviceFactory.h \
+ Util.h
+
+.obj/Answerer.o .obj/Answerer.so .shobj/Answerer.o .shobj/Answerer.so: Answerer.cpp \
+ $(ACE_ROOT)/ace/Stream.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Stream.i \
+ $(ACE_ROOT)/ace/Stream.cpp \
+ $(ACE_ROOT)/ace/FILE_IO.h \
+ $(ACE_ROOT)/ace/FILE.h \
+ $(ACE_ROOT)/ace/IO_SAP.h \
+ $(ACE_ROOT)/ace/IO_SAP.i \
+ $(ACE_ROOT)/ace/FILE_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/FILE_Addr.i \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/FILE.i \
+ $(ACE_ROOT)/ace/FILE_IO.i \
+ MessageInfo.h Message.h BasicTask.h EndTask.h Util.h \
+ $(ACE_ROOT)/ace/FILE_Connector.h \
+ $(ACE_ROOT)/ace/FILE_Connector.i \
+ RecordingDevice.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ RecordingDevice_Text.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ CommandStream.h Command.h CommandTasks.h CommandTask.h CommandModule.h \
+ RecordingDevice_USRVM.h RecordingDevice_QC.h RecordingDeviceFactory.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/Streams/Message.h b/examples/APG/Streams/Message.h
new file mode 100644
index 00000000000..29ddd30d5a1
--- /dev/null
+++ b/examples/APG/Streams/Message.h
@@ -0,0 +1,92 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef MESSAGE_H
+#define MESSAGE_H
+
+class RecordingDevice;
+
+class Message
+{
+public:
+ Message () : device_(0), type_(0), id_(0)
+ { }
+
+ ~Message ()
+ { }
+
+ RecordingDevice *recorder (void)
+ {
+ return this->device_;
+ }
+
+ void recorder (RecordingDevice *device)
+ {
+ this->device_ = device;
+ }
+
+ void type (MessageType *type)
+ {
+ this->type_ = type;
+ }
+
+ MessageType *type (void)
+ {
+ return this->type_;
+ }
+
+ void caller_id (CallerId *id)
+ {
+ this->id_ = id;
+ }
+
+ CallerId *caller_id (void)
+ {
+ return this->id_;
+ }
+
+ void addr (ACE_FILE_Addr &addr)
+ {
+ this->addr_ = addr;
+ }
+
+ void incoming_message (ACE_FILE_Addr &addr, MessageType *type)
+ {
+ this->addr_ = addr;
+ this->type_ = type;
+ }
+
+ ACE_FILE_Addr &addr (void)
+ {
+ return this->addr_;
+ }
+
+ int is_text (void)
+ {
+ return this->type_->is_text ();
+ }
+
+ int is_audio (void)
+ {
+ return this->type_->is_audio ();
+ }
+
+ int is_video (void)
+ {
+ return this->type_->is_video ();
+ }
+
+private:
+ RecordingDevice *device_;
+ MessageType *type_;
+ CallerId *id_;
+ ACE_FILE_Addr addr_;
+};
+
+class AudioMessage : public Message
+{ };
+
+class VideoMessage : public Message
+{ };
+
+#endif /* MESSAGE_H */
diff --git a/examples/APG/Streams/MessageInfo.h b/examples/APG/Streams/MessageInfo.h
new file mode 100644
index 00000000000..c609db608eb
--- /dev/null
+++ b/examples/APG/Streams/MessageInfo.h
@@ -0,0 +1,100 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef MESSAGE_INFO_H
+#define MESSAGE_INFO_H
+
+#include "ace/FILE_Addr.h"
+#include "ace/SString.h"
+
+/* Opaque class that represents a caller's ID */
+class CallerId
+{
+public:
+ CallerId () : id_("UNKNOWN")
+ { }
+
+ CallerId (ACE_CString id) : id_(id)
+ { }
+
+ const char *string(void)
+ {
+ return this->id_.c_str ();
+ }
+
+private:
+ ACE_CString id_;
+};
+
+class MessageType
+{
+public:
+ enum {
+ // Known video codecs
+ FIRST_VIDEO_CODEC = 1,
+
+ DIVX,
+ // ...
+ LAST_VIDEO_CODEC,
+
+ // Known audio codecs
+ FIRST_AUDIO_CODEC,
+
+ MP3,
+ RAWPCM,
+ // ...
+ LAST_AUDIO_CODEC,
+
+ // Known text codecs
+ FIRST_TEXT_CODEC,
+
+ RAWTEXT,
+ XML,
+
+ // ...
+ LAST_TEXT_CODEC,
+
+ LAST_CODEC
+ };
+
+ MessageType (int codec, ACE_FILE_Addr addr)
+ : codec_(codec), addr_(addr)
+ { }
+
+ int get_codec (void)
+ {
+ return this->codec_;
+ }
+
+ ACE_FILE_Addr &get_addr (void)
+ {
+ return this->addr_;
+ }
+
+ int is_video (void)
+ {
+ return
+ this->get_codec () > FIRST_VIDEO_CODEC &&
+ this->get_codec () < LAST_VIDEO_CODEC;
+ }
+
+ int is_audio (void)
+ {
+ return
+ this->get_codec () > FIRST_AUDIO_CODEC &&
+ this->get_codec () < LAST_AUDIO_CODEC ;
+ }
+
+ int is_text (void)
+ {
+ return
+ this->get_codec () > FIRST_TEXT_CODEC &&
+ this->get_codec () < LAST_TEXT_CODEC ;
+ }
+
+private:
+ int codec_;
+ ACE_FILE_Addr addr_;
+};
+
+# endif /* MESSAGE_INFO_H */
diff --git a/examples/APG/Streams/RecordingDevice.h b/examples/APG/Streams/RecordingDevice.h
new file mode 100644
index 00000000000..cee3d7154de
--- /dev/null
+++ b/examples/APG/Streams/RecordingDevice.h
@@ -0,0 +1,119 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef RECORDING_DEVICE_H
+#define RECORDING_DEVICE_H
+
+#include "ace/FILE_Addr.h"
+#include "ace/Event_Handler.h"
+#include "ace/Log_Msg.h"
+#include "ace/Reactor.h"
+#include "ace/Semaphore.h"
+
+class CallerId;
+class MessageType;
+
+class RecordingDevice
+{
+public:
+ RecordingDevice ()
+ {
+ // Initialize the semaphore so that we don't block on the
+ // first call to wait_for_activity().
+ }
+
+ virtual ~RecordingDevice ()
+ {
+ }
+
+ virtual const ACE_TCHAR *get_name (void) const
+ {
+ return ACE_TEXT ("UNKNOWN");
+ }
+
+ virtual int init (int, ACE_TCHAR *[])
+ {
+ return 0;
+ }
+
+ // Answer the incoming call
+ virtual int answer_call (void) = 0;
+
+ // Fetch some form of caller identification at the hardware level.
+ virtual CallerId *retrieve_callerId (void) = 0;
+
+ // Fetch the message at the location specified by 'addr' and play
+ // it for the caller.
+ virtual int play_message (ACE_FILE_Addr &addr) = 0;
+
+ // Record data from our physical device into the file at the
+ // specified address. Return the number of bytes recorded.
+ virtual MessageType *record_message (ACE_FILE_Addr &addr) = 0;
+
+ // Release the RecordingDevice to accept another incoming call
+ virtual void release (void)
+ {
+ this->release_semaphore ();
+ }
+
+ // Get the handler of the device so that wait_for_activity() can
+ // wait for data to arrive.
+ virtual ACE_Event_Handler *get_handler (void) const
+ {
+ return 0;
+ }
+
+ virtual RecordingDevice *wait_for_activity (void)
+ {
+ // Block on a semaphore until it says we're ready to do
+ // work.
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Waiting for semaphore\n")));
+ this->acquire_semaphore ();
+
+ // Use the reactor to wait for activity on our handle
+ ACE_Reactor reactor;
+
+ ACE_Event_Handler *handler = this->get_handler ();
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler is %@\n"),
+ (void *)handler));
+
+ reactor.register_handler (this->get_handler (),
+ ACE_Event_Handler::READ_MASK);
+
+ reactor.handle_events ();
+ // Error-check this...
+
+ // Leave the semaphore locked so that we'll block until
+ // recording_complete() is invoked.
+
+ return this;
+ }
+
+protected:
+ void acquire_semaphore (void)
+ {
+ this->semaphore_.acquire ();
+ }
+
+ void release_semaphore (void)
+ {
+ // Reset the semaphore so that wait_for_activity() will
+ // unblock.
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Releasing semaphore\n")));
+ this->semaphore_.release ();
+ }
+
+private:
+ ACE_Semaphore semaphore_;
+};
+
+#include "RecordingDevice_Text.h"
+#include "RecordingDevice_USRVM.h"
+#include "RecordingDevice_QC.h"
+
+#include "RecordingDeviceFactory.h"
+
+#endif /* RECORDING_DEVICE_H */
diff --git a/examples/APG/Streams/RecordingDeviceFactory.cpp b/examples/APG/Streams/RecordingDeviceFactory.cpp
new file mode 100644
index 00000000000..f5585e1ec0a
--- /dev/null
+++ b/examples/APG/Streams/RecordingDeviceFactory.cpp
@@ -0,0 +1,25 @@
+// $Id$
+
+#include "RecordingDevice.h"
+#include "RecordingDeviceFactory.h"
+#include "RecordingDevice_Text.h"
+
+RecordingDevice *RecordingDeviceFactory::instantiate (int argc,
+ ACE_TCHAR *argv[])
+{
+ RecordingDevice * device = 0;
+
+ // Determine the implementation based on the values of argv
+ // Exclude 2
+ device = new TextListenerAcceptor ();
+ // Exclude 2
+
+ // Initialize the device with the remaining parameters.
+ if (device->init (argc, argv) < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("RecordingDeviceFactory::instantiate() - ")
+ ACE_TEXT ("%s->init(argc, argv)"),
+ device->get_name()),
+ 0);
+ return device;
+}
diff --git a/examples/APG/Streams/RecordingDeviceFactory.h b/examples/APG/Streams/RecordingDeviceFactory.h
new file mode 100644
index 00000000000..13485b20947
--- /dev/null
+++ b/examples/APG/Streams/RecordingDeviceFactory.h
@@ -0,0 +1,22 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef RECORDING_DEVICE_FACTORY_H
+#define RECORDING_DEVICE_FACTORY_H
+
+class RecordingDevice;
+
+/*
+ * A factory class that creates an appropriate RecordingDevice
+ * derivative based on command-line parameters.
+ */
+class RecordingDeviceFactory
+{
+public:
+
+ // Instantiate the appropriate RecordingDevice implementation
+ static RecordingDevice *instantiate (int argc, ACE_TCHAR *argv[]);
+};
+
+#endif /* RECORDING_DEVICE_FACTORY_H */
+
diff --git a/examples/APG/Streams/RecordingDevice_QC.h b/examples/APG/Streams/RecordingDevice_QC.h
new file mode 100644
index 00000000000..356d70afc5c
--- /dev/null
+++ b/examples/APG/Streams/RecordingDevice_QC.h
@@ -0,0 +1,5 @@
+// $Id$
+
+class QuickCam : public RecordingDevice
+ {
+ };
diff --git a/examples/APG/Streams/RecordingDevice_Text.cpp b/examples/APG/Streams/RecordingDevice_Text.cpp
new file mode 100644
index 00000000000..71ba4c76398
--- /dev/null
+++ b/examples/APG/Streams/RecordingDevice_Text.cpp
@@ -0,0 +1,197 @@
+/*
+ * $Id$
+ *
+ * A RecordingDevice that listens to a socket and collects text.
+ */
+
+#include "MessageInfo.h"
+#include "RecordingDevice.h"
+#include "RecordingDevice_Text.h"
+#include "Util.h"
+
+TextListenerAcceptor::TextListenerAcceptor (void)
+ : ACE_Event_Handler(), RecordingDevice()
+{ }
+
+// ACE_Event_Handler interface
+
+int TextListenerAcceptor::open (ACE_INET_Addr &addr)
+{
+ if (this->acceptor_.open (addr, 1) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("acceptor open")),
+ -1);
+ return 0;
+}
+
+ACE_HANDLE TextListenerAcceptor::get_handle (void) const
+{
+ return this->acceptor_.get_handle ();
+}
+
+int TextListenerAcceptor::handle_input (ACE_HANDLE)
+{
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("TextListenerAcceptor - connection request\n" )));
+ return 0;
+}
+
+int TextListenerAcceptor::accept (ACE_SOCK_Stream &peer)
+{
+ return this->acceptor_.accept (peer);
+}
+
+// RecordingDevice interface
+
+// Open a listening socket on the port specified by argv.
+int TextListenerAcceptor::init (int argc, ACE_TCHAR *argv[])
+{
+ ACE_UNUSED_ARG(argc);
+
+ ACE_INET_Addr addr (argv[1]);
+
+ if (this->open (addr) < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("TextListener - open")),
+ -1);
+ return 0;
+}
+
+ACE_Event_Handler *TextListenerAcceptor::get_handler (void) const
+{
+ return (ACE_Event_Handler *)this;
+}
+
+RecordingDevice *TextListenerAcceptor::wait_for_activity (void)
+{
+ this->RecordingDevice::wait_for_activity ();
+ return new TextListener (this);
+}
+
+int TextListenerAcceptor::answer_call (void)
+{
+ return -1;
+}
+
+CallerId *TextListenerAcceptor::retrieve_callerId (void)
+{
+ return 0;
+}
+
+int TextListenerAcceptor::play_message (ACE_FILE_Addr &addr)
+{
+ ACE_UNUSED_ARG(addr);
+ return 0;
+}
+
+MessageType *TextListenerAcceptor::record_message (ACE_FILE_Addr &addr)
+{
+ ACE_UNUSED_ARG(addr);
+ return 0;
+}
+
+
+// Listing 01 code/ch18
+TextListener::TextListener (TextListenerAcceptor *acceptor)
+ : acceptor_(acceptor)
+{
+ ACE_TRACE (ACE_TEXT ("TextListener ctor"));
+
+ ACE_NEW (this->command_stream_, CommandStream (&(this->peer_)));
+ this->command_stream_->open (0);
+}
+// Listing 01
+
+const ACE_TCHAR *TextListener::get_name (void) const
+{
+ return ACE_TEXT ("TextListener");
+}
+
+// Listing 02 code/ch18
+int TextListener::answer_call (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TextListener::answer_call()\n")));
+
+ Command *c = new Command ();
+ c->command_ = Command::CMD_ANSWER_CALL;
+ c->extra_data_ = this->acceptor_;
+
+ c = this->command_stream_->execute (c);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TextListener::answer_call() ")
+ ACE_TEXT ("result is %d\n"),
+ c->numeric_result_));
+
+ return c->numeric_result_;
+}
+// Listing 02
+
+// Listing 03 code/ch18
+CallerId *TextListener::retrieve_callerId (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TextListener::retrieve_callerId()\n")));
+
+ Command *c = new Command ();
+ c->command_ = Command::CMD_RETRIEVE_CALLER_ID;
+
+ c = this->command_stream_->execute (c);
+
+ CallerId *caller_id = new CallerId (c->result_);
+ return caller_id;
+}
+// Listing 03
+
+// Listing 04 code/ch18
+int TextListener::play_message (ACE_FILE_Addr &addr)
+{
+ MessageType *type = Util::identify_message (addr);
+ if (type->is_text ())
+ {
+ Command *c = new Command ();
+ c->command_ = Command::CMD_PLAY_MESSAGE;
+ c->extra_data_ = &addr;
+ c = this->command_stream_->execute (c);
+ return c->numeric_result_;
+ }
+
+ ACE_FILE_Addr temp ("/tmp/outgoing_message.text");
+ ACE_FILE_IO *file;
+ if (type->is_audio ())
+ file = Util::audio_to_text (addr, temp);
+ else if (type->is_video ())
+ file = Util::video_to_text (addr, temp);
+ else
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("Invalid message type %d\n"),
+ type->get_codec ()), -1);
+ int rval = this->play_message (temp);
+ file->remove ();
+ return rval;
+}
+// Listing 04
+
+// Listing 05 code/ch18
+MessageType *TextListener::record_message (ACE_FILE_Addr &addr)
+{
+ Command *c = new Command ();
+ c->command_ = Command::CMD_RECORD_MESSAGE;
+ c->extra_data_ = &addr;
+ c = this->command_stream_->execute (c);
+ if (c->numeric_result_ == -1)
+ return 0;
+
+ return new MessageType (MessageType::RAWTEXT, addr);
+}
+// Listing 05
+
+// Listing 06 code/ch18
+void TextListener::release (void)
+{
+ delete this;
+}
+// Listing 06
diff --git a/examples/APG/Streams/RecordingDevice_Text.h b/examples/APG/Streams/RecordingDevice_Text.h
new file mode 100644
index 00000000000..a49f400d922
--- /dev/null
+++ b/examples/APG/Streams/RecordingDevice_Text.h
@@ -0,0 +1,84 @@
+/* -*- C++ -*- */
+/*
+ * $Id$
+ *
+ * A RecordingDevice that listens to a socket and collects text.
+ */
+
+#ifndef RECORDING_DEVICE_TEXT_H
+#define RECORDING_DEVICE_TEXT_H
+
+#include "ace/FILE_IO.h"
+#include "ace/FILE_Connector.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+
+#include "CommandStream.h"
+#include "MessageInfo.h"
+#include "RecordingDevice.h"
+
+class TextListenerAcceptor :
+ public ACE_Event_Handler,
+ public RecordingDevice
+{
+public:
+ TextListenerAcceptor ();
+
+ // ACE_Event_Handler interface
+
+ int open (ACE_INET_Addr &addr);
+
+ ACE_HANDLE get_handle (void) const;
+
+ int handle_input (ACE_HANDLE);
+
+ int accept (ACE_SOCK_Stream &peer);
+
+ // RecordingDevice interface
+
+ // Open a listening socket on the port specified by argv.
+ int init (int argc, ACE_TCHAR *argv[]);
+
+ ACE_Event_Handler *get_handler (void) const;
+
+ virtual RecordingDevice *wait_for_activity (void);
+
+ virtual int answer_call (void);
+
+ virtual CallerId *retrieve_callerId (void);
+
+ virtual int play_message (ACE_FILE_Addr &addr);
+
+ virtual MessageType *record_message (ACE_FILE_Addr &addr);
+
+private:
+ ACE_SOCK_Acceptor acceptor_;
+};
+
+// Listing 01 code/ch18
+class TextListener : public RecordingDevice
+{
+public:
+ TextListener (TextListenerAcceptor *acceptor);
+
+ virtual const ACE_TCHAR *get_name (void) const;
+
+ int answer_call (void);
+
+ CallerId *retrieve_callerId (void);
+
+ int play_message (ACE_FILE_Addr &addr);
+
+ MessageType *record_message (ACE_FILE_Addr &addr);
+
+ virtual void release (void);
+ // Listing 01
+ // Listing 02 code/ch18
+private:
+ CommandStream *command_stream_;
+ TextListenerAcceptor *acceptor_;
+ ACE_SOCK_Stream peer_;
+};
+// Listing 02
+
+#endif /* RECORDING_DEVICE_TEXT_H */
diff --git a/examples/APG/Streams/RecordingDevice_USRVM.h b/examples/APG/Streams/RecordingDevice_USRVM.h
new file mode 100644
index 00000000000..7519f7c1c84
--- /dev/null
+++ b/examples/APG/Streams/RecordingDevice_USRVM.h
@@ -0,0 +1,5 @@
+// $Id$
+
+class USRoboticsVoiceModem : public RecordingDevice
+ {
+ };
diff --git a/examples/APG/Streams/Util.h b/examples/APG/Streams/Util.h
new file mode 100644
index 00000000000..f024533348e
--- /dev/null
+++ b/examples/APG/Streams/Util.h
@@ -0,0 +1,92 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef UTIL_H
+#define UTIL_H
+
+#include "ace/FILE_Addr.h"
+#include "ace/FILE_Connector.h"
+#include "ace/FILE_IO.h"
+
+class Util
+{
+public:
+ static MessageType *identify_message (ACE_FILE_Addr &src)
+ {
+ // Determine the contents of the specified file
+ return new MessageType (MessageType::RAWTEXT, src);
+ }
+
+ static ACE_FILE_IO *audio_to_text (ACE_FILE_Addr &, ACE_FILE_Addr &dest)
+ {
+ ACE_FILE_Connector connector;
+ ACE_FILE_IO *file = 0;
+ if (connector.connect (*file, dest) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("create file")),
+ 0);
+
+ // Convert audio data to printable text
+
+ return file;
+ }
+
+ static ACE_FILE_IO *video_to_text (ACE_FILE_Addr &, ACE_FILE_Addr &dest)
+ {
+ ACE_FILE_Connector connector;
+ ACE_FILE_IO *file = 0;
+ if (connector.connect (*file, dest) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("create file")),
+ 0);
+
+ // Extract audio data from video file and convert to printable text
+ return file;
+ }
+
+ static int convert_to_unicode (ACE_FILE_Addr &src, ACE_FILE_Addr &dest)
+ {
+ ACE_FILE_Connector connector;
+ ACE_FILE_IO input;
+ if (connector.connect (input, src) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("read file")),
+ 0);
+ ACE_FILE_IO output;
+ if (connector.connect (output, dest) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("create file")),
+ 0);
+
+ char rwbuf[512];
+ int rwbytes;
+ while ((rwbytes = input.recv (rwbuf, 512)) > 0)
+ {
+ output.send_n (rwbuf, rwbytes);
+ }
+
+ input.close ();
+ output.close ();
+
+ // Convert arbirary text to unicode
+ return 0;
+ }
+
+ static int convert_to_mp3 (ACE_FILE_Addr &, ACE_FILE_Addr &)
+ {
+ // Convert arbitrary audio data to some standard mp3 format
+ return 0;
+ }
+
+ static int convert_to_mpeg (ACE_FILE_Addr &, ACE_FILE_Addr &)
+ {
+ // Convert arbitrary vidio data to some standard mpeg format
+ return 0;
+ }
+};
+
+#endif /* UTIL_H */
diff --git a/examples/APG/Streams/streams.mpc b/examples/APG/Streams/streams.mpc
new file mode 100644
index 00000000000..9868b7bcbb0
--- /dev/null
+++ b/examples/APG/Streams/streams.mpc
@@ -0,0 +1,12 @@
+project(Answerer) : aceexe {
+ exename = Answerer
+ Source_Files {
+ Answerer.cpp
+ CommandModule.cpp
+ CommandStream.cpp
+ CommandTask.cpp
+ CommandTasks.cpp
+ RecordingDeviceFactory.cpp
+ RecordingDevice_Text.cpp
+ }
+}
diff --git a/examples/APG/Streams/streams.mwc b/examples/APG/Streams/streams.mwc
new file mode 100644
index 00000000000..eab619b3bb1
--- /dev/null
+++ b/examples/APG/Streams/streams.mwc
@@ -0,0 +1,3 @@
+workspace {
+ streams.mpc
+}
diff --git a/examples/APG/Svc_Config/HASTATUS_export.h b/examples/APG/Svc_Config/HASTATUS_export.h
new file mode 100644
index 00000000000..9115c514089
--- /dev/null
+++ b/examples/APG/Svc_Config/HASTATUS_export.h
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl HASTATUS
+// ------------------------------
+#ifndef HASTATUS_EXPORT_H
+#define HASTATUS_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (HASTATUS_HAS_DLL)
+# define HASTATUS_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ! HASTATUS_HAS_DLL */
+
+#if !defined (HASTATUS_HAS_DLL)
+# define HASTATUS_HAS_DLL 1
+#endif /* ! HASTATUS_HAS_DLL */
+
+#if defined (HASTATUS_HAS_DLL) && (HASTATUS_HAS_DLL == 1)
+# if defined (HASTATUS_BUILD_DLL)
+# define HASTATUS_Export ACE_Proper_Export_Flag
+# define HASTATUS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define HASTATUS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* HASTATUS_BUILD_DLL */
+# define HASTATUS_Export ACE_Proper_Import_Flag
+# define HASTATUS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define HASTATUS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* HASTATUS_BUILD_DLL */
+#else /* HASTATUS_HAS_DLL == 1 */
+# define HASTATUS_Export
+# define HASTATUS_SINGLETON_DECLARATION(T)
+# define HASTATUS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* HASTATUS_HAS_DLL == 1 */
+
+// Set HASTATUS_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (HASTATUS_NTRACE)
+# if (ACE_NTRACE == 1)
+# define HASTATUS_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define HASTATUS_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !HASTATUS_NTRACE */
+
+#if (HASTATUS_NTRACE == 1)
+# define HASTATUS_TRACE(X)
+#else /* (HASTATUS_NTRACE == 1) */
+# define HASTATUS_TRACE(X) ACE_TRACE _IMPL(X)
+#endif /* (HASTATUS_NTRACE == 1) */
+
+#endif /* HASTATUS_EXPORT_H */
+
+// End of auto generated file.
diff --git a/examples/APG/Svc_Config/HA_Configurable_Server_Dynamic.cpp b/examples/APG/Svc_Config/HA_Configurable_Server_Dynamic.cpp
new file mode 100644
index 00000000000..249c49cdb91
--- /dev/null
+++ b/examples/APG/Svc_Config/HA_Configurable_Server_Dynamic.cpp
@@ -0,0 +1,14 @@
+// $Id$
+
+// Listing 1 code/ch19
+#include "ace/OS.h"
+#include "ace/Service_Config.h"
+#include "ace/Reactor.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Service_Config::open (argc, argv);
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Svc_Config/HA_Configurable_Server_Static.cpp b/examples/APG/Svc_Config/HA_Configurable_Server_Static.cpp
new file mode 100644
index 00000000000..a647618c701
--- /dev/null
+++ b/examples/APG/Svc_Config/HA_Configurable_Server_Static.cpp
@@ -0,0 +1,18 @@
+// $Id$
+
+// Listing 1 code/ch19
+#include "ace/OS.h"
+#include "ace/Service_Config.h"
+#include "ace/Reactor.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ ACE_STATIC_SVC_REGISTER (HA_Status_Descriptor);
+ ACE_Service_Config::open (argc,
+ argv,
+ ACE_DEFAULT_LOGGER_KEY,
+ 0);
+ ACE_Reactor::instance ()->run_reactor_event_loop ();
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Svc_Config/HA_Status_Dynamic.cpp b/examples/APG/Svc_Config/HA_Status_Dynamic.cpp
new file mode 100644
index 00000000000..5d9ec185b23
--- /dev/null
+++ b/examples/APG/Svc_Config/HA_Status_Dynamic.cpp
@@ -0,0 +1,119 @@
+/**
+ * $Id$
+ *
+ * Home Automation Status server. Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#include "ace/OS.h"
+#include "ace/Configuration.h"
+#include "ace/Configuration_Import_Export.h"
+#include "ace/Get_Opt.h"
+#include "HA_Status_Dynamic.h"
+
+// Listing 1 code/ch19
+int
+HA_Status::init (int argc, ACE_TCHAR *argv[])
+{
+ static const ACE_TCHAR options[] = ACE_TEXT (":f:");
+ ACE_Get_Opt cmd_opts (argc, argv, options, 0);
+ if (cmd_opts.long_option
+ (ACE_TEXT ("config"), 'f', ACE_Get_Opt::ARG_REQUIRED) == -1)
+ return -1;
+ int option;
+ ACE_TCHAR config_file[MAXPATHLEN];
+ ACE_OS_String::strcpy (config_file, ACE_TEXT ("HAStatus.conf"));
+ while ((option = cmd_opts ()) != EOF)
+ switch (option)
+ {
+ case 'f':
+ ACE_OS_String::strncpy (config_file,
+ cmd_opts.opt_arg (),
+ MAXPATHLEN);
+ break;
+ case ':':
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("-%c requires an argument\n"),
+ cmd_opts.opt_opt ()),
+ -1);
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Parse error.\n")),
+ -1);
+ }
+
+ ACE_Configuration_Heap config;
+ config.open ();
+ ACE_Registry_ImpExp config_importer (config);
+ if (config_importer.import_config (config_file) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ config_file),
+ -1);
+
+ ACE_Configuration_Section_Key status_section;
+ if (config.open_section (config.root_section (),
+ ACE_TEXT ("HAStatus"),
+ 0,
+ status_section) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Can't open HAStatus section")),
+ -1);
+
+ u_int status_port;
+ if (config.get_integer_value (status_section,
+ ACE_TEXT ("ListenPort"),
+ status_port) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("HAStatus ListenPort ")
+ ACE_TEXT ("does not exist\n")),
+ -1);
+ this->listen_addr_.set (ACE_static_cast (u_short, status_port));
+
+ if (this->acceptor_.open (this->listen_addr_) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("HAStatus %p\n"),
+ ACE_TEXT ("accept")),
+ -1);
+
+ return 0;
+}
+// Listing 1
+
+// Listing 2 code/ch19
+int
+HA_Status::fini (void)
+{
+ this->acceptor_.close ();
+ return 0;
+}
+// Listing 2
+
+// Listing 3 code/ch19
+int
+HA_Status::info (ACE_TCHAR **str, size_t len) const
+ {
+ ACE_TCHAR buf[BUFSIZ];
+ ACE_OS::sprintf (buf,
+ ACE_TEXT ("HAStatus listening on port %hu\n"),
+ this->listen_addr_.get_port_number ());
+ if (*str == 0)
+ *str = ACE::strnew (buf);
+ else
+ ACE_OS_String::strncpy (*str, buf, len);
+ return ACE_static_cast (int, ACE_OS::strlen (*str));
+ }
+// Listing 3
+
+// Listing 4 code/ch19
+ACE_FACTORY_DEFINE (HASTATUS, HA_Status)
+// Listing 4
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+template class ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+# pragma instantiate ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Svc_Config/HA_Status_Dynamic.h b/examples/APG/Svc_Config/HA_Status_Dynamic.h
new file mode 100644
index 00000000000..c11f9a56d35
--- /dev/null
+++ b/examples/APG/Svc_Config/HA_Status_Dynamic.h
@@ -0,0 +1,43 @@
+/**
+ * $Id$
+ *
+ * Home Automation Status server. Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __HASTATUS_H_
+#define __HASTATUS_H_
+
+// Listing 1 code/ch19
+#include "ace/OS.h"
+#include "ace/Acceptor.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Service_Object.h"
+#include "ace/Svc_Handler.h"
+
+#include "HASTATUS_export.h"
+
+class ClientHandler :
+ public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+ // ... Same as previous examples.
+};
+
+class HASTATUS_Export HA_Status : public ACE_Service_Object
+{
+ public:
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+ virtual int fini (void);
+
+ virtual int info (ACE_TCHAR **str, size_t len) const;
+
+ private:
+ ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR> acceptor_;
+ ACE_INET_Addr listen_addr_;
+};
+// Listing 1
+
+#endif /* __HASTATUS_H_ */
diff --git a/examples/APG/Svc_Config/HA_Status_Static.cpp b/examples/APG/Svc_Config/HA_Status_Static.cpp
new file mode 100644
index 00000000000..5c2099db160
--- /dev/null
+++ b/examples/APG/Svc_Config/HA_Status_Static.cpp
@@ -0,0 +1,127 @@
+/**
+ * $Id$
+ *
+ * Home Automation Status server. Sample code from The ACE Programmer's Guide,
+ * Copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#include "ace/OS.h"
+#include "ace/Configuration.h"
+#include "ace/Configuration_Import_Export.h"
+#include "ace/Get_Opt.h"
+#include "HA_Status_Static.h"
+
+// Listing 1 code/ch19
+int
+HA_Status::init (int argc, ACE_TCHAR *argv[])
+{
+ static const ACE_TCHAR options[] = ACE_TEXT (":f:");
+ ACE_Get_Opt cmd_opts (argc, argv, options, 0);
+ if (cmd_opts.long_option
+ (ACE_TEXT ("config"), 'f', ACE_Get_Opt::ARG_REQUIRED) == -1)
+ return -1;
+ int option;
+ ACE_TCHAR config_file[MAXPATHLEN];
+ ACE_OS_String::strcpy (config_file, ACE_TEXT ("HAStatus.conf"));
+ while ((option = cmd_opts ()) != EOF)
+ switch (option)
+ {
+ case 'f':
+ ACE_OS_String::strncpy (config_file,
+ cmd_opts.opt_arg (),
+ MAXPATHLEN);
+ break;
+ case ':':
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("-%c requires an argument\n"),
+ cmd_opts.opt_opt ()),
+ -1);
+ default:
+ ACE_ERROR_RETURN
+ ((LM_ERROR, ACE_TEXT ("Parse error.\n")), -1);
+ }
+
+ ACE_Configuration_Heap config;
+ config.open ();
+ ACE_Registry_ImpExp config_importer (config);
+ if (config_importer.import_config (config_file) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ config_file),
+ -1);
+
+ ACE_Configuration_Section_Key status_section;
+ if (config.open_section (config.root_section (),
+ ACE_TEXT ("HAStatus"),
+ 0,
+ status_section) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Can't open HAStatus section")),
+ -1);
+
+ u_int status_port;
+ if (config.get_integer_value (status_section,
+ ACE_TEXT ("ListenPort"),
+ status_port) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("HAStatus ListenPort does ")
+ ACE_TEXT ("not exist\n")),
+ -1);
+ this->listen_addr_.set (ACE_static_cast (u_short, status_port));
+
+ if (this->acceptor_.open (this->listen_addr_) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("HAStatus %p\n"),
+ ACE_TEXT ("accept")),
+ -1);
+
+ return 0;
+}
+// Listing 1
+
+// Listing 2 code/ch19
+int
+HA_Status::fini (void)
+{
+ this->acceptor_.close ();
+ return 0;
+}
+// Listing 2
+
+// Listing 3 code/ch19
+int
+HA_Status::info (ACE_TCHAR **str, size_t len) const
+ {
+ ACE_TCHAR buf[BUFSIZ];
+ ACE_OS::sprintf (buf, ACE_TEXT ("HAStatus listening on port %hu\n"),
+ this->listen_addr_.get_port_number ());
+ if (*str == 0)
+ *str = ACE::strnew (buf);
+ else
+ ACE_OS_String::strncpy (*str, buf, len);
+ return ACE_static_cast (int, ACE_OS::strlen (*str));
+ }
+// Listing 3
+
+// Listing 4 code/ch19
+ACE_FACTORY_DEFINE (ACE_Local_Service, HA_Status)
+
+ACE_STATIC_SVC_DEFINE (HA_Status_Descriptor,
+ ACE_TEXT ("HA_Status_Static_Service"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (HA_Status),
+ ACE_Service_Type::DELETE_THIS |
+ ACE_Service_Type::DELETE_OBJ,
+ 0) // Service not initially active
+
+ACE_STATIC_SVC_REQUIRE (HA_Status_Descriptor)
+// Listing 4
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+template class ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
+# pragma instantiate ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Svc_Config/HA_Status_Static.h b/examples/APG/Svc_Config/HA_Status_Static.h
new file mode 100644
index 00000000000..6545cdadf48
--- /dev/null
+++ b/examples/APG/Svc_Config/HA_Status_Static.h
@@ -0,0 +1,39 @@
+/**
+ * $Id$
+ *
+ * Home Automation Status server. Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __HASTATUS_H_
+#define __HASTATUS_H_
+
+// Listing 1 code/ch19
+#include "ace/OS.h"
+#include "ace/Acceptor.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Service_Object.h"
+#include "ace/Svc_Handler.h"
+
+class ClientHandler :
+ public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+ // ... Same as previous examples.
+};
+
+class HA_Status : public ACE_Service_Object
+{
+ public:
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+ virtual int fini (void);
+ virtual int info (ACE_TCHAR **str, size_t len) const;
+
+ private:
+ ACE_Acceptor<ClientHandler, ACE_SOCK_ACCEPTOR> acceptor_;
+ ACE_INET_Addr listen_addr_;
+};
+// Listing 1
+
+#endif /* __HASTATUS_H_ */
diff --git a/examples/APG/Svc_Config/Makefile b/examples/APG/Svc_Config/Makefile
new file mode 100644
index 00000000000..9f53ce0ec17
--- /dev/null
+++ b/examples/APG/Svc_Config/Makefile
@@ -0,0 +1,35 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+MAKEFILE=Makefile
+
+MKLIST = Makefile.static \
+ Makefile.dynamic
+
+## Ensure that Makefiles in MKLIST are executed in sequence during a
+## parallel build because we share some files between multiple libraries.
+.NOTPARALLEL:
+
+## Makefile.Reactive_Logging_Server.mkfile is a dummy target which will cause
+## $(MAKE) -f Makefile.Reactive_Logging_Server to be invoked, then it cleans
+## up tempinc when needed for AIX Visual Age C++.
+%.mkfile: %
+ @echo $(MAKE) -f $< $(MKFILE_TARGET)
+ -@$(RM) -rf tempinc
+ @$(MAKE) -f $< $(MKFILE_TARGET)
+
+# This rule invokes make again with the list of .mkfile targets as a
+# parameter. For example, if the all target is being made, make is invoked
+# as follows:
+#
+# make -f Makefile MKFILE_TARGET=all Makefile.static
+
+all clean depend realclean html:
+ifneq ($(MKLIST),)
+ @echo $(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+ @$(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/examples/APG/Svc_Config/Makefile.dynamic b/examples/APG/Svc_Config/Makefile.dynamic
new file mode 100644
index 00000000000..5717344c078
--- /dev/null
+++ b/examples/APG/Svc_Config/Makefile.dynamic
@@ -0,0 +1,22 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = HA_Configurable_Server_Dynamic
+
+FILES = HA_Status_Dynamic
+SHLIB = libHA_Status.$(SOEXT)
+
+LSRC = $(addsuffix .cpp,$(FILES))
+LOBJ = $(addsuffix .o,$(FILES))
+SHOBJ = $(addsuffix .so,$(FILES))
+
+LIBS += $(ACELIB)
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Svc_Config/Makefile.static b/examples/APG/Svc_Config/Makefile.static
new file mode 100644
index 00000000000..ead34245b11
--- /dev/null
+++ b/examples/APG/Svc_Config/Makefile.static
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = HA_Configurable_Server_Static
+
+SRC = HA_Configurable_Server_Static.cpp HA_Status_Static.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Svc_Config/status.ini b/examples/APG/Svc_Config/status.ini
new file mode 100644
index 00000000000..8a36fb124fa
--- /dev/null
+++ b/examples/APG/Svc_Config/status.ini
@@ -0,0 +1,2 @@
+[HAStatus]
+"ListenPort"=dword:000001ec
diff --git a/examples/APG/Svc_Config/svc.conf.dynamic b/examples/APG/Svc_Config/svc.conf.dynamic
new file mode 100644
index 00000000000..e8ffb12c8ad
--- /dev/null
+++ b/examples/APG/Svc_Config/svc.conf.dynamic
@@ -0,0 +1,2 @@
+dynamic HA_Status_Dynamic_Service Service_Object *
+HA_Status:_make_HA_Status() "-f status.ini"
diff --git a/examples/APG/Svc_Config/svc.conf.static b/examples/APG/Svc_Config/svc.conf.static
new file mode 100644
index 00000000000..0103380c776
--- /dev/null
+++ b/examples/APG/Svc_Config/svc.conf.static
@@ -0,0 +1 @@
+static HA_Status_Static_Service "-f status.ini"
diff --git a/examples/APG/Svc_Config/svc_config.mpc b/examples/APG/Svc_Config/svc_config.mpc
new file mode 100644
index 00000000000..1000e498b31
--- /dev/null
+++ b/examples/APG/Svc_Config/svc_config.mpc
@@ -0,0 +1,22 @@
+project(*HA Status) : acelib {
+ sharedname = HA_Status
+ dynamicflags = HASTATUS_BUILD_DLL
+ Source_Files {
+ HA_Status_Dynamic.cpp
+ }
+}
+
+project(HA Configurable Server Dynamic) : aceexe {
+ exename = HA_Configurable_Server_Dynamic
+ Source_Files {
+ HA_Configurable_Server_Dynamic.cpp
+ }
+}
+
+project(HA Configurable Server Static) : aceexe {
+ exename = HA_Configurable_Server_Static
+ Source_Files {
+ HA_Configurable_Server_Static.cpp
+ HA_Status_Static.cpp
+ }
+}
diff --git a/examples/APG/Svc_Config/svc_config.mwc b/examples/APG/Svc_Config/svc_config.mwc
new file mode 100644
index 00000000000..b048ea34545
--- /dev/null
+++ b/examples/APG/Svc_Config/svc_config.mwc
@@ -0,0 +1,3 @@
+workspace {
+ svc_config.mpc
+}
diff --git a/examples/APG/ThreadManagement/Async_Cancel.cpp b/examples/APG/ThreadManagement/Async_Cancel.cpp
new file mode 100644
index 00000000000..9d07fce2897
--- /dev/null
+++ b/examples/APG/ThreadManagement/Async_Cancel.cpp
@@ -0,0 +1,69 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+#if defined (ACE_HAS_PTHREADS)
+// Only works on Pthreads...
+
+// Listing 1 code/ch13
+class CanceledTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Starting thread\n")));
+
+ if (this->set_cancel_mode () < 0)
+ return -1;
+
+ while (1)
+ {
+ // Put this thread in a compute loop.. no
+ // cancellation points are available.
+ }
+ }
+
+ int set_cancel_mode (void)
+ {
+ cancel_state new_state;
+
+ // Set the cancel state to asynchronous and enabled.
+ new_state.cancelstate = PTHREAD_CANCEL_ENABLE;
+ new_state.canceltype = PTHREAD_CANCEL_ASYNCHRONOUS;
+ if (ACE_Thread::setcancelstate (new_state, 0) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("cancelstate")), -1);
+ return 0;
+ }
+};
+// Listing 1
+// Listing 2 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ CanceledTask task;
+ task.activate ();
+ ACE_OS::sleep (1);
+ ACE_Thread_Manager::instance ()->cancel_task (&task, 1);
+ task.wait ();
+
+ return 0;
+}
+// Listing 2
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Task<ACE_MT_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+pragma instantiate ACE_Task<ACE_MT_SYNCH>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+#else /* ACE_HAS_PTHREADS */
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ puts ("This example works on Pthreads platforms.\n");
+ return 0;
+}
+#endif /* ACE_HAS_PTHREADS */
+
diff --git a/examples/APG/ThreadManagement/Coop_Cancel.cpp b/examples/APG/ThreadManagement/Coop_Cancel.cpp
new file mode 100644
index 00000000000..0f4bacc52d8
--- /dev/null
+++ b/examples/APG/ThreadManagement/Coop_Cancel.cpp
@@ -0,0 +1,53 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch13
+class CanceledTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+
+ // Cache our ACE_Thread_Manager pointer.
+ ACE_Thread_Manager *mgr = this->thr_mgr ();
+ while (1)
+ {
+ if (mgr->testcancel (mgr->thr_self ()))
+ return 0;
+
+ ACE_Message_Block *mb;
+ ACE_Time_Value tv (0, 1000);
+ tv += ACE_OS::time (0);
+ int result = this->getq (mb, &tv);
+ if (result == -1 && errno == EWOULDBLOCK)
+ continue;
+ else
+ {
+ // Do real work.
+ }
+ }
+
+ ACE_NOTREACHED (return 0);
+ }
+};
+// Listing 1
+
+// Listing 2 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ CanceledTask task;
+ task.activate ();
+
+ ACE_OS::sleep (1);
+
+ ACE_Thread_Manager::instance ()->cancel_task (&task);
+ task.wait ();
+ return 0;
+}
+// Listing 2
diff --git a/examples/APG/ThreadManagement/ExitHandler.cpp b/examples/APG/ThreadManagement/ExitHandler.cpp
new file mode 100644
index 00000000000..85238eac052
--- /dev/null
+++ b/examples/APG/ThreadManagement/ExitHandler.cpp
@@ -0,0 +1,71 @@
+// $Id$
+
+// Listing 1 code/ch13
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+class ExitHandler : public ACE_At_Thread_Exit
+{
+public:
+ virtual void apply (void)
+ {
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) is exiting \n")));
+
+ // Shut down all devices.
+ }
+};
+// Listing 1
+// Listing 2 code/ch13
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ HA_CommandHandler(ExitHandler& eh) : eh_(eh)
+ { }
+
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+
+ this->thr_mgr ()->at_exit (eh_);
+
+ // Do something.
+
+ // Forcefully exit.
+ ACE_Thread::exit ();
+
+ // NOT REACHED
+ return 0;
+ }
+
+private:
+ ExitHandler& eh_;
+};
+// Listing 2
+// Listing 3 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ExitHandler eh;
+
+ HA_CommandHandler handler (eh);
+ handler.activate ();
+
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
+// Listing 3
+#if 0
+// Listing 4 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ExitHandler eh;
+ ACE_Thread_Manager tm;
+
+ HA_CommandHandler handler (eh);
+ handler.thr_mgr (&tm);
+ handler.activate ();
+
+ tm.wait();
+ return 0;
+}
+// Listing 4
+#endif
diff --git a/examples/APG/ThreadManagement/Makefile b/examples/APG/ThreadManagement/Makefile
new file mode 100644
index 00000000000..78040d93e3c
--- /dev/null
+++ b/examples/APG/ThreadManagement/Makefile
@@ -0,0 +1,2098 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Async_Cancel \
+ Coop_Cancel \
+ ExitHandler \
+ Pool \
+ Priorities \
+ Signals \
+ Signals2 \
+ Start_Hook \
+ State
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Async_Cancel.o .obj/Async_Cancel.so .shobj/Async_Cancel.o .shobj/Async_Cancel.so: Async_Cancel.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_NS_dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_NS_dirent.inl \
+ $(ACE_ROOT)/ace/OS_NS_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/OS_NS_dlfcn.inl \
+ $(ACE_ROOT)/ace/OS_NS_math.h \
+ $(ACE_ROOT)/ace/OS_NS_math.inl \
+ $(ACE_ROOT)/ace/OS_NS_netdb.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/OS_NS_netdb.inl \
+ $(ACE_ROOT)/ace/OS_NS_poll.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/OS_NS_poll.inl \
+ $(ACE_ROOT)/ace/OS_NS_regex.h \
+ $(ACE_ROOT)/ace/OS_NS_regex.inl \
+ $(ACE_ROOT)/ace/os_include/os_regex.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_msg.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_resource.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_resource.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_shm.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_shm.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Coop_Cancel.o .obj/Coop_Cancel.so .shobj/Coop_Cancel.o .shobj/Coop_Cancel.so: Coop_Cancel.cpp \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/ExitHandler.o .obj/ExitHandler.so .shobj/ExitHandler.o .shobj/ExitHandler.so: ExitHandler.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Pool.o .obj/Pool.so .shobj/Pool.o .shobj/Pool.so: Pool.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Priorities.o .obj/Priorities.so .shobj/Priorities.o .shobj/Priorities.so: Priorities.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/OS_NS_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_ctype.inl \
+ $(ACE_ROOT)/ace/OS_NS_dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_NS_dirent.inl \
+ $(ACE_ROOT)/ace/OS_NS_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/OS_NS_dlfcn.inl \
+ $(ACE_ROOT)/ace/OS_NS_math.h \
+ $(ACE_ROOT)/ace/OS_NS_math.inl \
+ $(ACE_ROOT)/ace/OS_NS_netdb.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/OS_NS_netdb.inl \
+ $(ACE_ROOT)/ace/OS_NS_poll.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/OS_NS_poll.inl \
+ $(ACE_ROOT)/ace/OS_NS_regex.h \
+ $(ACE_ROOT)/ace/OS_NS_regex.inl \
+ $(ACE_ROOT)/ace/os_include/os_regex.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/OS_NS_strings.inl \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_msg.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_resource.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_resource.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_shm.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_shm.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_wait.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Signals.o .obj/Signals.so .shobj/Signals.o .shobj/Signals.so: Signals.cpp \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i
+
+.obj/Signals2.o .obj/Signals2.so .shobj/Signals2.o .shobj/Signals2.so: Signals2.cpp \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i
+
+.obj/Start_Hook.o .obj/Start_Hook.so .shobj/Start_Hook.o .shobj/Start_Hook.so: Start_Hook.cpp \
+ $(ACE_ROOT)/ace/Thread_Hook.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ SecurityContext.h
+
+.obj/State.o .obj/State.so .shobj/State.o .shobj/State.so: State.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/ThreadManagement/Pool.cpp b/examples/APG/ThreadManagement/Pool.cpp
new file mode 100644
index 00000000000..2e843f95f9b
--- /dev/null
+++ b/examples/APG/ThreadManagement/Pool.cpp
@@ -0,0 +1,31 @@
+// $Id$
+
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch13
+class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+ ACE_Message_Block *mb;
+ if (this->getq (mb) == -1)
+ return -1;
+ // ... do something with the message.
+ return 0;
+ }
+};
+// Listing 1
+// Listing 2 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_CommandHandler handler;
+
+ // Create 4 threads.
+ handler.activate (THR_NEW_LWP | THR_JOINABLE, 4);
+ handler.wait ();
+ return 0;
+}
+// Listing 2
diff --git a/examples/APG/ThreadManagement/Priorities.cpp b/examples/APG/ThreadManagement/Priorities.cpp
new file mode 100644
index 00000000000..146710bbe84
--- /dev/null
+++ b/examples/APG/ThreadManagement/Priorities.cpp
@@ -0,0 +1,70 @@
+// $Id$
+
+#include "ace/OS.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+// Listing 2 code/ch13
+class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ HA_CommandHandler (const char *name) : name_ (name)
+ { }
+
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up %C\n"),
+ name_));
+
+ ACE_OS::sleep (2);
+ ACE_Message_Block *mb;
+ while (this->getq (mb) != -1)
+ process_message (mb);
+ return 0;
+ }
+
+ void process_message (ACE_Message_Block *)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Processing message %C\n"),
+ name_));
+ // Simulate compute bound task.
+ for (int i = 0; i < 100; i++)
+ ;
+ }
+
+private:
+ const char *name_;
+};
+// Listing 2
+
+// This should be fixed in ACE... There's no _MAX, _MIN values for
+// thread priorities.
+#if defined (ACE_WIN32) && !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX ((ACE_THR_PRI_OTHER_DEF) + 1)
+#endif
+
+// Listing 1 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_CommandHandler hp_handler ("HighPriority");
+ hp_handler.activate (THR_NEW_LWP | THR_JOINABLE,
+ 1, 1, ACE_THR_PRI_OTHER_MAX);
+
+ HA_CommandHandler lp_handler ("LowPriority");
+ lp_handler.activate (THR_NEW_LWP | THR_JOINABLE,
+ 1, 1, ACE_THR_PRI_OTHER_DEF);
+
+ ACE_Message_Block mb;
+ for (int i = 0; i < 100; i++)
+ {
+ hp_handler.putq (&mb);
+ lp_handler.putq (&mb);
+ }
+
+ hp_handler.wait ();
+ lp_handler.wait ();
+
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/ThreadManagement/SecurityContext.h b/examples/APG/ThreadManagement/SecurityContext.h
new file mode 100644
index 00000000000..73adbd1a435
--- /dev/null
+++ b/examples/APG/ThreadManagement/SecurityContext.h
@@ -0,0 +1,16 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __SECURITYCONTEXT_H_
+#define __SECURITYCONTEXT_H_
+
+struct SecurityContext
+ {
+ const char * user;
+ };
+
+#endif /* __SECURITYCONTEXT_H_ */
diff --git a/examples/APG/ThreadManagement/Signals.cpp b/examples/APG/ThreadManagement/Signals.cpp
new file mode 100644
index 00000000000..a3d9c6af4cd
--- /dev/null
+++ b/examples/APG/ThreadManagement/Signals.cpp
@@ -0,0 +1,82 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+
+// Listing 1 code/ch13
+class SignalableTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ virtual int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ if (signum == SIGUSR1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) received a %S signal\n"),
+ signum));
+ handle_alert ();
+ }
+ return 0;
+ }
+
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Starting thread\n")));
+
+ while (1)
+ {
+ ACE_Message_Block* mb;
+ ACE_Time_Value tv (0, 1000);
+ tv += ACE_OS::time (0);
+ int result = this->getq (mb, &tv);
+ if (result == -1 && errno == EWOULDBLOCK)
+ continue;
+ else
+ process_message (mb);
+ }
+
+ ACE_NOTREACHED (return 0);
+ }
+
+ void handle_alert ();
+ void process_message (ACE_Message_Block *mb);
+};
+// Listing 1
+
+void
+SignalableTask::process_message (ACE_Message_Block *)
+{
+}
+
+void
+SignalableTask::handle_alert ()
+{
+}
+
+// Listing 2 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ SignalableTask handler;
+ handler.activate (THR_NEW_LWP | THR_JOINABLE , 5);
+
+ ACE_Sig_Handler sh;
+ sh.register_handler (SIGUSR1, &handler);
+
+ ACE_OS::sleep (1);
+
+ ACE_Thread_Manager::instance () ->
+ kill_grp (handler.grp_id (), SIGUSR1);
+ handler.wait ();
+ return 0;
+}
+// Listing 2
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Task<ACE_MT_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+pragma instantiate ACE_Task<ACE_MT_SYNCH>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadManagement/Signals2.cpp b/examples/APG/ThreadManagement/Signals2.cpp
new file mode 100644
index 00000000000..517e4c4927a
--- /dev/null
+++ b/examples/APG/ThreadManagement/Signals2.cpp
@@ -0,0 +1,87 @@
+// $Id$
+
+#include "ace/OS_NS_time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+
+class SignalableTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ virtual int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ if (signum == SIGUSR1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) received a %S signal\n"),
+ signum));
+ handle_alert();
+ }
+
+ return 0;
+ }
+
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Starting thread\n")));
+
+ while (1)
+ {
+ ACE_Message_Block* mb;
+ ACE_Time_Value tv (0, 1000);
+ tv += ACE_OS::time (0);
+
+ int result = this->getq(mb, &tv);
+
+ if (result == -1 && errno == EWOULDBLOCK)
+ continue;
+ else
+ process_message (mb);
+ }
+
+ ACE_NOTREACHED (return 0);
+ }
+
+ void handle_alert ();
+ void process_message (ACE_Message_Block *mb);
+};
+
+void
+SignalableTask::process_message (ACE_Message_Block *)
+{
+ return;
+}
+
+void
+SignalableTask::handle_alert (void)
+{
+ return;
+}
+
+// Listing 1 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Main thread \n")));
+ SignalableTask handler;
+ handler.activate (THR_NEW_LWP | THR_JOINABLE, 5);
+
+ ACE_Sig_Handler sh;
+ sh.register_handler (SIGUSR1, &handler);
+
+ ACE_OS::sleep (1); // Allow threads to start
+
+ for (int i = 0; i < 5; i++)
+ ACE_OS::kill (ACE_OS::getpid (), SIGUSR1);
+ handler.wait ();
+ return 0;
+}
+// Listing 1
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Task<ACE_MT_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+pragma instantiate ACE_Task<ACE_MT_SYNCH>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadManagement/Start_Hook.cpp b/examples/APG/ThreadManagement/Start_Hook.cpp
new file mode 100644
index 00000000000..c1d9916d578
--- /dev/null
+++ b/examples/APG/ThreadManagement/Start_Hook.cpp
@@ -0,0 +1,65 @@
+// $Id$
+
+#include "ace/Thread_Hook.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+#include "SecurityContext.h"
+
+// Listing 1 code/ch13
+class HA_ThreadHook : public ACE_Thread_Hook
+{
+public:
+ virtual ACE_THR_FUNC_RETURN start (ACE_THR_FUNC func, void* arg)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) New Thread Spawned\n")));
+
+ // Create the context on the thread's own stack.
+ ACE_TSS<SecurityContext> secCtx;
+ // Special initialization.
+ add_sec_context_thr (secCtx);
+
+ return (*func) (arg);
+ }
+
+ void add_sec_context_thr (ACE_TSS<SecurityContext> &secCtx);
+};
+// Listing 1
+
+void
+HA_ThreadHook::add_sec_context_thr(ACE_TSS<SecurityContext> &secCtx)
+{
+ secCtx->user = 0;
+}
+
+
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+
+ // Do something.
+
+ return 0;
+ }
+};
+// Listing 2 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_ThreadHook hook;
+ ACE_Thread_Hook::thread_hook (&hook);
+
+ HA_CommandHandler handler;
+ handler.activate ();
+ handler.wait();
+ return 0;
+}
+// Listing 2
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_TSS<SecurityContext>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_TSS<SecurityContext>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadManagement/State.cpp b/examples/APG/ThreadManagement/State.cpp
new file mode 100644
index 00000000000..d95433440c7
--- /dev/null
+++ b/examples/APG/ThreadManagement/State.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ace/Task.h"
+
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("(%t) Handler Thread running\n")));
+ return 0;
+ }
+};
+
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Main Thread running\n")));
+// Listing 1 code/ch13
+ HA_CommandHandler handler;
+ int result = handler.activate (THR_NEW_LWP |
+ THR_JOINABLE |
+ THR_SUSPENDED);
+ ACE_ASSERT (result == 0);
+
+ ACE_UNUSED_ARG (result);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) The current thread count is %d\n"),
+ handler.thr_count ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) The group identifier is %d\n"),
+ handler.grp_id ()));
+ handler.resume ();
+ handler.wait ();
+// Listing 1
+ return 0;
+}
diff --git a/examples/APG/ThreadManagement/threadmgmt.mpc b/examples/APG/ThreadManagement/threadmgmt.mpc
new file mode 100644
index 00000000000..add73d9fd0d
--- /dev/null
+++ b/examples/APG/ThreadManagement/threadmgmt.mpc
@@ -0,0 +1,62 @@
+project(Async Cancel) : aceexe {
+ exename = Async_Cancel
+ Source_Files {
+ Async_Cancel.cpp
+ }
+}
+
+project(Coop Cancel) : aceexe {
+ exename = Coop_Cancel
+ Source_Files {
+ Coop_Cancel.cpp
+ }
+}
+
+project(ExitHandler) : aceexe {
+ exename = ExitHandler
+ Source_Files {
+ ExitHandler.cpp
+ }
+}
+
+project(Pool) : aceexe {
+ exename = Pool
+ Source_Files {
+ Pool.cpp
+ }
+}
+
+project(Priorities) : aceexe {
+ exename = Priorities
+ Source_Files {
+ Priorities.cpp
+ }
+}
+
+project(Signals) : aceexe {
+ exename = Signals
+ Source_Files {
+ Signals.cpp
+ }
+}
+
+project(Signals2) : aceexe {
+ exename = Signals2
+ Source_Files {
+ Signals2.cpp
+ }
+}
+
+project(Start Hook) : aceexe {
+ exename = Start_Hook
+ Source_Files {
+ Start_Hook.cpp
+ }
+}
+
+project(State) : aceexe {
+ exename = State
+ Source_Files {
+ State.cpp
+ }
+}
diff --git a/examples/APG/ThreadManagement/threadmgmt.mwc b/examples/APG/ThreadManagement/threadmgmt.mwc
new file mode 100644
index 00000000000..bba6ac92290
--- /dev/null
+++ b/examples/APG/ThreadManagement/threadmgmt.mwc
@@ -0,0 +1,3 @@
+workspace {
+ threadmgmt.mpc
+}
diff --git a/examples/APG/ThreadPools/Futures.cpp b/examples/APG/ThreadPools/Futures.cpp
new file mode 100644
index 00000000000..56471146ac2
--- /dev/null
+++ b/examples/APG/ThreadPools/Futures.cpp
@@ -0,0 +1,328 @@
+// $Id$
+
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_time.h"
+#include "ace/Task.h"
+#include "ace/Unbounded_Queue.h"
+#include "ace/Synch.h"
+#include "ace/SString.h"
+#include "ace/Method_Request.h"
+#include "ace/Future.h"
+#include "ace/Activation_Queue.h"
+
+#define OUTSTANDING_REQUESTS 20
+
+// Listing 2 code/ch16
+class CompletionCallBack: public ACE_Future_Observer<ACE_CString*>
+{
+public:
+ virtual void update (const ACE_Future<ACE_CString*> & future)
+ {
+ ACE_CString *result;
+
+ // Block for the result.
+ ((ACE_Future<ACE_CString*>)future).get (result);
+ ACE_DEBUG ((LM_INFO, ACE_TEXT("%C\n"), result->c_str ()));
+ delete result;
+ }
+};
+// Listing 2
+// Listing 1 code/ch16
+class LongWork : public ACE_Method_Request
+{
+public:
+ virtual int call (void)
+ {
+ ACE_TRACE (ACE_TEXT ("LongWork::call"));
+ ACE_DEBUG
+ ((LM_INFO, ACE_TEXT ("(%t) Attempting long work task\n")));
+ ACE_OS::sleep (1);
+
+ char buf[1024];
+ ACE_OS::strcpy (buf, ACE_TEXT ("Completed assigned task\n"));
+ ACE_CString *msg;
+ ACE_NEW_RETURN
+ (msg, ACE_CString (buf, ACE_OS::strlen (buf) + 1), -1);
+ result_.set (msg);
+ return 0;
+ }
+
+ ACE_Future<ACE_CString*> &future (void)
+ {
+ ACE_TRACE (ACE_TEXT ("LongWork::future"));
+ return result_;
+ }
+
+ void attach (CompletionCallBack *cb)
+ {
+ result_.attach (cb);
+ }
+
+private:
+ ACE_Future<ACE_CString*> result_;
+};
+// Listing 1
+
+class Exit : public ACE_Method_Request
+{
+public:
+ virtual int call (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Exit::call"));
+ return -1;
+ }
+};
+
+class Worker;
+
+class IManager
+{
+public:
+ virtual int return_to_work (Worker *worker) = 0;
+};
+
+// Listing 3 code/ch16
+class Worker: public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ Worker (IManager *manager)
+ : manager_(manager), queue_ (msg_queue ())
+ { }
+
+ int perform (ACE_Method_Request *req)
+ {
+ ACE_TRACE (ACE_TEXT ("Worker::perform"));
+ return this->queue_.enqueue (req);
+ }
+
+ virtual int svc (void)
+ {
+ thread_id_ = ACE_Thread::self ();
+ while (1)
+ {
+ ACE_Method_Request *request = this->queue_.dequeue();
+ if (request == 0)
+ return -1;
+
+ // Invoke the request
+ int result = request->call ();
+ if (result == -1)
+ break;
+
+ // Return to work.
+ this->manager_->return_to_work (this);
+ }
+
+ return 0;
+ }
+
+ ACE_thread_t thread_id (void);
+
+private:
+ IManager *manager_;
+ ACE_thread_t thread_id_;
+ ACE_Activation_Queue queue_;
+};
+// Listing 3
+
+ACE_thread_t Worker::thread_id (void)
+{
+ return thread_id_;
+}
+
+// Listing 4 code/ch16
+class Manager : public ACE_Task_Base, private IManager
+{
+public:
+ enum {POOL_SIZE = 5, MAX_TIMEOUT = 5};
+
+ Manager ()
+ : shutdown_(0), workers_lock_(), workers_cond_(workers_lock_)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::TP"));
+ }
+
+ int perform (ACE_Method_Request *req)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::perform"));
+ return this->queue_.enqueue (req);
+ }
+
+ int svc (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::svc"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) Manager started\n")));
+
+ // Create pool when you get in the first time.
+ create_worker_pool ();
+
+ while (!done ())
+ {
+ ACE_Time_Value tv ((long)MAX_TIMEOUT);
+ tv += ACE_OS::time (0);
+
+ // Get the next message
+ ACE_Method_Request *request = this->queue_.dequeue (&tv);
+ if (request == 0)
+ {
+ shut_down ();
+ break;
+ }
+
+ // Choose a worker.
+ Worker *worker = choose_worker ();
+
+ // Ask the worker to do the job.
+ worker->perform (request);
+ }
+
+ return 0;
+ }
+
+ int shut_down (void);
+
+ virtual int return_to_work (Worker *worker)
+ {
+ ACE_GUARD_RETURN
+ (ACE_Thread_Mutex, worker_mon, this->workers_lock_, -1);
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("(%t) Worker returning to work.\n")));
+ this->workers_.enqueue_tail (worker);
+ this->workers_cond_.signal ();
+
+ return 0;
+ }
+
+private:
+ Worker *choose_worker (void)
+ {
+ ACE_GUARD_RETURN
+ (ACE_Thread_Mutex, worker_mon, this->workers_lock_, 0)
+
+ while (this->workers_.is_empty ())
+ workers_cond_.wait ();
+
+ Worker *worker;
+ this->workers_.dequeue_head (worker);
+ return worker;
+ }
+
+ int create_worker_pool (void)
+ {
+ ACE_GUARD_RETURN
+ (ACE_Thread_Mutex, worker_mon, this->workers_lock_, -1);
+ for (int i = 0; i < POOL_SIZE; i++)
+ {
+ Worker *worker;
+ ACE_NEW_RETURN (worker, Worker (this), -1);
+ this->workers_.enqueue_tail (worker);
+ worker->activate ();
+ }
+
+ return 0;
+ }
+
+ int done (void)
+ {
+ return (shutdown_ == 1);
+ }
+
+ ACE_thread_t thread_id (Worker *worker)
+ {
+ return worker->thread_id ();
+ }
+
+private:
+ int shutdown_;
+ ACE_Thread_Mutex workers_lock_;
+ ACE_Condition<ACE_Thread_Mutex> workers_cond_;
+ ACE_Unbounded_Queue<Worker* > workers_;
+ ACE_Activation_Queue queue_;
+};
+// Listing 4
+
+int
+Manager::shut_down (void)
+{
+ ACE_TRACE (ACE_TEXT ("Manager::shut_down"));
+ ACE_Unbounded_Queue<Worker* >::ITERATOR iter = this->workers_.begin ();
+ Worker **worker_ptr = NULL;
+ do
+ {
+ iter.next (worker_ptr);
+ Worker *worker = (*worker_ptr);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Attempting shutdown of %d\n"),
+ thread_id (worker)));
+
+ Exit *req;
+ ACE_NEW_RETURN (req, Exit(), -1);
+
+ // Send the hangup message
+ worker->perform (req);
+
+ // Wait for the exit.
+ worker->wait ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Worker %d shut down.\n"),
+ thread_id (worker)));
+
+ delete req;
+ delete worker;
+
+ }
+ while (iter.advance ());
+
+ shutdown_ = 1;
+
+ return 0;
+}
+
+// Listing 5 code/ch16
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Manager tp;
+ tp.activate ();
+
+ ACE_Time_Value tv;
+ tv.msec (100);
+
+ // Wait for a few seconds every time you send a message.
+ CompletionCallBack cb;
+ LongWork workArray[OUTSTANDING_REQUESTS];
+ for (int i = 0; i < OUTSTANDING_REQUESTS; i++)
+ {
+ workArray[i].attach (&cb);
+ ACE_OS::sleep (tv);
+ tp.perform (&workArray[i]);
+ }
+
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
+// Listing 5
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Condition<ACE_Thread_Mutex>;
+template class ACE_Future<ACE_String_Base<char>*>;
+template class ACE_Future_Observer<ACE_String_Base<char>*>;
+template class ACE_Future_Rep<ACE_String_Base<char>*>;
+template class ACE_Node<Worker*>;
+template class ACE_Node<ACE_Future_Observer<ACE_String_Base<char>*>*>;
+template class ACE_Unbounded_Queue<Worker*>;
+template class ACE_Unbounded_Queue_Iterator<Worker*>;
+template class ACE_Unbounded_Set<ACE_Future_Observer<ACE_String_Base<char>*>*>;
+template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<ACE_String_Base<char>*>*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Condition<ACE_Thread_Mutex>
+#pragma instantiate ACE_Future<ACE_String_Base<char>*>
+#pragma instantiate ACE_Future_Observer<ACE_String_Base<char>*>
+#pragma instantiate ACE_Future_Rep<ACE_String_Base<char>*>
+#pragma instantiate ACE_Node<Worker*>
+#pragma instantiate ACE_Node<ACE_Future_Observer<ACE_String_Base<char>*>*>
+#pragma instantiate ACE_Unbounded_Queue<Worker*>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<Worker*>
+#pragma instantiate ACE_Unbounded_Set<ACE_Future_Observer<ACE_String_Base<char>*>*>
+#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_Future_Observer<ACE_String_Base<char>*>*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadPools/LF_ThreadPool.cpp b/examples/APG/ThreadPools/LF_ThreadPool.cpp
new file mode 100644
index 00000000000..c8fdc57314b
--- /dev/null
+++ b/examples/APG/ThreadPools/LF_ThreadPool.cpp
@@ -0,0 +1,249 @@
+// $Id$
+
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_sys_time.h"
+#include "ace/Task.h"
+#include "ace/Containers.h"
+#include "ace/Synch.h"
+
+// Listing 4 code/ch16
+class Follower
+{
+public:
+ Follower (ACE_Thread_Mutex &leader_lock)
+ : cond_(leader_lock)
+ {
+ owner_ = ACE_Thread::self ();
+ }
+
+ int wait (void)
+ {
+ return this->cond_.wait ();
+ }
+
+ int signal (void)
+ {
+ return this->cond_.signal ();
+ }
+
+ ACE_thread_t owner (void)
+ {
+ return this->owner_;
+ }
+
+private:
+ ACE_Condition<ACE_Thread_Mutex> cond_;
+ ACE_thread_t owner_;
+};
+// Listing 4
+// Listing 1 code/ch16
+class LF_ThreadPool : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ LF_ThreadPool () : shutdown_(0), current_leader_(0)
+ {
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::TP"));
+ }
+
+ virtual int svc (void);
+
+ void shut_down (void)
+ {
+ shutdown_ = 1;
+ }
+
+private:
+ int become_leader (void);
+
+ Follower *make_follower (void);
+
+ int elect_new_leader (void);
+
+ int leader_active (void)
+ {
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::leader_active"));
+ return this->current_leader_ != 0;
+ }
+
+ void leader_active (ACE_thread_t leader)
+ {
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::leader_active"));
+ this->current_leader_ = leader;
+ }
+
+ void process_message (ACE_Message_Block *mb);
+
+ int done (void)
+ {
+ return (shutdown_ == 1);
+ }
+
+private:
+ int shutdown_;
+ ACE_thread_t current_leader_;
+ ACE_Thread_Mutex leader_lock_;
+ ACE_Unbounded_Queue<Follower*> followers_;
+ ACE_Thread_Mutex followers_lock_;
+ static long LONG_TIME;
+};
+// Listing 1
+// Listing 2 code/ch16
+int
+LF_ThreadPool::svc (void)
+{
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::svc"));
+ while (!done ())
+ {
+ become_leader (); // Block until this thread is the leader.
+
+ ACE_Message_Block *mb = NULL;
+ ACE_Time_Value tv (LONG_TIME);
+ tv += ACE_OS::gettimeofday ();
+
+ // Get a message, elect new leader, then process message.
+ if (this->getq (mb, &tv) < 0)
+ {
+ if (elect_new_leader () == 0)
+ break;
+ continue;
+ }
+
+ elect_new_leader ();
+ process_message (mb);
+ }
+
+ return 0;
+}
+// Listing 2
+// Listing 3 code/ch16
+int
+LF_ThreadPool::become_leader (void)
+{
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::become_leader"));
+
+ ACE_GUARD_RETURN
+ (ACE_Thread_Mutex, leader_mon, this->leader_lock_, -1);
+ if (leader_active ())
+ {
+ Follower *fw = make_follower ();
+ {
+ // Wait until told to do so.
+ while (leader_active ())
+ fw->wait ();
+ }
+
+ delete fw;
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Becoming the leader\n")));
+
+ // Mark yourself as the active leader.
+ leader_active (ACE_Thread::self ());
+ return 0;
+}
+
+Follower*
+LF_ThreadPool::make_follower (void)
+{
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::make_follower"));
+
+ ACE_GUARD_RETURN
+ (ACE_Thread_Mutex, follower_mon, this->followers_lock_, 0);
+ Follower *fw;
+ ACE_NEW_RETURN (fw, Follower (this->leader_lock_), 0);
+ this->followers_.enqueue_tail (fw);
+ return fw;
+}
+// Listing 3
+// Listing 5 code/ch16
+int
+LF_ThreadPool::elect_new_leader (void)
+{
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::elect_new_leader"));
+
+ ACE_GUARD_RETURN
+ (ACE_Thread_Mutex, leader_mon, this->leader_lock_, -1);
+ leader_active (0);
+
+ // Wake up a follower
+ if (!followers_.is_empty ())
+ {
+ ACE_GUARD_RETURN (ACE_Thread_Mutex,
+ follower_mon,
+ this->followers_lock_,
+ -1);
+ // Get the old follower.
+ Follower *fw;
+ if (this->followers_.dequeue_head (fw) != 0)
+ return -1;
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("(%t) Resigning and Electing %d\n"),
+ fw->owner ()));
+ return (fw->signal () == 0) ? 0 : -1;
+ }
+ else
+ {
+ ACE_DEBUG
+ ((LM_ERROR, ACE_TEXT ("(%t) Oops no followers left\n")));
+ return -1;
+ }
+}
+// Listing 5
+
+void
+LF_ThreadPool::process_message (ACE_Message_Block *mb)
+{
+ ACE_TRACE (ACE_TEXT ("LF_ThreadPool::process_message"));
+ int msgId;
+ ACE_OS::memcpy (&msgId, mb->rd_ptr (), sizeof(int));
+ mb->release ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Started processing message:%d\n"),
+ msgId));
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Finished processing message:%d\n"),
+ msgId));
+}
+
+long LF_ThreadPool::LONG_TIME = 5L;
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ LF_ThreadPool tp;
+ tp.activate (THR_NEW_LWP| THR_JOINABLE, 5);
+
+ // Wait for a few seconds...
+ ACE_OS::sleep (2);
+ ACE_Time_Value tv (1L);
+
+ ACE_Message_Block *mb;
+ for (int i = 0; i < 30; i++)
+ {
+ ACE_NEW_RETURN (mb, ACE_Message_Block (sizeof(int)), -1);
+ ACE_OS::memcpy (mb->wr_ptr (), &i, sizeof(int));
+ ACE_OS::sleep (tv);
+
+ // Add a new work item.
+ tp.putq (mb);
+ }
+
+ ACE_Thread_Manager::instance ()->wait ();
+
+ ACE_OS::sleep (10);
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Condition<ACE_Thread_Mutex>;
+template class ACE_Node<Follower*>;
+template class ACE_Unbounded_Queue<Follower*>;
+template class ACE_Unbounded_Queue_Iterator<Follower*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Condition<ACE_Thread_Mutex>
+#pragma instantiate ACE_Node<Follower*>
+#pragma instantiate ACE_Unbounded_Queue<Follower*>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<Follower*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadPools/Makefile b/examples/APG/ThreadPools/Makefile
new file mode 100644
index 00000000000..c009dbbe8be
--- /dev/null
+++ b/examples/APG/ThreadPools/Makefile
@@ -0,0 +1,1456 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Futures \
+ LF_ThreadPool \
+ Task_ThreadPool \
+ ThreadPool \
+ TP_Reactor
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Futures.o .obj/Futures.so .shobj/Futures.o .shobj/Futures.so: Futures.cpp \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Future.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Future.cpp \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i
+
+.obj/LF_ThreadPool.o .obj/LF_ThreadPool.so .shobj/LF_ThreadPool.o .shobj/LF_ThreadPool.so: LF_ThreadPool.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/Task_ThreadPool.o .obj/Task_ThreadPool.so .shobj/Task_ThreadPool.o .shobj/Task_ThreadPool.so: Task_ThreadPool.cpp \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i
+
+.obj/ThreadPool.o .obj/ThreadPool.so .shobj/ThreadPool.o .shobj/ThreadPool.so: ThreadPool.cpp \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Method_Request.h \
+ $(ACE_ROOT)/ace/Future.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Future.cpp \
+ $(ACE_ROOT)/ace/Activation_Queue.h \
+ $(ACE_ROOT)/ace/Activation_Queue.i
+
+.obj/TP_Reactor.o .obj/TP_Reactor.so .shobj/TP_Reactor.o .shobj/TP_Reactor.so: TP_Reactor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.inl \
+ $(ACE_ROOT)/ace/TP_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor.h \
+ $(ACE_ROOT)/ace/Select_Reactor_T.h \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.h \
+ $(ACE_ROOT)/ace/Token.h \
+ $(ACE_ROOT)/ace/Token.i \
+ $(ACE_ROOT)/ace/Pipe.h \
+ $(ACE_ROOT)/ace/Pipe.i \
+ $(ACE_ROOT)/ace/Select_Reactor_Base.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Timer_Heap.h \
+ $(ACE_ROOT)/ace/Timer_Heap_T.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_stat.inl \
+ $(ACE_ROOT)/ace/Select_Reactor_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/TP_Reactor.i \
+ Request_Handler.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/ThreadPools/Request_Handler.h b/examples/APG/ThreadPools/Request_Handler.h
new file mode 100644
index 00000000000..c534fd57670
--- /dev/null
+++ b/examples/APG/ThreadPools/Request_Handler.h
@@ -0,0 +1,31 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __REQUEST_HANDLER_H_
+#define __REQUEST_HANDLER_H_
+
+#include "ace/Svc_Handler.h"
+#include "ace/SOCK_Stream.h"
+class ACE_Thread_Manager;
+
+class Request_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
+ {
+ // = TITLE
+ // This class is the Svc_Handler used by <Acceptor>.
+ public:
+ Request_Handler (ACE_Thread_Manager *tm = 0);
+ // The default constructor makes sure the right reactor is used.
+
+ protected:
+ virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+ virtual int handle_close (ACE_HANDLE fd, ACE_Reactor_Mask = 0);
+
+ private:
+ size_t nr_msgs_rcvd_;
+ };
+
+#endif /* __REQUEST_HANDLER_H_ */
diff --git a/examples/APG/ThreadPools/TP_Reactor.cpp b/examples/APG/ThreadPools/TP_Reactor.cpp
new file mode 100644
index 00000000000..5d574a59d50
--- /dev/null
+++ b/examples/APG/ThreadPools/TP_Reactor.cpp
@@ -0,0 +1,270 @@
+// == == == == == == == == == == == == == == == == == == == == == == ==
+// $Id$
+// Stolen from $ACE_ROOT/tests/Thread_Pool_Reactor_Test.cpp
+// Thread_Pool_Reactor_Test.cpp, v 1.29 2001/03/20 01:07:21 irfan Exp
+// = AUTHOR
+// Irfan Pyarali <irfan@cs.wustl.edu> and
+// Nanbor Wang <nanbor@cs.wustl.edu>
+// == == == == == == == == == == == == == == == == == == == == == == ==
+#include "ace/OS_NS_string.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Acceptor.h"
+#include "ace/Thread_Manager.h"
+#include "ace/TP_Reactor.h"
+
+#include "Request_Handler.h"
+
+// Accepting end point. This is actually "localhost:10010", but some
+// platform couldn't resolve the name so we use the IP address
+// directly here.
+static const ACE_TCHAR *rendezvous = ACE_TEXT ("127.0.0.1:10010");
+
+// Total number of server threads.
+static size_t svr_thrno = 5;
+
+// Total number of client threads.
+static size_t cli_runs = 2;
+
+// Total connection attemps of a client thread.
+static size_t cli_conn_no = 2;
+
+// Total requests a client thread sends.
+static size_t cli_req_no = 5;
+
+// Delay before a thread sending the next request (in msec.)
+static int req_delay = 50;
+
+
+typedef ACE_Strategy_Acceptor <Request_Handler, ACE_SOCK_ACCEPTOR> ACCEPTOR;
+
+
+Request_Handler::Request_Handler (ACE_Thread_Manager *thr_mgr)
+ : ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH> (thr_mgr),
+ nr_msgs_rcvd_(0)
+{
+ this->reactor (ACE_Reactor::instance ());
+}
+
+int
+Request_Handler::handle_input (ACE_HANDLE fd)
+{
+ ACE_TCHAR buffer[BUFSIZ];
+ ACE_TCHAR len = 0;
+ ssize_t result = this->peer ().recv (&len, sizeof (ACE_TCHAR));
+
+ if (result > 0
+ && this->peer ().recv_n (buffer, len * sizeof (ACE_TCHAR))
+ == ACE_static_cast (ssize_t, len * sizeof (ACE_TCHAR)))
+ {
+ ++this->nr_msgs_rcvd_;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) svr input; fd: 0x%x; input: %s\n"),
+ fd,
+ buffer));
+ if (ACE_OS::strcmp (buffer, ACE_TEXT ("shutdown")) == 0)
+ ACE_Reactor::end_event_loop ();
+ return 0;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Request_Handler: 0x%x peer closed (0x%x)\n"),
+ this, fd));
+ return -1;
+}
+
+int
+Request_Handler::handle_close (ACE_HANDLE fd, ACE_Reactor_Mask)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) svr close; fd: 0x%x, rcvd %d msgs\n"),
+ fd,
+ this->nr_msgs_rcvd_));
+
+ if (this->nr_msgs_rcvd_ != cli_req_no)
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT ("(%t) Handler 0x%x: Expected %d messages; got %d\n"),
+ this,
+ cli_req_no,
+ this->nr_msgs_rcvd_));
+
+ this->destroy ();
+ return 0;
+}
+
+// Listing 2 code/ch16
+static int
+reactor_event_hook (ACE_Reactor *)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) handling events ....\n")));
+
+ return 0;
+}
+
+class ServerTP : public ACE_Task_Base
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Running the event loop\n")));
+
+ int result =
+ ACE_Reactor::instance ()->run_reactor_event_loop
+ (&reactor_event_hook);
+
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Error handling events")),
+ 0);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Done handling events.\n")));
+
+ return 0;
+ }
+};
+// Listing 2
+
+class Client: public ACE_Task_Base
+ {
+ public:
+ Client()
+ :addr_(rendezvous)
+ {}
+
+ virtual int svc()
+ {
+ ACE_OS::sleep (3);
+ const ACE_TCHAR *msg =
+ ACE_TEXT ("Message from Connection worker");
+
+ ACE_TCHAR buf [BUFSIZ];
+ buf[0] = ACE_OS::strlen (msg) + 1;
+ ACE_OS::strcpy (&buf[1], msg);
+
+ for (size_t i = 0; i < cli_runs; i++)
+ send_work_to_server(buf);
+
+ shut_down();
+
+ return 0;
+ }
+
+ private:
+ void send_work_to_server(ACE_TCHAR* arg)
+ {
+ ACE_SOCK_Stream stream;
+ ACE_SOCK_Connector connect;
+ ACE_Time_Value delay (0, req_delay);
+ size_t len = * ACE_reinterpret_cast (ACE_TCHAR *, arg);
+
+ for (size_t i = 0 ; i < cli_conn_no; i++)
+ {
+ if (connect.connect (stream, addr_) < 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("connect")));
+ continue;
+ }
+
+ for (size_t j = 0; j < cli_req_no; j++)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Sending work to server on handle 0x%x, req %d\n"),
+ stream.get_handle (),
+ j+1));
+ if (stream.send_n (arg,
+ (len + 1) * sizeof (ACE_TCHAR)) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("send_n")));
+ continue;
+ }
+ ACE_OS::sleep (delay);
+ }
+
+ stream.close ();
+ }
+
+ }
+
+ void shut_down()
+ {
+ ACE_SOCK_Stream stream;
+ ACE_SOCK_Connector connect;
+
+ if (connect.connect (stream, addr_) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p Error while connecting\n"),
+ ACE_TEXT ("connect")));
+
+ const ACE_TCHAR *sbuf = ACE_TEXT ("\011shutdown");
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("shutdown stream handle = %x\n"),
+ stream.get_handle ()));
+
+ if (stream.send_n (sbuf, (ACE_OS::strlen (sbuf) + 1) * sizeof (ACE_TCHAR)) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("send_n")));
+
+ stream.close ();
+ }
+ private:
+ ACE_INET_Addr addr_;
+ };
+// Listing 1 code/ch16
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_TP_Reactor sr;
+ ACE_Reactor new_reactor (&sr);
+ ACE_Reactor::instance (&new_reactor);
+
+ ACCEPTOR acceptor;
+ ACE_INET_Addr accept_addr (rendezvous);
+
+ if (acceptor.open (accept_addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("open")),
+ 1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Spawning %d server threads...\n"),
+ svr_thrno));
+
+ ServerTP serverTP;
+ serverTP.activate (THR_NEW_LWP | THR_JOINABLE, svr_thrno);
+
+ Client client;
+ client.activate ();
+
+ ACE_Thread_Manager::instance ()->wait ();
+
+ return 0;
+}
+// Listing 1
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Accept_Strategy<Request_Handler, ACE_SOCK_ACCEPTOR>;
+template class ACE_Concurrency_Strategy<Request_Handler>;
+template class ACE_Creation_Strategy<Request_Handler>;
+template class ACE_Scheduling_Strategy<Request_Handler>;
+template class ACE_Acceptor<Request_Handler, ACE_SOCK_ACCEPTOR>;
+template class ACE_Strategy_Acceptor<Request_Handler, ACE_SOCK_ACCEPTOR>;
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Accept_Strategy<Request_Handler, ACE_SOCK_ACCEPTOR>
+#pragma instantiate ACE_Concurrency_Strategy<Request_Handler>
+#pragma instantiate ACE_Creation_Strategy<Request_Handler>
+#pragma instantiate ACE_Scheduling_Strategy<Request_Handler>
+#pragma instantiate ACE_Acceptor<Request_Handler, ACE_SOCK_ACCEPTOR>
+#pragma instantiate ACE_Strategy_Acceptor<Request_Handler, ACE_SOCK_ACCEPTOR>
+#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadPools/Task_ThreadPool.cpp b/examples/APG/ThreadPools/Task_ThreadPool.cpp
new file mode 100644
index 00000000000..216d4bcb6e5
--- /dev/null
+++ b/examples/APG/ThreadPools/Task_ThreadPool.cpp
@@ -0,0 +1,133 @@
+// $Id$
+
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_time.h"
+#include "ace/Task.h"
+#include "ace/Synch.h"
+#include "ace/SString.h"
+
+// Listing 2 code/ch16
+class Workers : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ Workers ()
+ { }
+
+ virtual int svc (void)
+ {
+ while (1)
+ {
+ ACE_Message_Block *mb = 0;
+ if (this->getq (mb) == -1)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("(%t) Shutting down\n")));
+ break;
+ }
+
+ // Process the message.
+ process_message (mb);
+ }
+
+ return 0;
+ }
+ // Listing 2
+
+private:
+ void process_message (ACE_Message_Block *mb)
+ {
+ ACE_TRACE (ACE_TEXT ("Workers::process_message"));
+ int msgId;
+ ACE_OS::memcpy (&msgId, mb->rd_ptr (), sizeof(int));
+ mb->release ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Started processing message %d\n"),
+ msgId));
+ ACE_OS::sleep (3);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Finished processing message %d\n"),
+ msgId));
+ }
+};
+
+// Listing 1 code/ch16
+class Manager : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ enum {POOL_SIZE = 5, MAX_TIMEOUT = 5};
+
+ Manager () : shutdown_(0)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::Manager"));
+ }
+
+ int svc (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::svc"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) Manager started\n")));
+
+ // Create pool.
+ Workers pool;
+ pool.activate (THR_NEW_LWP | THR_JOINABLE, POOL_SIZE);
+
+ while (!done ())
+ {
+ ACE_Message_Block *mb = 0;
+ ACE_Time_Value tv ((long)MAX_TIMEOUT);
+ tv += ACE_OS::time (0);
+
+ // Get a message request.
+ if (this->getq (mb, &tv) < 0)
+ {
+ pool.msg_queue ()->deactivate ();
+ pool.wait ();
+ }
+
+ // Ask the worker pool to do the job.
+ pool.putq (mb);
+ }
+
+ return 0;
+ }
+
+private:
+ int done (void);
+
+ int shutdown_;
+};
+// Listing 1
+
+int Manager::done (void)
+{
+ return (shutdown_ == 1);
+}
+
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Manager tp;
+ tp.activate ();
+
+ // Wait for a moment every time you send a message.
+ ACE_Time_Value tv;
+ tv.msec (100);
+
+ ACE_Message_Block *mb;
+ for (int i = 0; i < 30; i++)
+ {
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block(sizeof(int)), -1);
+
+ ACE_OS::memcpy (mb->wr_ptr (), &i, sizeof(int));
+
+ ACE_OS::sleep (tv);
+
+ // Add a new work item.
+ tp.putq (mb);
+ }
+
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
diff --git a/examples/APG/ThreadPools/ThreadPool.cpp b/examples/APG/ThreadPools/ThreadPool.cpp
new file mode 100644
index 00000000000..5e583283131
--- /dev/null
+++ b/examples/APG/ThreadPools/ThreadPool.cpp
@@ -0,0 +1,266 @@
+// $Id$
+
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_time.h"
+#include "ace/Task.h"
+#include "ace/Containers.h"
+#include "ace/Synch.h"
+#include "ace/SString.h"
+#include "ace/Method_Request.h"
+#include "ace/Future.h"
+#include "ace/Activation_Queue.h"
+
+class Worker;
+
+class IManager
+{
+public:
+ virtual int return_to_work (Worker *worker) = 0;
+};
+
+// Listing 2 code/ch16
+class Worker : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ Worker (IManager *manager) : manager_(manager) { }
+
+ virtual int svc (void)
+ {
+ thread_id_ = ACE_Thread::self ();
+ while (1)
+ {
+ ACE_Message_Block *mb = 0;
+ if (this->getq (mb) == -1)
+ ACE_ERROR_BREAK
+ ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("getq")));
+ if (mb->msg_type () == ACE_Message_Block::MB_HANGUP)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("(%t) Shutting down\n")));
+ mb->release ();
+ break;
+ }
+ // Process the message.
+ process_message (mb);
+ // Return to work.
+ this->manager_->return_to_work (this);
+ }
+
+ return 0;
+ }
+ // Listing 2
+
+ ACE_thread_t thread_id (void)
+ {
+ return thread_id_;
+ }
+
+private:
+ void process_message (ACE_Message_Block *mb)
+ {
+ ACE_TRACE (ACE_TEXT ("Worker::process_message"));
+ int msgId;
+ ACE_OS::memcpy (&msgId, mb->rd_ptr (), sizeof(int));
+ mb->release ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Started processing message %d\n"),
+ msgId));
+ ACE_OS::sleep (3);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Finished processing message %d\n"),
+ msgId));
+ }
+
+ IManager *manager_;
+ ACE_thread_t thread_id_;
+};
+
+// Listing 1 code/ch16
+class Manager: public ACE_Task<ACE_MT_SYNCH>, private IManager
+{
+public:
+ enum {POOL_SIZE = 5, MAX_TIMEOUT = 5};
+
+ Manager ()
+ : shutdown_(0), workers_lock_(), workers_cond_(workers_lock_)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::Manager"));
+ }
+
+ int svc (void)
+ {
+ ACE_TRACE (ACE_TEXT ("Manager::svc"));
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) Manager started\n")));
+
+ // Create pool.
+ create_worker_pool ();
+
+ while (!done ())
+ {
+ ACE_Message_Block *mb = NULL;
+ ACE_Time_Value tv ((long)MAX_TIMEOUT);
+ tv += ACE_OS::time (0);
+
+ // Get a message request.
+ if (this->getq (mb, &tv) < 0)
+ {
+ shut_down ();
+ break;
+ }
+
+ // Choose a worker.
+ Worker *worker;
+ {
+ ACE_GUARD_RETURN (ACE_Thread_Mutex,
+ worker_mon, this->workers_lock_, -1);
+
+ while (this->workers_.is_empty ())
+ workers_cond_.wait ();
+
+ this->workers_.dequeue_head (worker);
+ }
+
+ // Ask the worker to do the job.
+ worker->putq (mb);
+ }
+
+ return 0;
+ }
+
+ int shut_down (void);
+
+ ACE_thread_t thread_id (Worker *worker);
+
+ virtual int return_to_work (Worker *worker)
+ {
+ ACE_GUARD_RETURN (ACE_Thread_Mutex,
+ worker_mon, this->workers_lock_, -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Worker %d returning to work.\n"),
+ worker->thr_mgr ()->thr_self ()));
+ this->workers_.enqueue_tail (worker);
+ this->workers_cond_.signal ();
+
+ return 0;
+ }
+
+private:
+ int create_worker_pool (void)
+ {
+ ACE_GUARD_RETURN (ACE_Thread_Mutex,
+ worker_mon,
+ this->workers_lock_,
+ -1);
+ for (int i = 0; i < POOL_SIZE; i++)
+ {
+ Worker *worker;
+ ACE_NEW_RETURN (worker, Worker (this), -1);
+ this->workers_.enqueue_tail (worker);
+ worker->activate ();
+ }
+
+ return 0;
+ }
+
+ int done (void);
+
+private:
+ int shutdown_;
+ ACE_Thread_Mutex workers_lock_;
+ ACE_Condition<ACE_Thread_Mutex> workers_cond_;
+ ACE_Unbounded_Queue<Worker* > workers_;
+};
+// Listing 1
+
+int Manager::done (void)
+{
+ return (shutdown_ == 1);
+}
+
+int
+Manager::shut_down (void)
+{
+ ACE_TRACE (ACE_TEXT ("Manager::shut_down"));
+ ACE_Unbounded_Queue<Worker* >::ITERATOR iter =
+ this->workers_.begin ();
+ Worker **worker_ptr = NULL;
+ do
+ {
+ iter.next (worker_ptr);
+ Worker *worker = (*worker_ptr);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Attempting shutdown of %d\n"),
+ thread_id (worker)));
+
+ // Send the hangup message.
+ ACE_Message_Block *mb;
+ ACE_NEW_RETURN
+ (mb,
+ ACE_Message_Block(0,
+ ACE_Message_Block::MB_HANGUP),
+ -1);
+ worker->putq (mb);
+
+ // Wait for the exit.
+ worker->wait ();
+
+ ACE_ASSERT (worker->msg_queue ()->is_empty ());
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Worker %d shut down.\n)"),
+ thread_id (worker)));
+ delete worker;
+ }
+ while (iter.advance ());
+
+ shutdown_ = 1;
+
+ return 0;
+}
+
+ACE_thread_t
+Manager::thread_id (Worker *worker)
+{
+ return worker->thread_id ();
+}
+
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ Manager tp;
+ tp.activate ();
+
+ // Wait for a moment every time you send a message.
+ ACE_Time_Value tv;
+ tv.msec (100);
+
+ ACE_Message_Block *mb;
+ for (int i = 0; i < 30; i++)
+ {
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block(sizeof(int)), -1);
+
+ ACE_OS::memcpy (mb->wr_ptr (), &i, sizeof(int));
+
+ ACE_OS::sleep (tv);
+
+ // Add a new work item.
+ tp.putq (mb);
+ }
+
+ ACE_Thread_Manager::instance ()->wait ();
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Condition<ACE_Thread_Mutex>;
+template class ACE_Node<Worker*>;
+template class ACE_Unbounded_Queue<Worker*>;
+template class ACE_Unbounded_Queue_Iterator<Worker*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Condition<ACE_Thread_Mutex>
+#pragma instantiate ACE_Node<Worker*>
+#pragma instantiate ACE_Unbounded_Queue<Worker*>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<Worker*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadPools/threadpools.mpc b/examples/APG/ThreadPools/threadpools.mpc
new file mode 100644
index 00000000000..17818218490
--- /dev/null
+++ b/examples/APG/ThreadPools/threadpools.mpc
@@ -0,0 +1,34 @@
+project(Futures) : aceexe {
+ exename = Futures
+ Source_Files {
+ Futures.cpp
+ }
+}
+
+project(LF ThreadPool) : aceexe {
+ exename = LF_ThreadPool
+ Source_Files {
+ LF_ThreadPool.cpp
+ }
+}
+
+project(Task ThreadPool) : aceexe {
+ exename = Task_ThreadPool
+ Source_Files {
+ Task_ThreadPool.cpp
+ }
+}
+
+project(ThreadPool) : aceexe {
+ exename = ThreadPool
+ Source_Files {
+ ThreadPool.cpp
+ }
+}
+
+project(TP Reactor) : aceexe {
+ exename = TP_Reactor
+ Source_Files {
+ TP_Reactor.cpp
+ }
+}
diff --git a/examples/APG/ThreadPools/threadpools.mwc b/examples/APG/ThreadPools/threadpools.mwc
new file mode 100644
index 00000000000..efa2761e852
--- /dev/null
+++ b/examples/APG/ThreadPools/threadpools.mwc
@@ -0,0 +1,3 @@
+workspace {
+ threadpools.mpc
+}
diff --git a/examples/APG/ThreadSafety/Atomic_Op.cpp b/examples/APG/ThreadSafety/Atomic_Op.cpp
new file mode 100644
index 00000000000..f09a65d6d90
--- /dev/null
+++ b/examples/APG/ThreadSafety/Atomic_Op.cpp
@@ -0,0 +1,138 @@
+// $Id$
+
+#include "ace/Synch.h"
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+#include "ace/Atomic_Op.h"
+
+#if defined(RUNNING_ON_UNSAFE_MULTIPROCESSOR)
+// Listing 1 code/ch14
+typedef ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int> SafeUInt;
+// Listing 1
+// Listing 2 code/ch14
+typedef ACE_Atomic_Op<ACE_Thread_Mutex, int> SafeInt;
+// Listing 2
+#else
+typedef ACE_Atomic_Op<ACE_Null_Mutex, unsigned int> SafeUInt;
+typedef ACE_Atomic_Op<ACE_Null_Mutex, int> SafeInt;
+#endif /* RUNNING_ON_UNSAFE_MULTIPROCESSOR) */
+
+static const unsigned int Q_SIZE = 2;
+static const int MAX_PROD = 10;
+
+// Listing 3 code/ch14
+class Producer : public ACE_Task_Base
+{
+public:
+ Producer (int *buf, SafeUInt &in, SafeUInt &out)
+ : buf_(buf), in_(in), out_(out)
+ { }
+
+ int svc (void)
+ {
+ SafeInt itemNo = 0;
+ while (1)
+ {
+ // Busy wait.
+ do
+ { }
+ while (in_.value () - out_.value () == Q_SIZE);
+
+ itemNo++;
+ buf_[in_.value () % Q_SIZE] = itemNo.value ();
+ in_++;
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Produced %d \n"),
+ itemNo.value ()));
+
+ if (check_termination (itemNo.value ()))
+ break;
+ }
+
+ return 0;
+ }
+
+ int check_termination (int item)
+ {
+ return (item == MAX_PROD);
+ }
+
+private:
+ int * buf_;
+ SafeUInt& in_;
+ SafeUInt& out_;
+};
+
+class Consumer : public ACE_Task_Base
+{
+public:
+ Consumer (int *buf, SafeUInt &in, SafeUInt& out)
+ : buf_(buf), in_(in), out_(out)
+ { }
+
+ int svc (void)
+ {
+ while (1)
+ {
+ int item;
+
+ // Busy wait.
+ do
+ { }
+ while (in_.value () - out_.value () == 0);
+
+ item = buf_[out_.value () % Q_SIZE];
+ out_++;
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Consumed %d\n"),
+ item));
+
+ if (check_termination (item))
+ break;
+ }
+
+ return 0;
+ }
+
+ int check_termination (int item)
+ {
+ return (item == MAX_PROD);
+ }
+
+private:
+ int * buf_;
+ SafeUInt& in_;
+ SafeUInt& out_;
+};
+// Listing 3
+
+// Listing 4 code/ch14
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ int shared_buf[Q_SIZE];
+ SafeUInt in = 0;
+ SafeUInt out = 0;
+
+ Producer producer (shared_buf, in, out);
+ Consumer consumer (shared_buf, in, out);
+
+ producer.activate();
+ consumer.activate();
+ producer.wait();
+ consumer.wait();
+
+ return 0;
+}
+// Listing 4
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Atomic_Op<ACE_Null_Mutex, unsigned int>;
+template class ACE_Atomic_Op<ACE_Null_Mutex, int>;
+template class ACE_Atomic_Op_Ex<ACE_Null_Mutex, unsigned int>;
+template class ACE_Atomic_Op_Ex<ACE_Null_Mutex, int>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op<ACE_Null_Mutex, unsigned int>
+#pragma instantiate ACE_Atomic_Op<ACE_Null_Mutex, int>
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Null_Mutex, unsigned int>
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Null_Mutex, int>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadSafety/Barrier.cpp b/examples/APG/ThreadSafety/Barrier.cpp
new file mode 100644
index 00000000000..22f738cab38
--- /dev/null
+++ b/examples/APG/ThreadSafety/Barrier.cpp
@@ -0,0 +1,77 @@
+// $Id$
+
+#include "ace/OS_NS_stdlib.h"
+#include "ace/OS_NS_time.h"
+#include "ace/Task.h"
+#include "ace/Synch.h"
+
+// Listing 2 code/ch14
+class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ enum { N_THREADS = 5 };
+
+ HA_CommandHandler (ACE_Barrier& startup_barrier,
+ ACE_Barrier &shutdown_barrier)
+ : startup_barrier_(startup_barrier),
+ shutdown_barrier_(shutdown_barrier)
+ { }
+
+ void initialize_handler (void);
+ int handle_command_requests (void);
+
+ int svc (void)
+ {
+ initialize_handler ();
+ startup_barrier_.wait ();
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t: %D) Started\n")));
+
+ while (handle_command_requests () > 0)
+ ;
+
+ shutdown_barrier_.wait ();
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t: %D) Ended\n")));
+
+ return 0;
+ }
+
+private:
+ ACE_Barrier& startup_barrier_;
+ ACE_Barrier& shutdown_barrier_;
+};
+// Listing 2
+
+void
+HA_CommandHandler::initialize_handler (void)
+{
+ ACE_Time_Value tv (0, ACE_OS::rand () * 100);
+ timespec_t t = (timespec_t)tv;
+ ACE_OS::nanosleep (&t);
+}
+
+int
+HA_CommandHandler::handle_command_requests (void)
+{
+ ACE_Time_Value tv (0, ACE_OS::rand () * 100);
+ timespec_t t = (timespec_t)tv;
+
+ // Simulate work.
+ ACE_OS::nanosleep (&t);
+
+ return -1;
+}
+
+// Listing 1 code/ch14
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_Barrier startup_barrier (HA_CommandHandler::N_THREADS);
+ ACE_Barrier shutdown_barrier (HA_CommandHandler::N_THREADS);
+
+ HA_CommandHandler handler (startup_barrier, shutdown_barrier);
+ handler.activate (THR_NEW_LWP | THR_JOINABLE,
+ HA_CommandHandler::N_THREADS);
+ handler.wait ();
+ return 0;
+}
+// Listing 1
+
diff --git a/examples/APG/ThreadSafety/ClientContext.h b/examples/APG/ThreadSafety/ClientContext.h
new file mode 100644
index 00000000000..bcd58fc4599
--- /dev/null
+++ b/examples/APG/ThreadSafety/ClientContext.h
@@ -0,0 +1,30 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __CLIENTCONTEXT_H_
+#define __CLIENTCONTEXT_H_
+
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Synch.h"
+
+typedef ACE_Hash_Map_Manager<const char *, void *, ACE_Null_Mutex>
+Map;
+
+// Listing 1 code/ch14
+// Client-specific context information.
+class ClientContext
+{
+public:
+ void *get_attribute (const char *name);
+ void set_attribute (const char *name, void *value);
+
+private:
+ Map attributeMap_;
+};
+// Listing 1
+
+#endif /* __CLIENTCONTEXT_H_ */
diff --git a/examples/APG/ThreadSafety/Makefile b/examples/APG/ThreadSafety/Makefile
new file mode 100644
index 00000000000..93dee1bf63f
--- /dev/null
+++ b/examples/APG/ThreadSafety/Makefile
@@ -0,0 +1,1884 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Atomic_Op \
+ Barrier \
+ Mutex \
+ RW_Lock \
+ Semaphore \
+ Tokens \
+ Tokens_Deadlock \
+ TSS
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Atomic_Op.o .obj/Atomic_Op.so .shobj/Atomic_Op.o .shobj/Atomic_Op.so: Atomic_Op.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp
+
+.obj/Barrier.o .obj/Barrier.so .shobj/Barrier.o .shobj/Barrier.so: Barrier.cpp \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_NS_time.h \
+ $(ACE_ROOT)/ace/OS_NS_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/Mutex.o .obj/Mutex.so .shobj/Mutex.o .shobj/Mutex.so: Mutex.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/RW_Lock.o .obj/RW_Lock.so .shobj/RW_Lock.o .shobj/RW_Lock.so: RW_Lock.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp
+
+.obj/Semaphore.o .obj/Semaphore.so .shobj/Semaphore.o .shobj/Semaphore.so: Semaphore.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/Tokens.o .obj/Tokens.so .shobj/Tokens.o .shobj/Tokens.so: Tokens.cpp \
+ $(ACE_ROOT)/ace/Local_Tokens.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Local_Tokens.i \
+ $(ACE_ROOT)/ace/Token_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Token_Manager.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Tokens_Deadlock.o .obj/Tokens_Deadlock.so .shobj/Tokens_Deadlock.o .shobj/Tokens_Deadlock.so: Tokens_Deadlock.cpp \
+ $(ACE_ROOT)/ace/Local_Tokens.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Local_Tokens.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/TSS.o .obj/TSS.so .shobj/TSS.o .shobj/TSS.so: TSS.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ ClientContext.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/ThreadSafety/Mutex.cpp b/examples/APG/ThreadSafety/Mutex.cpp
new file mode 100644
index 00000000000..073a7ecfb3e
--- /dev/null
+++ b/examples/APG/ThreadSafety/Mutex.cpp
@@ -0,0 +1,54 @@
+// $Id$
+
+#include "ace/Synch.h"
+
+class LogMessage
+{
+public:
+ enum { CRITICAL, NORMAL};
+
+ virtual int priority (void)
+ {
+ return NORMAL;
+ }
+};
+
+class CriticalLogMessage : public LogMessage
+{
+ virtual int priority (void)
+ {
+ return LogMessage::CRITICAL;
+ }
+};
+
+// Listing 1 code/ch14
+typedef ACE_Thread_Mutex MUTEX;
+class Logger
+{
+public:
+ void log (LogMessage *msg)
+ {
+ ACE_GUARD (MUTEX, mon, mutex_);
+ if (msg->priority () == LogMessage::CRITICAL)
+ logCritical (msg);
+ }
+
+ void logCritical (LogMessage *)
+ {
+ // Acquires the same mutex as log()!
+ ACE_GUARD(MUTEX, mon, mutex_);
+ }
+
+private:
+ MUTEX mutex_;
+};
+
+static Logger logger;
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ CriticalLogMessage cm;
+ logger.log(&cm); // Will cause deadlock.
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/ThreadSafety/RW_Lock.cpp b/examples/APG/ThreadSafety/RW_Lock.cpp
new file mode 100644
index 00000000000..395df7c2f5d
--- /dev/null
+++ b/examples/APG/ThreadSafety/RW_Lock.cpp
@@ -0,0 +1,130 @@
+// $Id$
+
+#include "ace/Synch.h"
+#include "ace/Containers.h"
+#include "ace/Task.h"
+
+class Device
+{
+public:
+ Device (int id) : id_(id)
+ { }
+
+ int id_;
+};
+
+typedef ACE_DLList<Device> DeviceList;
+typedef ACE_DLList_Iterator<Device> DeviceListIterator;
+
+// Listing 1 code/ch14
+class HA_DiscoveryAgent
+{
+public:
+ void add_device (Device *device)
+ {
+ ACE_WRITE_GUARD (ACE_RW_Thread_Mutex, mon, rwmutex_);
+ list_add_item_i (device);
+ }
+
+ void remove_device (Device *device)
+ {
+ ACE_READ_GUARD (ACE_RW_Thread_Mutex, mon, rwmutex_);
+ list_remove_item_i(device);
+ }
+
+ int contains_device (Device *device)
+ {
+ ACE_READ_GUARD_RETURN
+ (ACE_RW_Thread_Mutex, mon, rwmutex_, -1);
+ return list_contains_item_i (device);
+ }
+
+private:
+ void list_add_item_i (Device * device);
+ int list_contains_item_i (Device * device);
+ void list_remove_item_i (Device* device);
+
+private:
+ DeviceList deviceList_;
+ ACE_RW_Thread_Mutex rwmutex_;
+};
+// Listing 1
+
+void
+HA_DiscoveryAgent::list_add_item_i (Device *device)
+{
+ deviceList_.insert_tail (device);
+}
+
+int
+HA_DiscoveryAgent::list_contains_item_i (Device *device)
+{
+ DeviceListIterator iter (deviceList_);
+ while (!iter.done ())
+ {
+ if (iter.next () == device)
+ return 1;
+ iter++;
+ }
+
+ return 0;
+}
+
+void
+HA_DiscoveryAgent::list_remove_item_i (Device *device)
+{
+ DeviceListIterator iter (deviceList_);
+ while (!iter.done ())
+ {
+ if (iter.next () == device)
+ {
+ iter.remove ();
+ break;
+ }
+ iter++;
+ }
+}
+
+static Device *devices[100];
+
+class Runner : public ACE_Task_Base
+{
+public:
+ Runner(HA_DiscoveryAgent &agent) : agent_(agent)
+ { }
+
+ virtual int svc (void)
+ {
+ ACE_ASSERT(agent_.contains_device(devices[9]) == 1);
+ agent_.remove_device (devices[9]);
+ ACE_ASSERT(agent_.contains_device(devices[9]) == 0);
+ return 0;
+ }
+
+private:
+ HA_DiscoveryAgent &agent_;
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_DiscoveryAgent agent;
+
+ for (int i = 0; i < 100; i++)
+ {
+ devices[i] = new Device (i);
+ agent.add_device (devices[i]);
+ }
+
+ Runner runner (agent);
+ runner.activate ();
+
+ runner.wait ();
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_DLList<Device>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_DLList<Device>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadSafety/Semaphore.cpp b/examples/APG/ThreadSafety/Semaphore.cpp
new file mode 100644
index 00000000000..2ab1bb633cd
--- /dev/null
+++ b/examples/APG/ThreadSafety/Semaphore.cpp
@@ -0,0 +1,133 @@
+// $Id$
+
+#include "ace/OS_NS_string.h"
+#include "ace/Task.h"
+#include "ace/Synch.h"
+
+// Listing 2 code/ch14
+class Consumer : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ enum { N_THREADS = 5 };
+
+ Consumer (ACE_Semaphore& psema, ACE_Semaphore& csema)
+ : psema_(psema), csema_(csema), exit_condition_(0)
+ { }
+
+ int svc (void)
+ {
+ while (!is_closed ())
+ consume_item ();
+ return 0;
+ }
+
+ void consume_item ()
+ {
+ csema_.acquire ();
+ if (!is_closed ())
+ {
+ ACE_Message_Block *mb;
+ this->getq (mb);
+ if (mb->msg_type () == ACE_Message_Block::MB_HANGUP)
+ {
+ shutdown ();
+ mb->release ();
+ return;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Consumed %d\n"),
+ *((int*)mb->rd_ptr ())));
+ mb->release();
+ }
+ psema_.release ();
+ }
+ }
+
+ void shutdown (void)
+ {
+ exit_condition_ = 1;
+ this->msg_queue ()->deactivate ();
+ csema_.release (N_THREADS);
+ }
+
+ int is_closed (void)
+ {
+ return exit_condition_;
+ }
+
+private:
+ ACE_Semaphore& psema_;
+ ACE_Semaphore& csema_;
+ int exit_condition_;
+};
+// Listing 2
+// Listing 1 code/ch14
+class Producer : public ACE_Task_Base
+{
+public:
+ enum { MAX_PROD = 128 };
+
+ Producer (ACE_Semaphore& psema, ACE_Semaphore& csema,
+ Consumer &consumer)
+ : psema_(psema), csema_(csema), consumer_(consumer)
+ { }
+
+ int svc (void)
+ {
+ for (int i = 0; i <= MAX_PROD; i++)
+ produce_item (i);
+ hang_up ();
+ return 0;
+ }
+
+ void produce_item (int item)
+ {
+ psema_.acquire ();
+ ACE_Message_Block *mb
+ = new ACE_Message_Block (sizeof (int),
+ ACE_Message_Block::MB_DATA);
+ ACE_OS::memcpy (mb->wr_ptr (), &item, sizeof item);
+ mb->wr_ptr (sizeof (int));
+ this->consumer_.putq (mb);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Produced %d\n"), item));
+ csema_.release();
+ }
+
+ void hang_up ()
+ {
+ psema_.acquire ();
+ ACE_Message_Block *mb =
+ new ACE_Message_Block (0, ACE_Message_Block::MB_HANGUP);
+ this->consumer_.putq (mb);
+ csema_.release ();
+ }
+
+private:
+ ACE_Semaphore& psema_;
+ ACE_Semaphore& csema_;
+ Consumer& consumer_;
+};
+// Listing 1
+// Listing 3 code/ch14
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_Semaphore psem (5);
+ ACE_Semaphore csem (0);
+
+ Consumer consumer (psem, csem);
+ Producer producer (psem, csem, consumer);
+
+ producer.activate ();
+ consumer.activate (THR_NEW_LWP | THR_JOINABLE,
+ Consumer::N_THREADS);
+
+ producer.wait ();
+ consumer.wait ();
+
+ return 0;
+}
+// Listing 3
+
diff --git a/examples/APG/ThreadSafety/TSS.cpp b/examples/APG/ThreadSafety/TSS.cpp
new file mode 100644
index 00000000000..a2e6d19a822
--- /dev/null
+++ b/examples/APG/ThreadSafety/TSS.cpp
@@ -0,0 +1,72 @@
+// $Id$
+
+#include "ace/Synch.h"
+#include "ace/Task.h"
+#include "ClientContext.h"
+
+
+void*
+ClientContext::get_attribute (const char *name)
+{
+ void * value;
+ attributeMap_.find (name, value);
+ return value;
+}
+
+void
+ClientContext::set_attribute (const char *name, void *value)
+{
+ attributeMap_.bind (name, value);
+}
+
+// Listing 2 code/ch14
+class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_thread_t tid = this->thr_mgr ()->thr_self ();
+ // Set our identifier in TSS.
+ this->tss_ctx_->set_attribute ("thread_id", &tid);
+
+ while (handle_requests () > 0)
+ ;
+
+ return 0;
+ }
+
+ int handle_requests (void)
+ {
+ ACE_thread_t *tid =
+ (ACE_thread_t*)this->tss_ctx_->get_attribute ("thread_id");
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) TSS TID: %d \n"),
+ *tid));
+
+ // do work.
+ return -1;
+ }
+
+private:
+ ACE_TSS<ClientContext> tss_ctx_;
+};
+// Listing 2
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_CommandHandler handler;
+ handler.activate (THR_NEW_LWP | THR_JOINABLE, 5);
+ handler.wait ();
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_TSS<ClientContext>;
+template class ACE_Hash_Map_Entry<const char*,void*>;
+template class ACE_Hash_Map_Manager<const char *,void*,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<const char*,void*,ACE_Hash<const char*>,ACE_Equal_To<const char*>,ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_TSS<ClientContext>
+#pragma instantiate ACE_Hash_Map_Entry<const char*,void*>
+#pragma instantiate ACE_Hash_Map_Manager<const char *,void*,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<const char*,void*,ACE_Hash<const char*>,ACE_Equal_To<const char*>,ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/ThreadSafety/Tokens.cpp b/examples/APG/ThreadSafety/Tokens.cpp
new file mode 100644
index 00000000000..3537a5793b5
--- /dev/null
+++ b/examples/APG/ThreadSafety/Tokens.cpp
@@ -0,0 +1,101 @@
+// $Id$
+
+#include "ace/Local_Tokens.h"
+#include "ace/Token_Manager.h"
+#include "ace/Task.h"
+
+#if defined (ACE_HAS_TOKENS_LIBRARY)
+
+class Device;
+
+// Listing 1 code/ch14
+class HA_Device_Repository
+{
+public:
+
+ enum { N_DEVICES = 100 };
+
+ HA_Device_Repository ()
+ {
+ for (int i = 0; i < N_DEVICES; i++)
+ tokens_[i] = new ACE_Local_Mutex (0, 0, 1);
+ }
+
+ ~HA_Device_Repository ()
+ {
+ for (int i = 0; i < N_DEVICES; i++)
+ delete tokens_[i];
+ }
+
+ int update_device (int device_id, char *commands)
+ {
+ this->tokens_[device_id]->acquire ();
+
+ Device *curr_device = this->devices_[device_id];
+ internal_do (curr_device);
+
+ this->tokens_[device_id]->release ();
+
+ return 0;
+ }
+
+ void internal_do (Device *device);
+
+private:
+ Device *devices_[N_DEVICES];
+ ACE_Local_Mutex *tokens_[N_DEVICES];
+ unsigned int seed_;
+};
+// Listing 1
+
+void
+HA_Device_Repository::internal_do (Device *device)
+{
+ ACE_UNUSED_ARG (device); // Real code would use this.
+ ACE_Time_Value tv (0, ACE_OS::rand_r (this->seed_) % 10000);
+ timespec_t t = (timespec_t)tv;
+ ACE_OS::nanosleep (&t);
+}
+
+// Listing 2 code/ch14
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ enum { N_THREADS = 5 };
+
+ HA_CommandHandler (HA_Device_Repository &rep) : rep_(rep)
+ { }
+
+ int svc (void)
+ {
+ for (int i = 0; i < HA_Device_Repository::N_DEVICES; i++)
+ rep_.update_device (i, "");
+ return 0;
+ }
+
+private:
+ HA_Device_Repository &rep_;
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_Device_Repository rep;
+ HA_CommandHandler handler (rep);
+ handler.activate (THR_NEW_LWP | THR_JOINABLE,
+ HA_CommandHandler::N_THREADS);
+ handler.wait ();
+ return 0;
+}
+// Listing 2
+
+#else /* defined (ACE_HAS_TOKENS_LIBRARY) */
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("local tokens not supported ")
+ ACE_TEXT ("on this platform\n")));
+ return 0;
+}
+
+#endif /* defined (ACE_HAS_TOKENS_LIBRARY) */
diff --git a/examples/APG/ThreadSafety/Tokens_Deadlock.cpp b/examples/APG/ThreadSafety/Tokens_Deadlock.cpp
new file mode 100644
index 00000000000..c2d155d5dd6
--- /dev/null
+++ b/examples/APG/ThreadSafety/Tokens_Deadlock.cpp
@@ -0,0 +1,68 @@
+// $Id$
+
+#include "ace/Local_Tokens.h"
+#include "ace/Task.h"
+
+#if defined (ACE_HAS_TOKENS_LIBRARY)
+
+// Listing 1 code/ch14
+class ThreadOne : public ACE_Task_Base
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_Local_Mutex mutex1 ("resource1",
+ 0, // Deadlock detection enabled.
+ 1);// Debugging enabled.
+ mutex1.acquire ();
+ ACE_OS::sleep (2);
+ ACE_Local_Mutex mutex2 ("resource2", 0, 1);
+ mutex2.acquire ();
+ return 0;
+ }
+};
+
+class ThreadTwo : public ACE_Task_Base
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_Local_Mutex mutex2 ("resource2",
+ 0, // Deadlock detection enabled.
+ 1);// Debugging enabled.
+ mutex2.acquire ();
+ ACE_OS::sleep (2);
+ ACE_Local_Mutex mutex1 ("resource1",
+ 0, // Deadlock detection enabled.
+ 1);// Debugging enabled.
+ mutex1.acquire ();
+ return 0;
+ }
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ThreadOne t1;
+ ThreadTwo t2;
+
+ t1.activate ();
+ ACE_OS::sleep (1);
+ t2.activate ();
+ t1.wait ();
+ t2.wait ();
+
+ return 0;
+}
+// Listing 1
+
+#else /* defined (ACE_HAS_TOKENS_LIBRARY) */
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("local tokens not supported ")
+ ACE_TEXT ("on this platform\n")));
+ return 0;
+}
+
+#endif /* defined (ACE_HAS_TOKENS_LIBRARY) */
diff --git a/examples/APG/ThreadSafety/threadsafety.mpc b/examples/APG/ThreadSafety/threadsafety.mpc
new file mode 100644
index 00000000000..62ed1ddc67a
--- /dev/null
+++ b/examples/APG/ThreadSafety/threadsafety.mpc
@@ -0,0 +1,55 @@
+project(Atomic Op) : aceexe {
+ exename = Atomic_Op
+ Source_Files {
+ Atomic_Op.cpp
+ }
+}
+
+project(Barrier) : aceexe {
+ exename = Barrier
+ Source_Files {
+ Barrier.cpp
+ }
+}
+
+project(Mutex) : aceexe {
+ exename = Mutex
+ Source_Files {
+ Mutex.cpp
+ }
+}
+
+project(RW Lock) : aceexe {
+ exename = RW_Lock
+ Source_Files {
+ RW_Lock.cpp
+ }
+}
+
+project(Semaphore) : aceexe {
+ exename = Semaphore
+ Source_Files {
+ Semaphore.cpp
+ }
+}
+
+project(Tokens) : aceexe {
+ exename = Tokens
+ Source_Files {
+ Tokens.cpp
+ }
+}
+
+project(Tokens Deadlock) : aceexe {
+ exename = Tokens_Deadlock
+ Source_Files {
+ Tokens_Deadlock.cpp
+ }
+}
+
+project(TSS) : aceexe {
+ exename = TSS
+ Source_Files {
+ TSS.cpp
+ }
+}
diff --git a/examples/APG/ThreadSafety/threadsafety.mwc b/examples/APG/ThreadSafety/threadsafety.mwc
new file mode 100644
index 00000000000..e6f9f4d2f71
--- /dev/null
+++ b/examples/APG/ThreadSafety/threadsafety.mwc
@@ -0,0 +1,3 @@
+workspace {
+ threadsafety.mpc
+}
diff --git a/examples/APG/Threads/Activate.cpp b/examples/APG/Threads/Activate.cpp
new file mode 100644
index 00000000000..2afa6316f91
--- /dev/null
+++ b/examples/APG/Threads/Activate.cpp
@@ -0,0 +1,33 @@
+// $Id$
+
+// Listing 1 code/ch12
+#include "ace/Task.h"
+#include "ace/OS_NS_unistd.h"
+
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("(%t) Handler Thread running\n")));
+ ACE_OS::sleep (4);
+ return 0;
+ }
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("(%t) Main Thread running\n")));
+
+ HA_CommandHandler handler;
+ int result = handler.activate ();
+ ACE_ASSERT (result == 0);
+
+ ACE_UNUSED_ARG (result);
+
+ handler.wait ();
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Threads/Condition_Variables.cpp b/examples/APG/Threads/Condition_Variables.cpp
new file mode 100644
index 00000000000..5fceab0dbe0
--- /dev/null
+++ b/examples/APG/Threads/Condition_Variables.cpp
@@ -0,0 +1,109 @@
+// $Id$
+
+#include "ace/Task.h"
+#include "ace/Synch.h"
+
+// Listing 1 code/ch12
+class HA_Device_Repository
+{
+public:
+ HA_Device_Repository() : owner_(0)
+ { }
+
+ int is_free (void)
+ { return (this->owner_ == 0); }
+
+ int is_owner (ACE_Task_Base* tb)
+ { return (this->owner_ == tb); }
+
+ ACE_Task_Base *get_owner (void)
+ { return this->owner_; }
+
+ void set_owner (ACE_Task_Base *owner)
+ { this->owner_ = owner; }
+
+ int update_device (int device_id);
+
+private:
+ ACE_Task_Base * owner_;
+};
+// Listing 1
+
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ enum {NUM_USES = 10};
+
+ HA_CommandHandler (HA_Device_Repository& rep,
+ ACE_Condition<ACE_Thread_Mutex> &wait,
+ ACE_Thread_Mutex& mutex)
+ : rep_(rep), waitCond_(wait), mutex_(mutex)
+ { }
+
+ virtual int svc (void);
+
+private:
+ HA_Device_Repository &rep_;
+ ACE_Condition<ACE_Thread_Mutex> &waitCond_;
+ ACE_Thread_Mutex &mutex_;
+};
+// Listing 2 code/ch12
+int
+HA_CommandHandler::svc (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Handler Thread running\n")));
+
+ for (int i = 0; i < NUM_USES; i++)
+ {
+ this->mutex_.acquire ();
+ while (!this->rep_.is_free ())
+ this->waitCond_.wait ();
+ this->rep_.set_owner (this);
+ this->mutex_.release ();
+
+ this->rep_.update_device (i);
+
+ ACE_ASSERT (this->rep_.is_owner (this));
+ this->rep_.set_owner (0);
+
+ this->waitCond_.signal ();
+ }
+
+ return 0;
+}
+// Listing 2
+int
+HA_Device_Repository::update_device (int device_id)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Updating device %d\n"),
+ device_id));
+
+ ACE_OS::sleep (1);
+ return 0;
+}
+// Listing 3 code/ch12
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_Device_Repository rep;
+ ACE_Thread_Mutex rep_mutex;
+ ACE_Condition<ACE_Thread_Mutex> wait (rep_mutex);
+
+ HA_CommandHandler handler1 (rep, wait, rep_mutex);
+ HA_CommandHandler handler2 (rep, wait, rep_mutex);
+
+ handler1.activate ();
+ handler2.activate ();
+
+ handler1.wait ();
+ handler2.wait ();
+
+ return 0;
+}
+// Listing 3
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Condition<ACE_Thread_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Condition<ACE_Thread_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Threads/Guards.cpp b/examples/APG/Threads/Guards.cpp
new file mode 100644
index 00000000000..75c40c98594
--- /dev/null
+++ b/examples/APG/Threads/Guards.cpp
@@ -0,0 +1,52 @@
+// $Id$
+
+#if 0
+
+// Listing 1 code/ch12
+int
+HA_Device_Repository::update_device (int device_id)
+{
+ this->mutex_.acquire ();
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Updating device %d\n"),
+ device_id));
+
+ // Allocate a new object.
+ ACE_NEW_RETURN (object, Object, -1);
+ // ...
+ // Use the object
+
+ this->mutex_.release ();
+}
+// Listing 1
+// Listing 2 code/ch12
+int
+HA_Device_Repository::update_device (int device_id)
+{
+ // Construct a guard specifying the type of the mutex as
+ // a template parameter and passing in the mutex to hold
+ // as a parameter.
+ ACE_Guard<ACE_Thread_Mutex> guard (this->mutex_);
+
+ // This can throw an exception that is not caught here.
+ ACE_NEW_RETURN (object, Object, -1);
+ // ..
+ // Use the object.
+ // ..
+ // Guard is destroyed, automatically releasing the lock.
+}
+// Listing 2
+// Listing 3 code/ch12
+int
+HA_Device_Repository::update_device (int device_id)
+{
+ ACE_GUARD_RETURN (ACE_Thread_Mutex, mon, mutex_, -1);
+
+ ACE_NEW_RETURN (object, Object, -1);
+ // Use the object.
+ // ...
+}
+// Listing 3
+
+#endif /* 0 */
+int main (int, char *[])
+{ return 0; }
diff --git a/examples/APG/Threads/Makefile b/examples/APG/Threads/Makefile
new file mode 100644
index 00000000000..b78f0516d71
--- /dev/null
+++ b/examples/APG/Threads/Makefile
@@ -0,0 +1,1075 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Activate \
+ Condition_Variables \
+ Guards \
+ Message_Blocks \
+ Message_Queue \
+ Mutexes
+
+SOURCES = $(addsuffix .cpp,$(BIN))
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/Activate.o .obj/Activate.so .shobj/Activate.o .shobj/Activate.so: Activate.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h
+
+.obj/Condition_Variables.o .obj/Condition_Variables.so .shobj/Condition_Variables.o .shobj/Condition_Variables.so: Condition_Variables.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/Guards.o .obj/Guards.so .shobj/Guards.o .shobj/Guards.so: Guards.cpp
+
+.obj/Message_Blocks.o .obj/Message_Blocks.so .shobj/Message_Blocks.o .shobj/Message_Blocks.so: Message_Blocks.cpp
+
+.obj/Message_Queue.o .obj/Message_Queue.so .shobj/Message_Queue.o .shobj/Message_Queue.so: Message_Queue.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/OS_NS_arpa_inet.inl \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Timer_Queuefwd.h \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \
+ $(ACE_ROOT)/ace/Recyclable.h \
+ $(ACE_ROOT)/ace/Recyclable.inl \
+ $(ACE_ROOT)/ace/Refcountable.h \
+ $(ACE_ROOT)/ace/Refcountable.inl \
+ $(ACE_ROOT)/ace/Hashable.h \
+ $(ACE_ROOT)/ace/Hashable.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_select.inl \
+ Message_Receiver.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp
+
+.obj/Mutexes.o .obj/Mutexes.so .shobj/Mutexes.o .shobj/Mutexes.so: Mutexes.cpp \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/config-all.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/$(ACE_PLATFORM_CONFIG) \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_main.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/OS_NS_Thread.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/os_include/os_semaphore.h \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.h \
+ $(ACE_ROOT)/ace/OS_NS_stdlib.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.h \
+ $(ACE_ROOT)/ace/Cleanup.h \
+ $(ACE_ROOT)/ace/Cleanup.inl \
+ $(ACE_ROOT)/ace/Object_Manager_Base.inl \
+ $(ACE_ROOT)/ace/OS_NS_string.h \
+ $(ACE_ROOT)/ace/OS_NS_string.inl \
+ $(ACE_ROOT)/ace/OS_NS_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_wchar.h \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/OS_NS_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_search.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_NS_signal.h \
+ $(ACE_ROOT)/ace/OS_NS_signal.inl \
+ $(ACE_ROOT)/ace/OS_NS_macros.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.h \
+ $(ACE_ROOT)/ace/OS_NS_errno.inl \
+ $(ACE_ROOT)/ace/OS_NS_Thread.inl \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_time.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_mman.inl \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/OS_NS_fcntl.inl \
+ $(ACE_ROOT)/ace/OS_NS_unistd.h \
+ $(ACE_ROOT)/ace/OS_NS_unistd.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_utsname.inl \
+ $(ACE_ROOT)/ace/OS_NS_stdio.h \
+ $(ACE_ROOT)/ace/OS_NS_stdio.inl \
+ $(ACE_ROOT)/ace/OS_NS_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/OS_NS_pwd.inl \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Static_Object_Lock.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/OS_NS_stropts.inl \
+ $(ACE_ROOT)/ace/OS_QoS.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_socket.inl \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.h \
+ $(ACE_ROOT)/ace/OS_NS_sys_uio.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/APG/Threads/Message_Blocks.cpp b/examples/APG/Threads/Message_Blocks.cpp
new file mode 100644
index 00000000000..3ddf3ba8a5b
--- /dev/null
+++ b/examples/APG/Threads/Message_Blocks.cpp
@@ -0,0 +1,40 @@
+// $Id$
+
+int main (int, char **)
+{
+#if 0
+
+// Listing 1 code/ch12
+ ACE_Message_Block *mb;
+ ACE_NEW_RETURN (mb, ACE_Message_Block (128), -1);
+
+ const char *deviceAddr= "Dev#12";
+ mb->copy (deviceAddr, ACE_OS::strlen (deviceAddr)+1);
+// Listing 1
+// Listing 2 code/ch12
+ ACE_Message_Block *mb;
+ ACE_NEW_RETURN (mb, ACE_Message_Block (128), -1);
+
+ const char *commandSeq= "CommandSeq#14";
+ ACE_OS::sprintf (mb->wr_ptr (), commandSeq);
+ // Move the wr_ptr() forward in the buffer by the
+ // amount of data we just put in.
+ mb->wr_ptr (ACE_OS::strlen (commandSeq) +1);
+// Listing 2
+// Listing 3 code/ch12
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT ("Command Sequence --> %s\n"),
+ mb->rd_ptr ()));
+ mb->rd_ptr (ACE_OS::strlen (mb->rd_ptr ())+1);
+ mb->release ();
+// Listing 3
+// Listing 4 code/ch12
+ // Send a hangup notification to the receiver.
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block (128, ACE_Message_Block::MB_HANGUP), -1);
+ // Send an error notification to the receiver.
+ mb->msg_type (ACE_Message_Block::MB_ERROR);
+// Listing 4
+#endif
+ return 0;
+}
diff --git a/examples/APG/Threads/Message_Queue.cpp b/examples/APG/Threads/Message_Queue.cpp
new file mode 100644
index 00000000000..f6315c13c48
--- /dev/null
+++ b/examples/APG/Threads/Message_Queue.cpp
@@ -0,0 +1,172 @@
+// $Id$
+
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Acceptor.h"
+#include "Message_Receiver.h"
+
+// Listing 5 code/ch12
+int
+HA_CommandHandler::svc (void)
+{
+ while(1)
+ {
+ ACE_Message_Block *mb;
+ if (this->getq (mb) == -1)
+ break;
+ if (mb->msg_type () == ACE_Message_Block::MB_HANGUP)
+ {
+ mb->release ();
+ break;
+ }
+ else
+ {
+ // Get header pointer, then move past header to payload.
+ DeviceCommandHeader *dch
+ = (DeviceCommandHeader*)mb->rd_ptr ();
+ mb->rd_ptr (sizeof (DeviceCommandHeader));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Message for device #%d with ")
+ ACE_TEXT ("command payload of:\n%s"),
+ dch->deviceId_, mb->rd_ptr ()));
+ this->rep_.update_device (dch->deviceId_,
+ mb->rd_ptr ());
+ mb->release ();
+ }
+ }
+
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+
+ return 0;
+}
+// Listing 5
+
+// Listing 4 code/ch12
+ACE_Message_Block *
+Message_Receiver::shut_down_message (void)
+{
+ ACE_Message_Block *mb;
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block (0, ACE_Message_Block::MB_HANGUP), 0);
+ return mb;
+}
+// Listing 4
+
+int
+Message_Receiver::read_header (DeviceCommandHeader *dch)
+{
+ ssize_t result =
+ this->peer ().recv_n (dch, sizeof (DeviceCommandHeader));
+ if (result <= 0)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Recieve Failure")),
+ -1);
+ return 0;
+}
+// Listing 3 code/ch12
+int
+Message_Receiver::copy_payload (ACE_Message_Block *mb,
+ int payload_length)
+{
+ int result =
+ this->peer ().recv_n (mb->wr_ptr (), payload_length);
+
+ if (result <= 0)
+ {
+ mb->release ();
+ return result;
+ }
+
+ mb->wr_ptr (payload_length);
+ return 0;
+}
+// Listing 3
+// Listing 2 code/ch12
+int
+Message_Receiver::handle_input (ACE_HANDLE)
+{
+ DeviceCommandHeader dch;
+ if (this->read_header (&dch) < 0)
+ return -1;
+
+ if (dch.deviceId_ < 0)
+ {
+ // Handle shutdown.
+ this->handler_->putq (shut_down_message ());
+ return -1;
+ }
+
+ ACE_Message_Block *mb;
+ ACE_NEW_RETURN
+ (mb, ACE_Message_Block (dch.length_ + sizeof dch), -1);
+ // Copy the header.
+ mb->copy ((const char*)&dch, sizeof dch);
+ // Copy the payload.
+ if (this->copy_payload (mb, dch.length_) < 0)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Recieve Failure")), -1);
+ // Pass it off to the handler thread.
+ this->handler_->putq (mb);
+ return 0;
+}
+// Listing 2
+
+static void report_usage (int argc, ACE_TCHAR *argv[])
+{
+ if (argc < 2)
+ {
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("%s port\n"), argv[1]));
+ ACE_OS::exit (-1);
+ }
+}
+
+
+class Acceptor : public ACE_Acceptor<Message_Receiver, ACE_SOCK_ACCEPTOR>
+{
+public:
+ Acceptor(HA_CommandHandler *handler) : handler_(handler)
+ { }
+
+protected:
+ virtual int make_svc_handler (Message_Receiver *&mr)
+ {
+ ACE_NEW_RETURN (mr, Message_Receiver (handler_), -1);
+ return 0;
+ }
+
+private:
+ HA_CommandHandler *handler_;
+};
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ report_usage (argc, argv);
+
+ u_short port = ACE_OS::atoi (argv[1]);
+
+ HA_Device_Repository rep;
+ HA_CommandHandler handler (rep);
+ ACE_ASSERT(handler.activate()==0);
+ //start up the handler.
+
+ Acceptor acceptor (&handler);
+ ACE_INET_Addr addr (port);
+ if (acceptor.open (addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Failed to open connection")), -1);
+
+ ACE_Reactor::run_event_loop ();
+ //run the reactive event loop
+
+ handler.wait ();
+ //reap the handler before exiting.
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Acceptor<Message_Receiver, ACE_SOCK_ACCEPTOR>;
+template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Acceptor<Message_Receiver, ACE_SOCK_ACCEPTOR>
+#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Threads/Message_Receiver.h b/examples/APG/Threads/Message_Receiver.h
new file mode 100644
index 00000000000..dee0731f007
--- /dev/null
+++ b/examples/APG/Threads/Message_Receiver.h
@@ -0,0 +1,90 @@
+/**
+ * $Id$
+ *
+ * Sample code from The ACE Programmer's Guide,
+ * copyright 2003 Addison-Wesley. All Rights Reserved.
+ */
+
+#ifndef __MESSAGE_RECEIVER_H_
+#define __MESSAGE_RECEIVER_H_
+
+#include "ace/Log_Msg.h"
+#include "ace/Message_Block.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/Svc_Handler.h"
+#include "ace/Synch.h"
+#include "ace/Task.h"
+
+// Listing 1 code/ch12
+struct DeviceCommandHeader
+{
+ int length_;
+ int deviceId_;
+};
+// Listing 1
+
+class HA_Device_Repository
+{
+public:
+ HA_Device_Repository ();
+
+ int update_device (int device_id, char *commands);
+
+private:
+ ACE_Task_Base *owner_;
+};
+
+HA_Device_Repository::HA_Device_Repository ()
+{ }
+
+int
+HA_Device_Repository::update_device (int, char *)
+{
+ return 0;
+}
+
+class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ HA_CommandHandler (HA_Device_Repository &rep) : rep_(rep)
+ { }
+
+ virtual int svc();
+
+private:
+ HA_Device_Repository &rep_;
+};
+
+class Message_Receiver :
+ public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
+{
+public:
+ Message_Receiver () : handler_(0)
+ {
+ ACE_ASSERT(0);
+ }
+
+ Message_Receiver (HA_CommandHandler *ch) : handler_(ch)
+ { }
+
+ ACE_Message_Block *shut_down_message (void);
+
+ virtual int handle_input (ACE_HANDLE fd);
+
+ virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE,
+ ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK)
+ {
+ this->peer ().close ();
+ delete this;
+ return 0;
+ }
+
+private:
+ int read_header (DeviceCommandHeader *dch);
+ int copy_payload (ACE_Message_Block *mb, int payload_length);
+
+private:
+ HA_CommandHandler *handler_;
+};
+
+#endif /* __MESSAGE_RECEIVER_H */
diff --git a/examples/APG/Threads/Mutexes.cpp b/examples/APG/Threads/Mutexes.cpp
new file mode 100644
index 00000000000..2b8903bf05f
--- /dev/null
+++ b/examples/APG/Threads/Mutexes.cpp
@@ -0,0 +1,61 @@
+// $Id$
+
+#include "ace/Synch.h"
+#include "ace/Task.h"
+
+// Listing 1 code/ch12
+class HA_Device_Repository
+{
+public:
+ HA_Device_Repository ()
+ { }
+
+ void update_device (int device_id)
+ {
+ mutex_.acquire ();
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Updating device %d\n"),
+ device_id));
+ ACE_OS::sleep (1);
+ mutex_.release ();
+ }
+
+private:
+ ACE_Thread_Mutex mutex_;
+};
+// Listing 1
+// Listing 2 code/ch12
+class HA_CommandHandler : public ACE_Task_Base
+{
+public:
+ enum {NUM_USES = 10};
+
+ HA_CommandHandler (HA_Device_Repository& rep) : rep_(rep)
+ { }
+
+ virtual int svc (void)
+ {
+ ACE_DEBUG
+ ((LM_DEBUG, ACE_TEXT ("(%t) Handler Thread running\n")));
+ for (int i=0; i < NUM_USES; i++)
+ this->rep_.update_device (i);
+ return 0;
+ }
+
+private:
+ HA_Device_Repository & rep_;
+};
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_Device_Repository rep;
+ HA_CommandHandler handler1 (rep);
+ HA_CommandHandler handler2 (rep);
+ handler1.activate ();
+ handler2.activate ();
+
+ handler1.wait ();
+ handler2.wait ();
+ return 0;
+}
+// Listing 2
+
diff --git a/examples/APG/Threads/threads.mpc b/examples/APG/Threads/threads.mpc
new file mode 100644
index 00000000000..ff7c8e5063d
--- /dev/null
+++ b/examples/APG/Threads/threads.mpc
@@ -0,0 +1,41 @@
+project(Activate) : aceexe {
+ exename = Activate
+ Source_Files {
+ Activate.cpp
+ }
+}
+
+project(Condition Variables) : aceexe {
+ exename = Condition_Variables
+ Source_Files {
+ Condition_Variables.cpp
+ }
+}
+
+project(Guards) : aceexe {
+ exename = Guards
+ Source_Files {
+ Guards.cpp
+ }
+}
+
+project(Message Blocks) : aceexe {
+ exename = Message_Blocks
+ Source_Files {
+ Message_Blocks.cpp
+ }
+}
+
+project(Message Queue) : aceexe {
+ exename = Message_Queue
+ Source_Files {
+ Message_Queue.cpp
+ }
+}
+
+project(Mutexes) : aceexe {
+ exename = Mutexes
+ Source_Files {
+ Mutexes.cpp
+ }
+}
diff --git a/examples/APG/Threads/threads.mwc b/examples/APG/Threads/threads.mwc
new file mode 100644
index 00000000000..ddbb9c065b9
--- /dev/null
+++ b/examples/APG/Threads/threads.mwc
@@ -0,0 +1,3 @@
+workspace {
+ threads.mpc
+}
diff --git a/examples/APG/Timers/Alarm.cpp b/examples/APG/Timers/Alarm.cpp
new file mode 100644
index 00000000000..29828531ac1
--- /dev/null
+++ b/examples/APG/Timers/Alarm.cpp
@@ -0,0 +1,62 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+#include "ace/OS_NS_sys_time.h"
+
+// Listing 1 code/ch20
+#include "ace/Timer_Queue_Adapters.h"
+#include "ace/Timer_Heap.h"
+
+typedef ACE_Async_Timer_Queue_Adapter<ACE_Timer_Heap> Timer;
+// Listing 1
+
+class CB : public ACE_Event_Handler
+{
+public:
+ CB (int id) : id_(id) { }
+
+ virtual int handle_timeout (const ACE_Time_Value &,
+ const void *arg)
+ {
+ ACE_TRACE (ACE_TEXT ("CB::handle_timeout"));
+
+ const int *val = ACE_static_cast (const int*, arg);
+ ACE_ASSERT ((*val) == id_);
+
+ ACE_UNUSED_ARG (val);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Timer expired\n")));
+ return 0;
+ }
+
+private:
+ int id_;
+};
+
+// Listing 2 code/ch20
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ // Create the timer such that it blocks all signals
+ // when it goes off.
+ Timer timer;
+
+ // Schedule a timer to go off 2 seconds later and then
+ // after every 4 seconds.
+ CB cb (1);
+ int arg = 1;
+ ACE_Time_Value initial (2);
+ ACE_Time_Value repeat (4);
+ initial += ACE_OS::gettimeofday ();
+ timer.schedule (&cb, &arg, initial, repeat);
+
+ while (1) // Don't let the main thread exit.
+ ACE_OS::sleep (2);
+ ACE_NOTREACHED (return 0); // Not reached.
+}
+// Listing 2
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Async_Timer_Queue_Adapter<ACE_Timer_Heap>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Async_Timer_Queue_Adapter<ACE_Timer_Heap>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Timers/CB.cpp b/examples/APG/Timers/CB.cpp
new file mode 100644
index 00000000000..c8c41687698
--- /dev/null
+++ b/examples/APG/Timers/CB.cpp
@@ -0,0 +1,67 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "CB.h"
+#include "TimerDispatcher.h"
+
+CB::CB () : count_(0)
+{
+ ACE_TRACE (ACE_TEXT ("CB::CB"));
+}
+
+// Listing 1 code/ch20
+int CB::handle_timeout (const ACE_Time_Value &,
+ const void *arg)
+{
+ ACE_TRACE (ACE_TEXT ("CB::handle_timeout"));
+
+ const int *val = ACE_static_cast (const int*, arg);
+ ACE_ASSERT ((*val) == timerID_);
+
+ ACE_UNUSED_ARG (val);
+
+ if (count_ == 5)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Reseting interval for timer %d\n"),
+ timerID_));
+
+ // New interval is 10 ms.
+ ACE_Time_Value interval (0L, 1000L);
+ ACE_ASSERT (Timer::instance ()->reset_interval
+ (timerID_, interval) != -1);
+
+ ACE_UNUSED_ARG (interval);
+ }
+
+ if (count_++ == 10)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Canceling %d\n"),
+ timerID_));
+ ACE_ASSERT ((Timer::instance ()->cancel (this)) != 0);
+ }
+
+ return 0;
+}
+// Listing 1
+
+void
+CB::setID (long timerID)
+{
+ ACE_TRACE (ACE_TEXT ("CB::setID"));
+ timerID_ = timerID;
+}
+
+long
+CB::getID (void)
+{
+ ACE_TRACE (ACE_TEXT ("CB::getID"));
+ return timerID_;
+}
+
+int
+CB::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+{
+ ACE_TRACE (ACE_TEXT ("CB::handle_close"));
+ return 0;
+}
diff --git a/examples/APG/Timers/CB.h b/examples/APG/Timers/CB.h
new file mode 100644
index 00000000000..716ad4e4f50
--- /dev/null
+++ b/examples/APG/Timers/CB.h
@@ -0,0 +1,36 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(CB_H)
+#define CB_H
+
+#include "ace/Event_Handler.h"
+
+#include "TimerDispatcher.h"
+
+// Listing 1 code/ch20
+class CB : public ACE_Event_Handler
+{
+public:
+ CB ();
+
+ // Set the timer id that is being handled by this instance.
+ void setID (long timerID);
+
+ // Get the timer id.
+ long getID (void);
+
+ // Handle the timeout.
+ virtual int handle_timeout(const ACE_Time_Value &tv,
+ const void *arg = 0);
+
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+private:
+ long timerID_;
+ int count_;
+};
+// Listing 1
+
+#endif /*CB_H*/
diff --git a/examples/APG/Timers/Makefile b/examples/APG/Timers/Makefile
new file mode 100644
index 00000000000..c31b53667d7
--- /dev/null
+++ b/examples/APG/Timers/Makefile
@@ -0,0 +1,36 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+MAKEFILE=Makefile
+
+MKLIST = Makefile.singles \
+ Makefile.timers \
+ Makefile.upcall
+
+## Ensure that Makefiles in MKLIST are executed in sequence during a
+## parallel build because we share some files between multiple libraries.
+.NOTPARALLEL:
+
+## Makefile.Reactive_Logging_Server.mkfile is a dummy target which will cause
+## $(MAKE) -f Makefile.Reactive_Logging_Server to be invoked, then it cleans
+## up tempinc when needed for AIX Visual Age C++.
+%.mkfile: %
+ @echo $(MAKE) -f $< $(MKFILE_TARGET)
+ -@$(RM) -rf tempinc
+ @$(MAKE) -f $< $(MKFILE_TARGET)
+
+# This rule invokes make again with the list of .mkfile targets as a
+# parameter. For example, if the all target is being made, make is invoked
+# as follows:
+#
+# make -f Makefile MKFILE_TARGET=all Makefile.singles
+
+all clean depend realclean html:
+ifneq ($(MKLIST),)
+ @echo $(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+ @$(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
+endif
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/examples/APG/Timers/Makefile.singles b/examples/APG/Timers/Makefile.singles
new file mode 100644
index 00000000000..cc857d6c4ba
--- /dev/null
+++ b/examples/APG/Timers/Makefile.singles
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Alarm Task
+
+BUILD = $(VBIN)
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Timers/Makefile.timers b/examples/APG/Timers/Makefile.timers
new file mode 100644
index 00000000000..4d63a0c56cb
--- /dev/null
+++ b/examples/APG/Timers/Makefile.timers
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Timers
+
+SRC = Timers.cpp CB.cpp TimerDispatcher.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Timers/Makefile.upcall b/examples/APG/Timers/Makefile.upcall
new file mode 100644
index 00000000000..859a20278c7
--- /dev/null
+++ b/examples/APG/Timers/Makefile.upcall
@@ -0,0 +1,14 @@
+# $Id$
+#
+# Copyright 2003 Addison-Wesley Inc. All Rights Reserved.
+
+BIN = Upcall
+
+SRC = Upcall.cpp PCB.cpp PTimerDispatcher.cpp
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/examples/APG/Timers/PCB.cpp b/examples/APG/Timers/PCB.cpp
new file mode 100644
index 00000000000..03392ca7ead
--- /dev/null
+++ b/examples/APG/Timers/PCB.cpp
@@ -0,0 +1,75 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "PCB.h"
+#include "PTimerDispatcher.h"
+
+PCB::PCB() : count_(0)
+{
+ ACE_TRACE (ACE_TEXT ("PCB::PCB"));
+}
+
+int PCB::handleEvent (const void *arg)
+{
+ ACE_TRACE (ACE_TEXT ("PCB::handle_timeout"));
+
+ const int *val = ACE_static_cast (const int*, arg);
+ ACE_ASSERT ((*val) == timerID_);
+
+ ACE_UNUSED_ARG (val);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Timer %d expiry handled by thread %t\n"),
+ timerID_));
+ if (count_ == 5)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Reseting interval for timer %d\n"),
+ timerID_));
+
+ // New interval is 10 ms.
+ ACE_Time_Value interval (0L, 1000L);
+ if (PTimer::instance ()->reset_interval (timerID_, interval) != -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("reset_interval")),
+ -1);
+ }
+
+ if (count_++ == 10)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Canceling %d\n"),
+ timerID_));
+ PTimer::instance ()->cancel (this);
+ }
+
+ return 0;
+}
+
+void
+PCB::setID (long timerID)
+{
+ ACE_TRACE (ACE_TEXT ("PCB::setID"));
+ timerID_ = timerID;
+}
+
+long
+PCB::getID (void) const
+{
+ ACE_TRACE (ACE_TEXT ("PCB::getID"));
+ return timerID_;
+}
+
+int
+PCB::handleClose (void)
+{
+ ACE_TRACE (ACE_TEXT ("PCB::handle_close"));
+ return 0;
+}
+
+int
+PCB::handleCancel (void)
+{
+ ACE_TRACE (ACE_TEXT ("PCB::handleCancel"));
+ return 0;
+}
diff --git a/examples/APG/Timers/PCB.h b/examples/APG/Timers/PCB.h
new file mode 100644
index 00000000000..53e5aecd232
--- /dev/null
+++ b/examples/APG/Timers/PCB.h
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(PCB_H)
+#define PCB_H
+
+// Listing 1 code/ch20
+class PCB
+{
+public:
+ PCB ();
+
+ // Set/get the timer id that is being handled by this instance.
+ void setID (long timerID);
+ long getID (void) const;
+
+ // Handle a timeout event, cancel, and close.
+ virtual int handleEvent (const void *arg);
+ virtual int handleCancel (void);
+ virtual int handleClose (void);
+
+private:
+ long timerID_;
+ int count_;
+};
+// Listing 1
+
+#endif /*PCB_H*/
diff --git a/examples/APG/Timers/PTimerDispatcher.cpp b/examples/APG/Timers/PTimerDispatcher.cpp
new file mode 100644
index 00000000000..cbe47be16f0
--- /dev/null
+++ b/examples/APG/Timers/PTimerDispatcher.cpp
@@ -0,0 +1,73 @@
+// $Id$
+
+#include "PTimerDispatcher.h"
+
+void PTimer_Dispatcher::wait_for_event (void)
+{
+ ACE_TRACE (ACE_TEXT ("PTimer_Dispatcher::wait_for_event"));
+
+ while (1)
+ {
+ ACE_Time_Value max_tv = timer_queue_->gettimeofday ();
+
+ ACE_Time_Value *this_timeout =
+ this->timer_queue_->calculate_timeout (&max_tv);
+
+ if (*this_timeout == ACE_Time_Value::zero)
+ this->timer_queue_->expire ();
+ else
+ {
+ // Convert to absolute time.
+ ACE_Time_Value next_timeout =
+ timer_queue_->gettimeofday ();
+ next_timeout += *this_timeout;
+ if (this->timer_.wait (&next_timeout) == -1 )
+ this->timer_queue_->expire ();
+ }
+ }
+}
+
+long
+PTimer_Dispatcher::schedule (PCB *cb,
+ void *arg,
+ const ACE_Time_Value &abs_time,
+ const ACE_Time_Value &interval)
+{
+ ACE_TRACE (ACE_TEXT ("PTimer_Dispatcher::schedule_timer"));
+
+ return this->timer_queue_->schedule
+ (cb, arg, abs_time, interval);
+}
+
+int
+PTimer_Dispatcher::cancel (PCB *cb,
+ int dont_call_handle_close)
+{
+ ACE_TRACE (ACE_TEXT ("PTimer_Dispatcher::cancel"));
+ return timer_queue_->cancel (cb, dont_call_handle_close);
+}
+
+void PTimer_Dispatcher::set (PTimerQueue *timer_queue)
+{
+ ACE_TRACE (ACE_TEXT ("PTimer_Dispatcher::set"));
+
+ timer_queue_ = timer_queue;
+}
+
+int
+PTimer_Dispatcher::reset_interval (long timer_id,
+ const ACE_Time_Value &interval)
+{
+ ACE_TRACE (ACE_TEXT ("PTimer_Dispatcher::reset_interval"));
+
+ return timer_queue_->reset_interval (timer_id, interval);
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <PTimer_Dispatcher, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <PTimer_Dispatcher, ACE_Null_Mutex>
+#elif defined (__GNUC__) && (defined (_AIX) || defined (__hpux))
+template ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex> *
+ ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex>::singleton_;
+# endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Timers/PTimerDispatcher.h b/examples/APG/Timers/PTimerDispatcher.h
new file mode 100644
index 00000000000..8a530f41709
--- /dev/null
+++ b/examples/APG/Timers/PTimerDispatcher.h
@@ -0,0 +1,39 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(PTIMER_DISPATCHER_H)
+#define PTIMER_DISPATCHER_H
+
+#include "ace/Singleton.h"
+#include "ace/Synch.h" // needed for ACE_Event
+
+#include "Upcall.h"
+class PCB;
+
+class PTimer_Dispatcher
+{
+public:
+ void wait_for_event (void);
+
+ long schedule (PCB *cb,
+ void *arg,
+ const ACE_Time_Value &abs_time,
+ const ACE_Time_Value &interval);
+
+ int cancel (PCB *cb,
+ int dont_call_handle_close = 1);
+
+ int reset_interval (long timer_id,
+ const ACE_Time_Value &interval);
+
+ void set (PTimerQueue *timer_queue);
+
+private:
+ PTimerQueue *timer_queue_;
+ ACE_Event timer_;
+};
+
+typedef ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex> PTimer;
+
+#endif /*TIMER_DISPATCHER_H*/
+
diff --git a/examples/APG/Timers/Task.cpp b/examples/APG/Timers/Task.cpp
new file mode 100644
index 00000000000..54e292bb2b8
--- /dev/null
+++ b/examples/APG/Timers/Task.cpp
@@ -0,0 +1,78 @@
+// $Id$
+
+#include "ace/OS_NS_sys_time.h"
+
+// Listing 1 code/ch20
+#include "ace/Timer_Queue_Adapters.h"
+#include "ace/Timer_Heap.h"
+
+typedef ACE_Thread_Timer_Queue_Adapter<ACE_Timer_Heap>
+ ActiveTimer;
+
+// Listing 1
+// Listing 2 code/ch20
+class CB : public ACE_Event_Handler
+{
+public:
+ CB (int id) : id_(id) { }
+
+ virtual int handle_timeout (const ACE_Time_Value &,
+ const void *arg)
+ {
+ ACE_TRACE (ACE_TEXT ("CB::handle_timeout"));
+
+ const int *val = ACE_static_cast (const int*, arg);
+ ACE_ASSERT((*val) == id_);
+
+ ACE_UNUSED_ARG (val);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Expiry handled by thread %t\n")));
+ return 0;
+ }
+
+private:
+ int id_;
+};
+// Listing 2
+
+// Listing 3 code/ch20
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("the main thread %t has started \n")));
+
+ // Create an "active" timer and start its thread.
+ ActiveTimer atimer;
+ atimer.activate ();
+
+ CB cb1 (1);
+ CB cb2 (2);
+ int arg1 = 1;
+ int arg2 = 2;
+
+ // Schedule timers to go off 3 & 4 seconds from now
+ // and then with an interval of 1.1 seconds.
+ const ACE_Time_Value curr_tv = ACE_OS::gettimeofday ();
+ ACE_Time_Value interval = ACE_Time_Value (1, 1000);
+
+ atimer.schedule (&cb1,
+ &arg1,
+ curr_tv + ACE_Time_Value (3L),
+ interval);
+ atimer.schedule (&cb2,
+ &arg2,
+ curr_tv + ACE_Time_Value (4L),
+ interval);
+
+ ACE_Thread_Manager::instance ()->wait (); // Wait forever.
+
+ return 0;
+}
+// Listing 3
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Thread_Timer_Queue_Adapter<ACE_Timer_Heap>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Thread_Timer_Queue_Adapter<ACE_Timer_Heap>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Timers/TimerDispatcher.cpp b/examples/APG/Timers/TimerDispatcher.cpp
new file mode 100644
index 00000000000..a08ddf4f6b3
--- /dev/null
+++ b/examples/APG/Timers/TimerDispatcher.cpp
@@ -0,0 +1,77 @@
+// $Id$
+
+#include "TimerDispatcher.h"
+// Listing 1 code/ch20
+void Timer_Dispatcher::wait_for_event (void)
+{
+ ACE_TRACE (ACE_TEXT ("Timer_Dispatcher::wait_for_event"));
+
+ while (1)
+ {
+ ACE_Time_Value max_tv = timer_queue_->gettimeofday ();
+
+ ACE_Time_Value *this_timeout =
+ this->timer_queue_->calculate_timeout (&max_tv);
+
+ if (*this_timeout == ACE_Time_Value::zero)
+ this->timer_queue_->expire ();
+ else
+ {
+ // Convert to absolute time.
+ ACE_Time_Value next_timeout =
+ timer_queue_->gettimeofday ();
+ next_timeout += *this_timeout;
+ if (this->timer_.wait (&next_timeout) == -1 )
+ this->timer_queue_->expire ();
+ }
+ }
+}
+// Listing 1
+// Listing 2 code/ch20
+long
+Timer_Dispatcher::schedule (ACE_Event_Handler *cb,
+ void *arg,
+ const ACE_Time_Value &abs_time,
+ const ACE_Time_Value &interval)
+{
+ ACE_TRACE (ACE_TEXT ("Timer_Dispatcher::schedule_timer"));
+
+ return this->timer_queue_->schedule
+ (cb, arg, abs_time, interval);
+}
+// Listing 2
+// Listing 3 code/ch20
+int
+Timer_Dispatcher::cancel (ACE_Event_Handler *cb,
+ int dont_call_handle_close)
+{
+ ACE_TRACE (ACE_TEXT ("Timer_Dispatcher::cancel"));
+ return timer_queue_->cancel (cb, dont_call_handle_close);
+}
+// Listing 3
+// Listing 4 code/ch20
+void Timer_Dispatcher::set (ACE_Timer_Queue *timer_queue)
+{
+ ACE_TRACE (ACE_TEXT ("Timer_Dispatcher::set"));
+
+ timer_queue_ = timer_queue;
+}
+// Listing 4
+
+int
+Timer_Dispatcher::reset_interval (long timer_id,
+ const ACE_Time_Value &interval)
+{
+ ACE_TRACE (ACE_TEXT ("Timer_Dispatcher::reset_interval"));
+
+ return timer_queue_->reset_interval(timer_id, interval);
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Timer_Dispatcher, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Timer_Dispatcher, ACE_Null_Mutex>
+#elif defined (__GNUC__) && (defined (_AIX) || defined (__hpux))
+template ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex> *
+ ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex>::singleton_;
+# endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/APG/Timers/TimerDispatcher.h b/examples/APG/Timers/TimerDispatcher.h
new file mode 100644
index 00000000000..fc519b77615
--- /dev/null
+++ b/examples/APG/Timers/TimerDispatcher.h
@@ -0,0 +1,40 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(TIMER_DISPATCHER_H)
+#define TIMER_DISPATCHER_H
+
+#include "ace/Event_Handler.h"
+#include "ace/Singleton.h"
+#include "ace/Synch.h" // needed for ACE_Event
+#include "ace/Timer_Queue.h"
+
+// Listing 1 code/ch20
+class Timer_Dispatcher
+{
+public:
+ void wait_for_event (void);
+
+ long schedule (ACE_Event_Handler *cb,
+ void *arg,
+ const ACE_Time_Value &abs_time,
+ const ACE_Time_Value &interval);
+
+ int cancel (ACE_Event_Handler *cb,
+ int dont_call_handle_close = 1);
+
+ int reset_interval (long timer_id,
+ const ACE_Time_Value &interval);
+
+ void set (ACE_Timer_Queue *timer_queue);
+
+private:
+ ACE_Timer_Queue *timer_queue_;
+ ACE_Event timer_;
+};
+
+typedef ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex> Timer;
+// Listing 1
+
+#endif /*TIMER_DISPATCHER_H*/
+
diff --git a/examples/APG/Timers/Timers.cpp b/examples/APG/Timers/Timers.cpp
new file mode 100644
index 00000000000..4a95e0d4315
--- /dev/null
+++ b/examples/APG/Timers/Timers.cpp
@@ -0,0 +1,57 @@
+// $Id$
+
+// Listing 1 code/ch20
+#include "ace/Timer_Queue.h"
+#include "ace/Timer_Heap.h"
+#include "ace/Timer_Wheel.h"
+#include "ace/Timer_Hash.h"
+#include "ace/Timer_List.h"
+
+#include "CB.h"
+#include "TimerDispatcher.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACE_Timer_Queue *timer_queue;
+
+#if defined(HEAP)
+
+ ACE_NEW_RETURN (timer_queue, ACE_Timer_Heap, -1);
+#elsif defined(HASH)
+
+ ACE_NEW_RETURN (timer_queue, ACE_Timer_Hash, -1);
+#elsif defined(WHEEL)
+
+ ACE_NEW_RETURN (timer_queue, ACE_Timer_Wheel, -1);
+#else
+
+ ACE_NEW_RETURN (timer_queue, ACE_Timer_List, -1);
+#endif
+
+ // setup the timer queue
+ Timer::instance ()->set (timer_queue);
+
+ CB cb[10];
+ long args[10];
+ for (int i = 0; i < 10 ; i++)
+ {
+ long timerID =
+ Timer::instance ()->schedule
+ (&cb[i],
+ &args[i],
+ timer_queue->gettimeofday () + (ACE_Time_Value)5,
+ i);
+
+ // Set the timerID state variable of the handler.
+ cb[i].setID (timerID);
+
+ // Implicitly send the handler it's timer id.
+ args[i] = timerID;
+ }
+
+ // "run" the timer.
+ Timer::instance ()->wait_for_event ();
+
+ return 0;
+}
+// Listing 1
diff --git a/examples/APG/Timers/Upcall.cpp b/examples/APG/Timers/Upcall.cpp
new file mode 100644
index 00000000000..1d4b0dbb844
--- /dev/null
+++ b/examples/APG/Timers/Upcall.cpp
@@ -0,0 +1,195 @@
+// $Id$
+
+#include "ace/OS_NS_sys_time.h"
+#include "ace/Log_Msg.h"
+#include "Upcall.h"
+#include "PTimerDispatcher.h"
+
+// Listing 2 code/ch20
+// The signature of this method changed at ACE 5.4. The 'recurring_timer'
+// parameter was added.
+int
+UpcallHandler::timeout (PTimerQueue &,
+ PCB *handler,
+ const void *arg,
+ int /* recurring_timer */,
+ const ACE_Time_Value &)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::timeout"));
+
+ return (*handler).handleEvent (arg);
+}
+
+#if 0
+// This method was removed at ACE 5.4. Replaced by cancel_type() and
+// cancel_timer().
+int
+UpcallHandler::cancellation (PTimerQueue &,
+ PCB *handler)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::cancellation"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d has been cancelled\n"),
+ handler->getID ()));
+
+ return handler->handleCancel ();
+}
+#endif /* 0 */
+
+// This method is called when the timer is canceled
+int
+UpcallHandler::deletion (PTimerQueue &,
+ PCB *handler,
+ const void *)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::deletion"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d has been deleted\n"),
+ handler->getID ()));
+
+ return handler->handleClose ();
+}
+// Listing 2
+
+// *** The rest of the UpcallHandler methods were added for ACE 5.4 ***
+
+// This method is called when a timer is registered.
+int
+UpcallHandler::registration (PTimerQueue &,
+ PCB *handler,
+ const void *)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::registration"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d has been registered.\n"),
+ handler->getID ()));
+ return 0;
+}
+
+// This method is called at expiration time, before the actual upcall
+// to the handler is made. ACE uses this to adjust reference counts
+// when needed.
+int
+UpcallHandler::preinvoke (PTimerQueue &,
+ PCB *handler,
+ const void *,
+ int,
+ const ACE_Time_Value &,
+ const void *&)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::preinvoke"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d is about to upcalled.\n"),
+ handler->getID ()));
+ return 0;
+}
+
+// This method is called at expiration time, after the actual upcall
+// to the handler returns. ACE uses this to adjust reference counts
+// when needed.
+int
+UpcallHandler::postinvoke (PTimerQueue &,
+ PCB *handler,
+ const void *,
+ int,
+ const ACE_Time_Value &,
+ const void *)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::postinvoke"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d returned from upcall.\n"),
+ handler->getID ()));
+ return 0;
+}
+
+// This method is called when a handler is cancelled
+int
+UpcallHandler::cancel_type (PTimerQueue &,
+ PCB *handler,
+ int dont_call,
+ int &)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::cancel_type"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d has been cancelled\n"),
+ handler->getID ()));
+ if (!dont_call)
+ return handler->handleCancel ();
+ return 0;
+}
+
+// This method is called when a timer is cancelled
+int
+UpcallHandler::cancel_timer (PTimerQueue &,
+ PCB *handler,
+ int dont_call,
+ int)
+{
+ ACE_TRACE (ACE_TEXT ("UpcallHandler::cancel_timer"));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Handler %d has been cancelled\n"),
+ handler->getID ()));
+ if (!dont_call)
+ return handler->handleCancel ();
+ return 0;
+}
+
+
+// Listing 3 code/ch20
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ PCB cb1, cb2;
+ cb1.setID (1);
+ cb2.setID (2);
+ int arg1 = 1, arg2 = 2;
+
+ PTimerQueue *timerQueue;
+
+ ACE_NEW_RETURN (timerQueue, PTimerHeap (), -1);
+
+ PTimer::instance ()->set (timerQueue);
+
+ ACE_Time_Value tv = ACE_OS::gettimeofday ();
+ tv += 20L;
+
+ // Schedule two different timers to go off.
+ PTimer::instance ()->schedule (&cb1, &arg1, tv, 1);
+ PTimer::instance ()->schedule (&cb2, &arg2, tv, 2);
+
+ // Run the timer event loop forever.
+ PTimer::instance ()->wait_for_event ();
+
+ return 0;
+}
+// Listing 3
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Free_List<ACE_Timer_Node_T<PCB*> >;
+template class ACE_Locked_Free_List<ACE_Timer_Node_T<PCB*>, ACE_Null_Mutex>;
+template class ACE_Timer_Node_T<PCB*>;
+template class ACE_Timer_Heap_T<PCB*, UpcallHandler, ACE_Null_Mutex>;
+template class ACE_Timer_Heap_Iterator_T<PCB*, UpcallHandler, ACE_Null_Mutex>;
+template class ACE_Timer_Queue_T<PCB*, UpcallHandler, ACE_Null_Mutex>;
+template class ACE_Timer_Queue_Iterator_T<PCB*, UpcallHandler, ACE_Null_Mutex>;
+template class ACE_Node<ACE_Timer_Node_T<PCB*>*>;
+template class ACE_Unbounded_Set<ACE_Timer_Node_T<PCB*>*>;
+template class ACE_Unbounded_Set_Iterator<ACE_Timer_Node_T<PCB*>*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Free_List<ACE_Timer_Node_T<PCB*> >
+#pragma instantiate ACE_Locked_Free_List<ACE_Timer_Node_T<PCB*>, ACE_Null_Mutex>
+#pragma instantiate ACE_Timer_Node_T<PCB*>
+#pragma instantiate ACE_Timer_Heap_T<PCB*, UpcallHandler, ACE_Null_Mutex>
+#pragma instantiate ACE_Timer_Heap_Iterator_T<PCB*, UpcallHandler, ACE_Null_Mutex>
+#pragma instantiate ACE_Timer_Queue_T<PCB*, UpcallHandler, ACE_Null_Mutex>
+#pragma instantiate ACE_Timer_Queue_Iterator_T<PCB*, UpcallHandler, ACE_Null_Mutex>
+#pragma instantiate ACE_Node<ACE_Timer_Node_T<PCB*>*>
+#pragma instantiate ACE_Unbounded_Set<ACE_Timer_Node_T<PCB*>*>
+#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_Timer_Node_T<PCB*>*>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/examples/APG/Timers/Upcall.h b/examples/APG/Timers/Upcall.h
new file mode 100644
index 00000000000..6a154f3b8b1
--- /dev/null
+++ b/examples/APG/Timers/Upcall.h
@@ -0,0 +1,87 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(UPCALL_H)
+#define UPCALL_H
+
+#include "ace/Timer_Queue_T.h"
+#include "ace/Timer_Heap_T.h"
+#include "ace/Synch.h"
+
+#include "PCB.h"
+
+// Listing 1 code/ch20
+class UpcallHandler;
+
+typedef ACE_Timer_Queue_T<PCB*, UpcallHandler, ACE_Null_Mutex>
+ PTimerQueue;
+
+// Create a special heap-based timer queue that allows you to
+// control exactly how timer evetns are handled.
+typedef ACE_Timer_Heap_T<PCB*, UpcallHandler, ACE_Null_Mutex>
+ PTimerHeap;
+// Listing 1
+
+class UpcallHandler
+{
+public:
+ // The signature of this method changed at ACE 5.4. The 'recurring_timer'
+ // parameter was added.
+ int timeout (PTimerQueue &timer_queue,
+ PCB *handler,
+ const void *arg,
+ int recurring_timer,
+ const ACE_Time_Value &cur_time);
+
+#if 0
+ // This method was removed at ACE 5.4. Replaced by cancel_type() and
+ // cancel_timer().
+ // This method is called when the timer is canceled.
+ int cancellation (PTimerQueue &timer_queue,
+ PCB *handler);
+#endif
+
+ // This method is called when the timer queue is destroyed and
+ // the timer is still contained in it.
+ int deletion (PTimerQueue &timer_queue,
+ PCB *handler,
+ const void *arg);
+
+ // The following methods don't appear before ACE 5.4, so aren't
+ // referenced in APG (it's based on ACE 5.3).
+
+ // This method is called when a timer is registered.
+ int registration (PTimerQueue &timer_queue,
+ PCB *handler,
+ const void *arg);
+
+ // This method is called before the timer expires.
+ int preinvoke (PTimerQueue &timer_queue,
+ PCB *handler,
+ const void *arg,
+ int recurring_timer,
+ const ACE_Time_Value &cur_time,
+ const void *&upcall_act);
+
+ // This method is called after the timer expires.
+ int postinvoke (PTimerQueue &timer_queue,
+ PCB *handler,
+ const void *arg,
+ int recurring_timer,
+ const ACE_Time_Value &cur_time,
+ const void *upcall_act);
+
+ // This method is called when a handler is cancelled
+ int cancel_type (PTimerQueue &timer_queue,
+ PCB *handler,
+ int dont_call,
+ int &requires_reference_counting);
+
+ // This method is called when a timer is cancelled
+ int cancel_timer (PTimerQueue &timer_queue,
+ PCB *handler,
+ int dont_call,
+ int requires_reference_counting);
+};
+
+#endif /*UPCALL_H*/
diff --git a/examples/APG/Timers/timers.mpc b/examples/APG/Timers/timers.mpc
new file mode 100644
index 00000000000..3dc5724b752
--- /dev/null
+++ b/examples/APG/Timers/timers.mpc
@@ -0,0 +1,31 @@
+project(Alarm) : aceexe {
+ exename = Alarm
+ Source_Files {
+ Alarm.cpp
+ }
+}
+
+project(Task) : aceexe {
+ exename = Task
+ Source_Files {
+ Task.cpp
+ }
+}
+
+project(Timers) : aceexe {
+ exename = Timers
+ Source_Files {
+ Timers.cpp
+ CB.cpp
+ TimerDispatcher.cpp
+ }
+}
+
+project(Upcall) : aceexe {
+ exename = Upcall
+ Source_Files {
+ Upcall.cpp
+ PCB.cpp
+ PTimerDispatcher.cpp
+ }
+}
diff --git a/examples/APG/Timers/timers.mwc b/examples/APG/Timers/timers.mwc
new file mode 100644
index 00000000000..b3032dea82d
--- /dev/null
+++ b/examples/APG/Timers/timers.mwc
@@ -0,0 +1,3 @@
+workspace {
+ timers.mpc
+}
diff --git a/examples/Bounded_Packet_Relay/Bounded_Packet_Relay.mpc b/examples/Bounded_Packet_Relay/Bounded_Packet_Relay.mpc
new file mode 100644
index 00000000000..bea0f975da4
--- /dev/null
+++ b/examples/Bounded_Packet_Relay/Bounded_Packet_Relay.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ exename = bpr_thread
+}
diff --git a/examples/NT_Service/NT_Service.mpc b/examples/NT_Service/NT_Service.mpc
new file mode 100644
index 00000000000..7d11f2ca152
--- /dev/null
+++ b/examples/NT_Service/NT_Service.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+
+ verbatim(gnuace, top) {
+ ifneq ($(MAKE),)
+ include $(ACE_ROOT)/include/makeinclude/macros.GNU
+ TARGETS_NESTED := $(TARGETS_NESTED:.nested=)
+ $(TARGETS_NESTED):
+ " @echo NT_Service will only build on Windows"
+ else
+ }
+
+ verbatim(gnuace, bottom) {
+ endif
+ }
+
+} \ No newline at end of file
diff --git a/examples/Reactor/WFMO_Reactor/APCTest.dsp b/examples/Reactor/WFMO_Reactor/APCTest.dsp
new file mode 100644
index 00000000000..93ad8c6e102
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/APCTest.dsp
@@ -0,0 +1,158 @@
+# Microsoft Developer Studio Project File - Name="APC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=APC - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "APCTest.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "APCTest.mak" CFG="APC - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "APC - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "APC - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "APC - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "APC - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "APC - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 acesd.lib advapi32.lib user32.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "APC - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 aces.lib advapi32.lib user32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "APC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "APC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /out:"APC.exe" /pdbtype:sept /libpath:"..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "APC - Win32 Static Debug"
+# Name "APC - Win32 Static Release"
+# Name "APC - Win32 Release"
+# Name "APC - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\APC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/examples/Synch/Synch.mpc b/examples/Synch/Synch.mpc
new file mode 100644
index 00000000000..5e8c6c115af
--- /dev/null
+++ b/examples/Synch/Synch.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ exename = proc_sema
+}
diff --git a/examples/TMCast/Member/Member.mpc b/examples/TMCast/Member/Member.mpc
new file mode 100644
index 00000000000..41372c2abb4
--- /dev/null
+++ b/examples/TMCast/Member/Member.mpc
@@ -0,0 +1,6 @@
+// -*- MPC -*-
+// $Id$
+
+project: aceexe, tmcast {
+}
+
diff --git a/include/makeinclude/all_in_one.GNU b/include/makeinclude/all_in_one.GNU
new file mode 100644
index 00000000000..ceb3890b30d
--- /dev/null
+++ b/include/makeinclude/all_in_one.GNU
@@ -0,0 +1,76 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# $Id$
+#----------------------------------------------------------------------------
+
+# Only include once.
+ifndef ALL_IN_ONE_GNU
+ALL_IN_ONE_GNU = 1
+
+# Include wrapper macros to all user defines, etc.
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+
+TAO_ROOT ?= $(ACE_ROOT)/TAO
+
+ifneq ($(ADDITIONAL_INCLUDE),)
+ include $(ADDITIONAL_INCLUDE)
+endif
+
+# Now test for installed components, and set the BIN. LIB, and SHLIB
+# targets from the *_UNCHECKED ones if the component checks
+# succeed. Client Makefile must set the variable REQUIRED_COMPONENTS
+# with a list of required components. If no additional components
+# are required, REQUIRED_COMPONENTS need not be set.
+include $(ACE_ROOT)/include/makeinclude/component_check.GNU
+
+# If no required components are missing, set the real targets
+ifeq ($(MISSING_COMPONENTS),)
+ ifdef BIN_UNCHECKED
+ BIN += $(BIN_UNCHECKED)
+ endif # !BIN_UNCHECKED
+ ifdef static_libs
+ ifdef LIB_UNCHECKED
+ LIB += $(LIB_UNCHECKED)
+ endif # !LIB_UNCHECKED
+ endif # static_libs
+ ifdef shared_libs
+ ifdef SHLIB_UNCHECKED
+ SHLIB += $(SHLIB_UNCHECKED)
+ endif # !SHLIB_UNCHECKED
+ endif # !shared_libs
+endif # COMPILE_COMPONENT
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+
+ifdef DIRS
+ include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
+else # !DIRS
+ include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+endif # DIRS
+ifdef CLEANUP_LIB
+ include_lib = 1
+endif # LIB
+
+ifdef CLEANUP_SHLIB
+ include_lib = 1
+endif # SHLIB
+
+ifeq ($(include_lib),1)
+ include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+endif
+
+ifdef CLEANUP_BIN
+ include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+endif # BIN
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+# Remove the -g option if requested.
+SUPPRESS_DASH_G ?=
+ifeq ($(SUPPRESS_DASH_G),1)
+ DCFLAGS := $(filter-out -g, $DCFLAGS)
+endif
+
+endif # ALL_IN_ONE_GNU
diff --git a/include/makeinclude/component_check.GNU b/include/makeinclude/component_check.GNU
new file mode 100644
index 00000000000..105a72d0b39
--- /dev/null
+++ b/include/makeinclude/component_check.GNU
@@ -0,0 +1,16 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# $Id$
+#----------------------------------------------------------------------------
+
+# Load all components.
+ALL_COMPONENTS := $(ACE_MAKE_OPTIONS)
+ALL_COMPONENTS += $(shell sh $(ACE_ROOT)/bin/ace_components --ace)
+ALL_COMPONENTS += $(shell sh $(ACE_ROOT)/bin/ace_components --tao)
+ALL_COMPONENTS += $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ALL_COMPONENTS += $(shell sh $(ACE_ROOT)/bin/ace_components --pace)
+
+# Filter out all the components that are currently available from the
+# list of requirements.
+MISSING_COMPONENTS := $(filter-out $(ALL_COMPONENTS), $(REQUIRED_COMPONENTS))
diff --git a/include/makeinclude/platform_macosx_panther.GNU b/include/makeinclude/platform_macosx_panther.GNU
new file mode 100644
index 00000000000..0ca97e079fe
--- /dev/null
+++ b/include/makeinclude/platform_macosx_panther.GNU
@@ -0,0 +1,40 @@
+# $Id$
+# platform_macosx.GNU
+# support for Mac OS X 10.3 (Panther)
+
+ifndef exceptions
+ exceptions = 1
+endif
+ifeq (,$(debug))
+ debug = 1
+endif
+ifeq (,$(optimize))
+ optimize = 0
+endif
+ifeq (,$(versioned_so))
+ versioned_so = 0
+endif
+with_ld = macosx
+
+CC = gcc
+CXX = g++
+CFLAGS += -Wall -Wpointer-arith -Wno-long-double -pipe
+
+DCFLAGS += -g
+DLD = libtool
+LD = $(CXX)
+LIBS += -lcc_dynamic -lstdc++ -lSystem
+
+OCFLAGS += -O3
+RANLIB = ranlib
+SOEXT = dylib
+SOFLAGS += -dynamic
+SOBUILD = -o $(VSHDIR)$*.dylib $<
+
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
+# add -E to LDFLAGS if using GNU ld
+#
+include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
+
+LDFLAGS += -flat_namespace -undefined warning
+CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)
diff --git a/m4/aio.m4 b/m4/aio.m4
new file mode 100644
index 00000000000..63574e66ff3
--- /dev/null
+++ b/m4/aio.m4
@@ -0,0 +1,623 @@
+dnl -------------------------------------------------------------------------
+dnl $Id$
+dnl
+dnl aio.m4
+dnl
+dnl ACE M4 include file which contains ACE specific M4 macros
+dnl that determine availablility of POSIX asynchronous IO
+dnl support.
+dnl
+dnl -------------------------------------------------------------------------
+
+dnl Copyright (C) 1998, 1999, 2002 Ossama Othman
+dnl
+dnl All Rights Reserved
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the current ACE distribution terms.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+dnl Asynchronous IO check
+dnl Use this macro to determine if asynchronous IO is working on a
+dnl given platform.
+dnl Usage: ACE_CHECK_ASYNCH_IO
+AC_DEFUN([ACE_CHECK_ASYNCH_IO],
+[
+ AC_REQUIRE([AC_PROG_CXX])
+ AC_REQUIRE([AC_PROG_CXXCPP])
+ AC_LANG([C++])
+ AC_REQUIRE([AC_LANG])
+ AC_REQUIRE([ACE_CHECK_THREADS])
+
+ dnl In case a library with the asynchronous libraries is found but
+ dnl the asynchronous IO support is not functional then save a copy
+ dnl of the list of libraries before the asynch IO function library
+ dnl is added to the list so that we can revert the list to its
+ dnl pre-asynch-IO check state.
+ ace_save_LIBS="$LIBS"
+
+ dnl Asynchronous IO library check
+ dnl Some platforms, such as Solaris puts aio_read in -lposix4, for example.
+ dnl In some cases, the thread library must be linked to in addition to the
+ dnl real-time support library. As such, make sure these checks are done
+ dnl after the thread library checks.
+ AC_SEARCH_LIBS([aio_read], [aio rt posix4],
+ [ace_has_aio_funcs=yes], [ace_has_aio_funcs=no])
+
+if test "$ace_has_aio_funcs" = yes; then
+ ACE_CACHE_CHECK([for working asynchronous IO],
+ [ace_cv_feature_aio_calls],
+ [
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#ifndef ACE_LACKS_UNISTD_H
+#include <unistd.h>
+#endif
+#include <fcntl.h>
+#ifndef ACE_LACKS_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#include <sys/stat.h>
+#include <signal.h>
+#include <string.h>
+#include <errno.h>
+#include <stdio.h>
+#include <iostream.h>
+
+#include <aio.h>
+
+class Test_Aio
+{
+public:
+ Test_Aio (void);
+ // Default constructor.
+
+ int init (void);
+ // Initting the output file and the buffer.
+
+ int do_aio (void);
+ // Doing the testing stuff.
+
+ ~Test_Aio (void);
+ // Destructor.
+private:
+ int out_fd_;
+ // Output file descriptor.
+
+ struct aiocb *aiocb_write_;
+ // For writing to the file.
+
+ struct aiocb *aiocb_read_;
+ // Reading stuff from the file.
+
+ char *buffer_write_;
+ // The buffer to be written to the out_fd.
+
+ char *buffer_read_;
+ // The buffer to be read back from the file.
+};
+
+Test_Aio::Test_Aio (void)
+ : out_fd_ (0),
+ aiocb_write_ (new struct aiocb),
+ aiocb_read_ (new struct aiocb),
+ buffer_write_ (0),
+ buffer_read_ (0)
+{
+}
+
+Test_Aio::~Test_Aio (void)
+{
+ if (close (this->out_fd_) != 0)
+ perror ("close");
+
+ delete aiocb_write_;
+ delete aiocb_read_;
+ delete [] buffer_write_;
+ delete [] buffer_read_;
+}
+
+// Init the output file and init the buffer.
+int
+Test_Aio::init (void)
+{
+ // Open the output file.
+ this->out_fd_ = open ("test_aio.log", O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (this->out_fd_ == -1)
+ {
+ perror ("open");
+ return -1;
+ }
+
+ unlink ("test_aio.log"); // Unlink now so we don't have to do so later.
+
+ const char message[] = "Welcome to the world of AIO... AIO Rules !!!";
+
+ // Init the buffers.
+ this->buffer_write_ = new char [sizeof (message) + 1];
+ strcpy (this->buffer_write_, message);
+ // cout << "The buffer : " << this->buffer_write_ << endl;
+ this->buffer_read_ = new char [sizeof (message) + 1];
+
+ return 0;
+}
+
+// Set the necessary things for the AIO stuff.
+// Write the buffer asynchly.hmm Disable signals.
+// Go on aio_suspend. Wait for completion.
+// Print out the result.
+int
+Test_Aio::do_aio (void)
+{
+ // = Write to the file.
+
+ // Setup AIOCB.
+ this->aiocb_write_->aio_fildes = this->out_fd_;
+ this->aiocb_write_->aio_offset = 0;
+ this->aiocb_write_->aio_buf = this->buffer_write_;
+ this->aiocb_write_->aio_nbytes = strlen (this->buffer_write_);
+ this->aiocb_write_->aio_reqprio = 0;
+ this->aiocb_write_->aio_sigevent.sigev_notify = SIGEV_NONE;
+ //this->this->aiocb_.aio_sigevent.sigev_signo = SIGRTMAX;
+ this->aiocb_write_->aio_sigevent.sigev_value.sival_ptr =
+ (void *) this->aiocb_write_;
+
+ // Fire off the aio write.
+ if (aio_write (this->aiocb_write_) != 0)
+ {
+ perror ("aio_write");
+ return -1;
+ }
+
+ // = Read from that file.
+
+ // Setup AIOCB.
+ this->aiocb_read_->aio_fildes = this->out_fd_;
+ this->aiocb_read_->aio_offset = 0;
+ this->aiocb_read_->aio_buf = this->buffer_read_;
+ this->aiocb_read_->aio_nbytes = strlen (this->buffer_write_);
+ this->aiocb_read_->aio_reqprio = 0;
+ this->aiocb_read_->aio_sigevent.sigev_notify = SIGEV_NONE;
+ //this->this->aiocb_.aio_sigevent.sigev_signo = SIGRTMAX;
+ this->aiocb_read_->aio_sigevent.sigev_value.sival_ptr =
+ (void *) this->aiocb_read_;
+
+ // Fire off the aio write. If it doesnt get queued, carry on to get
+ // the completion for the first one.
+ if (aio_read (this->aiocb_read_) < 0)
+ perror ("aio_read");
+
+ // Wait for the completion on aio_suspend.
+ struct aiocb *list_aiocb[2];
+ list_aiocb [0] = this->aiocb_write_;
+ list_aiocb [1] = this->aiocb_read_;
+
+ // Do suspend till all the aiocbs in the list are done.
+ int done = 0;
+ while (!done)
+ {
+ if (aio_suspend (list_aiocb, 2, 0) != 0)
+ {
+ perror ("aio_suspend");
+ return -1;
+ }
+
+ // Analyze return and error values.
+ if (list_aiocb [0] != 0 && aio_error (list_aiocb [0]) != EINPROGRESS)
+ {
+ if (aio_return (list_aiocb [0]) == -1)
+ {
+ perror ("aio_return");
+ return -1;
+ }
+ else
+ {
+ // Successful. Store the pointer somewhere and make the
+ // entry NULL in the list.
+ // @@ no need ----> this->aiocb_write_ = list_aiocb [0];
+ list_aiocb [0] = 0;
+ }
+ }
+// else
+// cout << "AIO in progress" << endl;
+
+ if (list_aiocb [1] != 0 && aio_error (list_aiocb [1]) != EINPROGRESS)
+ {
+ if (aio_return (list_aiocb [1]) == -1)
+ {
+ perror ("aio_return");
+ return -1;
+ }
+ else
+ {
+ // Successful. Store the pointer somewhere and make the
+ // entry NULL in the list.
+ // @@ no need ----> this->aiocb_read_ = list_aiocb [1];
+ list_aiocb [1] = 0;
+ }
+ }
+// else
+// cout << "AIO in progress" << endl;
+
+ // Is it done?
+ if ((list_aiocb [0] == 0) && (list_aiocb [1] == 0))
+ done = 1;
+ }
+
+ //cout << "Both the AIO operations done." << endl;
+ //cout << "The buffer is :" << this->buffer_read_ << endl;
+
+ return 0;
+}
+
+int
+main ()
+{
+ Test_Aio test_aio;
+
+ if (test_aio.init () != 0)
+ {
+ //printf ("AIOCB test failed:\n"
+ // "ACE_POSIX_AIOCB_PROACTOR may not work in this platform\n");
+ return -1;
+ }
+
+ if (test_aio.do_aio () != 0)
+ {
+ //printf ("AIOCB test failed:\n"
+ // "ACE_POSIX_AIOCB_PROACTOR may not work in this platform\n");
+ return -1;
+ }
+ //printf ("AIOCB test successful:\n"
+ // "ACE_POSIX_AIOCB_PROACTOR should work in this platform\n");
+ return 0;
+}
+ ]])],[
+ dnl Now try another test
+
+ dnl Create a file for the test program to read.
+ cat > test_aiosig.txt <<EOF
+
+*******************************************************
+FOO BAR FOO BAR FOO BAR FOO BAR FOO BAR FOO BAR FOO BAR
+*******************************************************
+EOF
+
+
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#ifndef ACE_LACKS_UNISTD_H
+#include <unistd.h>
+#endif
+#include <fcntl.h>
+#ifndef ACE_LACKS_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#include <sys/stat.h>
+#include <pthread.h>
+#include <signal.h>
+#include <string.h>
+#include <errno.h>
+#include <stdio.h>
+
+#include <limits.h>
+
+#include <aio.h>
+
+#ifdef __cplusplus
+extern "C"
+#endif
+void null_handler (int /* signal_number */,
+ siginfo_t * /* info */,
+ void * /* context */);
+
+int file_handle = -1;
+char mb1[BUFSIZ + 1];
+char mb2[BUFSIZ + 1];
+aiocb aiocb1, aiocb2;
+sigset_t completion_signal;
+
+// Function prototypes.
+int setup_signal_delivery (void);
+int issue_aio_calls (void);
+int query_aio_completions (void);
+int test_aio_calls (void);
+int setup_signal_handler (void);
+int setup_signal_handler (int signal_number);
+
+int
+setup_signal_delivery (void)
+{
+ // Make the sigset_t consisting of the completion signal.
+ if (sigemptyset (&completion_signal) == -1)
+ {
+ perror ("Error:Couldn't init the RT completion signal set\n");
+ return -1;
+ }
+
+ if (sigaddset (&completion_signal, SIGRTMIN) == -1)
+ {
+ perror ("Error:Couldn't init the RT completion signal set\n");
+ return -1;
+ }
+
+ // Mask them.
+ if (pthread_sigmask (SIG_BLOCK, &completion_signal, 0) == -1)
+ {
+ perror ("Error:Couldn't make the RT completion signals\n");
+ return -1;
+ }
+
+ return setup_signal_handler (SIGRTMIN);
+}
+
+int
+issue_aio_calls (void)
+{
+ // Setup AIOCB.
+ aiocb1.aio_fildes = file_handle;
+ aiocb1.aio_offset = 0;
+ aiocb1.aio_buf = mb1;
+ aiocb1.aio_nbytes = BUFSIZ;
+ aiocb1.aio_reqprio = 0;
+ aiocb1.aio_sigevent.sigev_notify = SIGEV_SIGNAL;
+ aiocb1.aio_sigevent.sigev_signo = SIGRTMIN;
+ aiocb1.aio_sigevent.sigev_value.sival_ptr = (void *) &aiocb1;
+
+ // Fire off the aio write.
+ if (aio_read (&aiocb1) == -1)
+ {
+ // Queueing failed.
+ perror ("Error:Asynch_Read_Stream: aio_read queueing failed\n");
+ return -1;
+ }
+
+ // Setup AIOCB.
+ aiocb2.aio_fildes = file_handle;
+ aiocb2.aio_offset = BUFSIZ + 1;
+ aiocb2.aio_buf = mb2;
+ aiocb2.aio_nbytes = BUFSIZ;
+ aiocb2.aio_reqprio = 0;
+ aiocb2.aio_sigevent.sigev_notify = SIGEV_SIGNAL;
+ aiocb2.aio_sigevent.sigev_signo = SIGRTMIN;
+ aiocb2.aio_sigevent.sigev_value.sival_ptr = (void *) &aiocb2;
+
+ // Fire off the aio write.
+ if (aio_read (&aiocb2) == -1)
+ {
+ // Queueing failed.
+ perror ("Error:Asynch_Read_Stream: aio_read queueing failed\n");
+ return -1;
+ }
+ return 0;
+}
+
+int
+query_aio_completions (void)
+{
+ int result = 0;
+ size_t number_of_completions = 0;
+ for (number_of_completions = 0;
+ number_of_completions < 2;
+ number_of_completions++)
+ {
+ // Wait for <milli_seconds> amount of time.
+ // @@ Assigning <milli_seconds> to tv_sec.
+ timespec timeout;
+ timeout.tv_sec = 5;
+ timeout.tv_nsec = 0;
+
+ // To get back the signal info.
+ siginfo_t sig_info;
+
+ // Await the RT completion signal.
+ int sig_return = sigtimedwait (&completion_signal,
+ &sig_info,
+ &timeout);
+
+ // Error case.
+ // If failure is coz of timeout, then return *0* but set
+ // errno appropriately. This is what the WinNT proactor
+ // does.
+ if (sig_return == -1)
+ {
+ perror ("Error:Error waiting for RT completion signals\n");
+ return -1;
+ }
+
+ // RT completion signals returned.
+ if (sig_return != SIGRTMIN)
+ {
+ //printf ("Unexpected signal (%d) has been received while waiting for RT Completion Signals\n",
+ // sig_return);
+ return -1;
+ }
+
+ // @@ Debugging.
+ //printf ("Sig number found in the sig_info block : %d\n",
+ // sig_info.si_signo);
+
+ // Is the signo returned consistent?
+ if (sig_info.si_signo != sig_return)
+ {
+ //printf ("Inconsistent signal number (%d) in the signal info block\n",
+ // sig_info.si_signo);
+ return -1;
+ }
+
+ // @@ Debugging.
+ //printf ("Signal code for this signal delivery : %d\n",
+ // sig_info.si_code);
+
+ // Is the signal code an aio completion one?
+ if ((sig_info.si_code != SI_ASYNCIO) &&
+ (sig_info.si_code != SI_QUEUE))
+ {
+ //printf ("Unexpected signal code (%d) returned on completion querying\n",
+ // sig_info.si_code);
+ return -1;
+ }
+
+ // Retrive the aiocb.
+ aiocb* aiocb_ptr = (aiocb *) sig_info.si_value.sival_ptr;
+
+ // Analyze error and return values. Return values are
+ // actually <errno>'s associated with the <aio_> call
+ // corresponding to aiocb_ptr.
+ int error_code = aio_error (aiocb_ptr);
+ if (error_code == -1)
+ {
+ perror ("Error:Invalid control block was sent to <aio_error> for compleion querying\n");
+ return -1;
+ }
+
+ if (error_code != 0)
+ {
+ // Error occurred in the <aio_>call. Return the errno
+ // corresponding to that <aio_> call.
+ //printf ("Error:An AIO call has failed:Error code = %d\n",
+ // error_code);
+ return -1;
+ }
+
+ // No error occured in the AIO operation.
+ int nbytes = aio_return (aiocb_ptr);
+ if (nbytes == -1)
+ {
+ perror ("Error:Invalid control block was sent to <aio_return>\n");
+ return -1;
+ }
+
+ //if (number_of_completions == 0)
+ // Print the buffer.
+ //printf ("Number of bytes transferred : %d\n The buffer : %s \n",
+ // nbytes,
+ // mb1);
+ //else
+ // Print the buffer.
+ //printf ("Number of bytes transferred : %d\n The buffer : %s \n",
+ // nbytes,
+ // mb2);
+ }
+ return 0;
+}
+
+int
+test_aio_calls (void)
+{
+ // Set up the input file.
+ // Open file (in SEQUENTIAL_SCAN mode)
+ file_handle = open ("test_aiosig.txt", O_RDONLY);
+
+ if (file_handle == -1)
+ {
+ perror ("open");
+ return -1;
+ }
+
+ unlink ("test_aiosig.txt"); // Unlink now so we don't have to do so later.
+
+ if (setup_signal_delivery () < 0)
+ return -1;
+
+ if (issue_aio_calls () < 0)
+ return -1;
+
+ if (query_aio_completions () < 0)
+ return -1;
+
+ if (close (file_handle) != 0)
+ {
+ perror ("close");
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+setup_signal_handler (int signal_number)
+{
+ // Setting up the handler(!) for these signals.
+ struct sigaction reaction;
+ sigemptyset (&reaction.sa_mask); // Nothing else to mask.
+ reaction.sa_flags = SA_SIGINFO; // Realtime flag.
+#if defined (SA_SIGACTION)
+ // Lynx says, it is better to set this bit to be portable.
+ reaction.sa_flags &= SA_SIGACTION;
+#endif /* SA_SIGACTION */
+ reaction.sa_sigaction = null_handler; // Null handler.
+ int sigaction_return = sigaction (SIGRTMIN,
+ &reaction,
+ 0);
+ if (sigaction_return == -1)
+ {
+ perror ("Error:Proactor couldn't do sigaction for the RT SIGNAL");
+ return -1;
+ }
+
+ return 0;
+}
+
+void
+null_handler (int /* signal_number */,
+ siginfo_t * /* info */,
+ void * /* context */)
+{
+}
+
+int
+main ()
+{
+ if (test_aio_calls () == 0)
+ {
+ // printf ("RT SIG test successful:\n"
+ // "ACE_POSIX_SIG_PROACTOR should work in this platform\n");
+ return 0;
+ }
+
+ //printf ("RT SIG test failed:\n"
+ // "ACE_POSIX_SIG_PROACTOR may not work in this platform\n");
+ return -1;
+
+}
+ ]])],
+ [
+ ace_cv_feature_aio_calls=yes
+ ],
+ [
+ ace_cv_feature_aio_calls=no
+ ],
+ [
+ dnl Don't bother doing anything for cross-compiling here
+ dnl since the outer run-time test will prevent this
+ dnl inner run-time test from ever running when cross-compiling.
+ dnl We just put something in here to prevent autoconf
+ dnl from complaining.
+ ace_just_a_place_holder=ignoreme
+ ])
+ ],[
+ ace_cv_feature_aio_calls=no
+ ],[
+ dnl Asynchronous IO test for cross-compiled platforms
+ dnl This test is weaker than the above run-time tests but it will
+ dnl have to do.
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+#include <aio.h>
+ ]],
+ [[
+ aiocb* aiocb_ptr (void);
+ ]])],
+ [
+ ace_cv_feature_aio_calls=yes
+ ],
+ [
+ ace_cv_feature_aio_calls=no
+ ])
+ ])
+ ],[AC_DEFINE([ACE_HAS_AIO_CALLS])],[LIBS="$ace_save_LIBS"])
+fi dnl test "$ace_has_aio_funcs" = yes
+])
diff --git a/m4/tls.m4 b/m4/tls.m4
new file mode 100644
index 00000000000..05d01b23f29
--- /dev/null
+++ b/m4/tls.m4
@@ -0,0 +1,147 @@
+dnl -------------------------------------------------------------------------
+dnl $Id$
+dnl
+dnl tls.m4
+dnl
+dnl ACE M4 include file which contains ACE specific M4 macros
+dnl that determine availablility of SSL/TLS support.
+dnl
+dnl -------------------------------------------------------------------------
+
+dnl Copyright (C) 2003 Ossama Othman
+dnl
+dnl All Rights Reserved
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the current ACE distribution terms.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+dnl TLS/SSL library IO check
+dnl Use this macro to determine if TLS/SSL support is available on the
+dnl current host.
+dnl Usage: ACE_CHECK_TLS
+AC_DEFUN([ACE_CHECK_TLS],
+[
+ AC_REQUIRE([AC_PROG_CXX])
+ AC_REQUIRE([AC_PROG_CXXCPP])
+ AC_LANG([C++])
+ AC_REQUIRE([AC_LANG])
+
+ dnl Save the current library and preprocessor flagslist. We do not
+ dnl want to add the SSL/TLS-specific ones to the general library link
+ dnl and preprocessor flags list since they should only be used when
+ dnl building the ACE_SSL library and/or binaries that use the ACE_SSL
+ dnl library.
+ ace_save_LIBS="$LIBS"
+ ace_save_CPPFLAGS="$CPPFLAGS"
+
+ dnl ---------------------------------------------------------
+
+ ace_TLS_CPPFLAGS=""
+
+ dnl Check if OpenSSL requires the Kerberos include directory to be
+ dnl added to the header search path.
+
+ AC_CACHE_CHECK([for Kerberos include flags needed by OpenSSL],
+ [ac_cv_kerberos_dir],
+ [
+ for ace_kerberos in usr usr/local; do
+ ace_TLS_CPPFLAGS="-I/${ace_kerberos}/kerberos/include"
+
+ CPPFLAGS="$ace_TLS_CPPFLAGS $ace_save_CPPFLAGS"
+
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+#include <openssl/ssl.h>
+ ],
+ [
+// ... THIS CODE DOES NOTHING! IT IS JUST USED FOR COMPILE TESTS ...
+
+// ... Perform TCP connection ...
+
+// ... Perform TLS/SSL stuff ...
+CRYPTO_set_locking_callback (0);
+SSLeay_add_ssl_algorithms ();
+SSL_load_error_strings ();
+SSL_METHOD * meth = TLSv1_method ();
+SSL_CTX * ctx = SSL_CTX_new (meth);
+SSL * ssl = SSL_new (ctx);
+int fd = 2000; // Dummy file descriptor value.
+SSL_set_fd (ssl, fd);
+SSL_connect (ssl);
+SSL_shutdown (ssl);
+
+// ...
+ ])
+ ],
+ [
+ ac_cv_kerberos_dir="$ace_TLS_CPPFLAGS"
+ break
+ ],
+ [
+ ac_cv_kerberos_dir=no
+ ])
+
+ done
+ ])
+
+ if test $ac_cv_kerberos_dir != no; then
+ AC_SUBST([ACE_TLS_CPPFLAGS],[$ace_TLS_CPPFLAGS])
+ fi
+
+ dnl ---------------------------------------------------------
+
+ dnl Add the TLS/SSL libraries to the library list.
+ ace_TLS_LIBS="-lssl -lcrypto"
+
+ LIBS="$ace_TLS_LIBS $LIBS"
+
+ AC_CACHE_CHECK([for OpenSSL libraries],
+ [ac_cv_openssl_libs],
+ [
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+#include <openssl/ssl.h>
+ ],
+ [
+// ... THIS PROGRAM DOES NOTHING! IT IS JUST USED FOR LINK TESTS ...
+
+// ... Perform TCP connection ...
+
+// ... Perform TLS/SSL stuff ...
+CRYPTO_set_locking_callback (0);
+SSLeay_add_ssl_algorithms ();
+SSL_load_error_strings ();
+SSL_METHOD * meth = TLSv1_method ();
+SSL_CTX * ctx = SSL_CTX_new (meth);
+SSL * ssl = SSL_new (ctx);
+int fd = 2000; // Dummy file descriptor value.
+SSL_set_fd (ssl, fd);
+SSL_connect (ssl);
+SSL_shutdown (ssl);
+
+// ...
+ ])
+ ],
+ [
+ ac_cv_openssl_libs=yes
+ ],
+ [
+ ac_cv_openssl_libs=no
+ ])
+ ])
+
+ if test $ac_cv_openssl_libs != no; then
+ AC_SUBST([ACE_TLS_LIBS],[$ace_TLS_LIBS])
+ fi
+
+ AM_CONDITIONAL([BUILD_SSL], [test X$ace_user_with_ssl = Xyes])
+
+ dnl Restore the original library list and preprocessor flags.
+ LIBS="$ace_save_LIBS"
+ CPPFLAGS="$ace_save_CPPFLAGS"
+
+])
diff --git a/performance-tests/Misc/Misc.mpc b/performance-tests/Misc/Misc.mpc
new file mode 100644
index 00000000000..94a3bea51b4
--- /dev/null
+++ b/performance-tests/Misc/Misc.mpc
@@ -0,0 +1,52 @@
+// -*- MPC -*-
+// $Id$
+
+project(*basic_perf) : aceexe {
+ Source_Files {
+ basic_func.cpp
+ basic_perf.cpp
+ }
+}
+
+project(*childbirth_time) : aceexe {
+ Source_Files {
+ childbirth_time.cpp
+ }
+}
+
+project(*context_switch_time) : aceexe {
+ Source_Files {
+ context_switch_time.cpp
+ }
+}
+
+project(*test_mutex) : aceexe {
+ Source_Files {
+ test_mutex.cpp
+ }
+}
+
+project(*test_naming) : aceexe {
+ Source_Files {
+ test_naming.cpp
+ }
+}
+
+project(*test_singleton) : aceexe {
+ Source_Files {
+ test_singleton.cpp
+ }
+}
+
+project(*preempt) : aceexe {
+ Source_Files {
+ preempt.cpp
+ }
+}
+
+// May need to add an ace_obsolete_guard_class feature
+//project(*test_guard) : aceexe {
+// Source_Files {
+// test_guard.cpp
+// }
+//}
diff --git a/performance-tests/RPC/RPC.mpc b/performance-tests/RPC/RPC.mpc
new file mode 100644
index 00000000000..feccec74ce5
--- /dev/null
+++ b/performance-tests/RPC/RPC.mpc
@@ -0,0 +1,17 @@
+// -*- MPC -*-
+// $Id$
+
+project(*client) : aceexe, rpc {
+ source_files {
+ client.cpp
+ ping_clnt.c
+ }
+}
+
+project(*server) : aceexe, rpc {
+ exename = server
+ source_files {
+ server.c
+ ping_svc.c
+ }
+} \ No newline at end of file
diff --git a/performance-tests/Server_Concurrency/Leader_Follower/Server_Concurrency_Leader_Follower.mpc b/performance-tests/Server_Concurrency/Leader_Follower/Server_Concurrency_Leader_Follower.mpc
new file mode 100644
index 00000000000..18b9e28febf
--- /dev/null
+++ b/performance-tests/Server_Concurrency/Leader_Follower/Server_Concurrency_Leader_Follower.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ source_files {
+ leader_follower.cpp
+ }
+}
+
+project(*RT_CORBA) : aceexe {
+ source_files {
+ RT_CORBA_Leader_Follower.cpp
+ }
+} \ No newline at end of file
diff --git a/performance-tests/Server_Concurrency/Queue_Based_Workers/Server_Concurrency_Queue_Based_Workers.mpc b/performance-tests/Server_Concurrency/Queue_Based_Workers/Server_Concurrency_Queue_Based_Workers.mpc
new file mode 100644
index 00000000000..4b4291e1f43
--- /dev/null
+++ b/performance-tests/Server_Concurrency/Queue_Based_Workers/Server_Concurrency_Queue_Based_Workers.mpc
@@ -0,0 +1,14 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ source_files {
+ workers.cpp
+ }
+}
+
+project(*RTCorba) : aceexe {
+ source_files {
+ RT_CORBA_Workers.cpp
+ }
+} \ No newline at end of file
diff --git a/performance-tests/Synch-Benchmarks/Base_Test/Synch_Benchmarks_Base_Test.mpc b/performance-tests/Synch-Benchmarks/Base_Test/Synch_Benchmarks_Base_Test.mpc
new file mode 100644
index 00000000000..e5e86e69dea
--- /dev/null
+++ b/performance-tests/Synch-Benchmarks/Base_Test/Synch_Benchmarks_Base_Test.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ after += Synch_Lib
+ libs += Synch_Lib
+ libpaths += ../Synch_Lib
+ includes += ..
+} \ No newline at end of file
diff --git a/performance-tests/Synch-Benchmarks/Perf_Test/Synch_Benchmarks_Perf_Test.mpc b/performance-tests/Synch-Benchmarks/Perf_Test/Synch_Benchmarks_Perf_Test.mpc
new file mode 100644
index 00000000000..e5e86e69dea
--- /dev/null
+++ b/performance-tests/Synch-Benchmarks/Perf_Test/Synch_Benchmarks_Perf_Test.mpc
@@ -0,0 +1,9 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ after += Synch_Lib
+ libs += Synch_Lib
+ libpaths += ../Synch_Lib
+ includes += ..
+} \ No newline at end of file
diff --git a/performance-tests/Synch-Benchmarks/Synch_Benchmarks.mpc b/performance-tests/Synch-Benchmarks/Synch_Benchmarks.mpc
new file mode 100644
index 00000000000..5c1492dc75b
--- /dev/null
+++ b/performance-tests/Synch-Benchmarks/Synch_Benchmarks.mpc
@@ -0,0 +1,11 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ after += Synch_Lib
+ libs += Synch_Lib
+ libpaths += Synch_Lib
+ source_files {
+ synch_driver.cpp
+ }
+} \ No newline at end of file
diff --git a/performance-tests/Synch-Benchmarks/Synch_Lib/Synch_Benchmarks_Synch_Lib.mpc b/performance-tests/Synch-Benchmarks/Synch_Lib/Synch_Benchmarks_Synch_Lib.mpc
new file mode 100644
index 00000000000..0cf7df2601e
--- /dev/null
+++ b/performance-tests/Synch-Benchmarks/Synch_Lib/Synch_Benchmarks_Synch_Lib.mpc
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project(Synch_Lib) : aceexe {
+ sharedname = Synch_Lib
+ dynamicflags += SYNCHLIB_BUILD_DLL
+} \ No newline at end of file
diff --git a/performance-tests/TCP/TCP.mpc b/performance-tests/TCP/TCP.mpc
new file mode 100644
index 00000000000..ca6b8ee6622
--- /dev/null
+++ b/performance-tests/TCP/TCP.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+} \ No newline at end of file
diff --git a/performance-tests/UDP/UDP.mpc b/performance-tests/UDP/UDP.mpc
new file mode 100644
index 00000000000..b145e73b879
--- /dev/null
+++ b/performance-tests/UDP/UDP.mpc
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project : aceexe {
+ verbatim(gnuace, local) {
+ LDLIBS += $(MATHLIB)
+ }
+}
diff --git a/tests/Bound_Ptr_Test.h b/tests/Bound_Ptr_Test.h
new file mode 100644
index 00000000000..9b72c7863d1
--- /dev/null
+++ b/tests/Bound_Ptr_Test.h
@@ -0,0 +1,87 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Bound_Ptr_Test.h
+//
+// = DESCRIPTION
+// Define class needed for generating templates. IBM C++ requires this to
+// be in its own file for auto template instantiation.
+//
+// = AUTHOR
+// @author Christopher Kohlhoff <chris@kohlhoff.com>
+//
+// ============================================================================
+
+#ifndef ACE_TESTS_BOUND_PTR_TEST_H
+#define ACE_TESTS_BOUND_PTR_TEST_H
+
+#include "ace/Activation_Queue.h"
+#include "ace/Bound_Ptr.h"
+#include "ace/Task.h"
+#include "ace/Thread_Mutex.h"
+
+struct Printer
+{
+ Printer (const char *message);
+ ~Printer (void) ;
+
+ void print (void);
+
+ const char *message_;
+ static size_t instance_count_;
+};
+
+#if defined (ACE_HAS_THREADS)
+
+typedef ACE_Strong_Bound_Ptr<Printer, ACE_Thread_Mutex> Printer_var;
+
+/**
+ * @class Scheduler
+ *
+ * @brief The scheduler for the Active Object.
+ *
+ * This class also plays the role of the Proxy and the Servant
+ * in the Active Object pattern. Naturally, these roles could
+ * be split apart from the Scheduler.
+ */
+class Scheduler : public ACE_Task<ACE_SYNCH>
+{
+
+ friend class Method_Request_print;
+ friend class Method_Request_end;
+public:
+ // = Initialization and termination methods.
+ /// Constructor.
+ Scheduler (Scheduler * = 0);
+
+ /// Initializer.
+ virtual int open (void *args = 0);
+
+ /// Terminator.
+ virtual int close (u_long flags = 0);
+
+ /// Destructor.
+ virtual ~Scheduler (void);
+
+ // = These methods are part of the Active Object Proxy interface.
+ void print (Printer_var &printer);
+ void end (void);
+
+protected:
+ /// Runs the Scheduler's event loop, which dequeues <Method_Requests>
+ /// and dispatches them.
+ virtual int svc (void);
+
+private:
+ // = These are the <Scheduler> implementation details.
+ ACE_Activation_Queue activation_queue_;
+ Scheduler *scheduler_;
+};
+
+#endif /* ACE_HAS_THREADS */
+#endif /* ACE_TESTS_BOUND_PTR_TEST_H */
diff --git a/tests/INET_Addr_Test_IPV6.cpp b/tests/INET_Addr_Test_IPV6.cpp
new file mode 100644
index 00000000000..efc0afad982
--- /dev/null
+++ b/tests/INET_Addr_Test_IPV6.cpp
@@ -0,0 +1,167 @@
+// $Id$
+
+// ============================================================================
+/**
+ * @file INET_Addr_Test_IPV6.cpp
+ *
+ * @brief Additional tests on the ACE_INET_Addr class above and beyond
+ * those found in INET_Addr_Test. These primarily focus on additional
+ * functionality and bug fixes to ACE_INET_Addr.
+ *
+ * @author John Aughey <jha@aughey.com>
+ * Brian Buesker <bbuesker@qualcomm.com>
+ */
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_string.h"
+#include "ace/INET_Addr.h"
+#include "ace/Log_Msg.h"
+#include "ace/OS_NS_arpa_inet.h"
+
+#define LINK_LOCAL_ADDR ACE_TEXT ("fe80::")
+#define INTERFACE ("eth0")
+
+// Make sure that ACE_Addr::addr_type_ is the same
+// as the family of the inet_addr_.
+int check_type_consistency (const ACE_INET_Addr &addr)
+{
+ int family = -1;
+
+ if (addr.get_type () == AF_INET)
+ {
+ struct sockaddr_in *sa4 = (struct sockaddr_in *)addr.get_addr();
+ family = sa4->sin_family;
+ }
+#if defined (ACE_HAS_IPV6)
+ else if (addr.get_type () == AF_INET6)
+ {
+ struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)addr.get_addr();
+ family = sa6->sin6_family;
+ }
+#endif
+
+ if (addr.get_type () != family)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Inconsistency between ACE_SOCK::addr_type_ (%d) ")
+ ACE_TEXT ("and the sockaddr family (%d)\n"),
+ addr.get_type (),
+ family));
+ return 1;
+ }
+ return 0;
+}
+
+
+int run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+
+ ACE_START_TEST (ACE_TEXT ("INET_Addr_Test_IPV6"));
+
+ int status = 0; // Innocent until proven guilty
+
+#if defined (ACE_HAS_IPV6)
+ if (ACE_Sock_Connect::ipv6_enabled ())
+ {
+ ACE_INET_Addr addr ("::");
+
+ // this should switch it back to an IPv4 address
+ addr.set (80);
+
+ if (AF_INET != addr.get_type())
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("set failed: Address type %d != AF_INET\n"),
+ addr.get_type()));
+ status = 1;
+ }
+
+ // this should get mapped to an IPv6 address
+ addr.set (80, INADDR_ANY, 1, 1);
+
+ if (AF_INET6 != addr.get_type())
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("set failed: Address type %d != AF_INET6\n"),
+ addr.get_type()));
+ status = 1;
+ }
+
+ // Test for ACE_INET_Addr::set_addr().
+ struct in_addr addrv4;
+
+ ACE_OS::inet_pton (AF_INET, "127.0.0.1", &addrv4);
+
+ struct sockaddr_in sa4;
+ sa4.sin_family = AF_INET;
+ sa4.sin_addr = addrv4;
+ sa4.sin_port = ACE_HTONS (8080);
+
+ addr.set (0, ACE_UINT32 (1), 1);
+
+ // test to make sure this doesn't get mapped to an IPv6 address
+ addr.set_addr (&sa4, sizeof(sa4), 0);
+
+ if (addr.get_type() != AF_INET)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT
+ ("set_addr failed: Address type %d != AF_INET\n"),
+ addr.get_type()));
+ status = 1;
+ }
+
+ // now test to make sure it does get mapped to an IPv6 address
+ addr.set_addr (&sa4, sizeof(sa4), 1);
+
+ if (addr.get_type() != AF_INET6)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT
+ ("set_addr failed: Address type %d != AF_INET6\n"),
+ addr.get_type()));
+ status = 1;
+ }
+
+ // test to make sure that the type gets set correctly when set is
+ // called with another ACE_INET_Addr
+ addr.set (0, ACE_UINT32 (1), 1);
+
+ ACE_INET_Addr addrIPv6 ((u_short) 0, ACE_IPV6_LOCALHOST);
+
+ addr.set (addrIPv6);
+
+ status |= check_type_consistency (addr);
+
+#if defined (__linux__)
+ // test a link local address to make sure the set_interface method works
+ ACE_INET_Addr link_local_addr (80, LINK_LOCAL_ADDR);
+ if (0 != ACE_OS::strcmp (link_local_addr.get_host_addr (),
+ LINK_LOCAL_ADDR))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("IPv6 get_host_addr failed: %s != %s\n"),
+ link_local_addr.get_host_addr (),
+ LINK_LOCAL_ADDR));
+ status = 1;
+ }
+
+ if (-1 == link_local_addr.set_interface (INTERFACE))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("IPv6 set_interface failed\n")));
+ status = 1;
+ }
+#endif /* __linux__ */
+ }
+
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_END_TEST;
+
+ return status;
+}
diff --git a/tests/INET_Addr_Test_IPV6.dsp b/tests/INET_Addr_Test_IPV6.dsp
new file mode 100644
index 00000000000..87b06845011
--- /dev/null
+++ b/tests/INET_Addr_Test_IPV6.dsp
@@ -0,0 +1,162 @@
+# Microsoft Developer Studio Project File - Name="INET_Addr_Test_IPV6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=INET_Addr_Test_IPV6 - Win32 Static Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "INET_Addr_Test_IPV6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "INET_Addr_Test_IPV6.mak" CFG="INET_Addr_Test_IPV6 - Win32 Static Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "INET_Addr_Test_IPV6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "INET_Addr_Test_IPV6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "INET_Addr_Test_IPV6 - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "INET_Addr_Test_IPV6 - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "INET_Addr_Test_IPV6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "INET_Addr_Test_IPV6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "INET_Addr_Test_IPV6 - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static Debug"
+# PROP BASE Intermediate_Dir "Static Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "INET_Addr_Test_IPV6 - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static Release"
+# PROP BASE Intermediate_Dir "Static Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "INET_Addr_Test_IPV6 - Win32 Release"
+# Name "INET_Addr_Test_IPV6 - Win32 Debug"
+# Name "INET_Addr_Test_IPV6 - Win32 Static Debug"
+# Name "INET_Addr_Test_IPV6 - Win32 Static Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\INET_Addr_Test_IPV6.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/Max_Default_Port_Test_IPV6.cpp b/tests/Max_Default_Port_Test_IPV6.cpp
new file mode 100644
index 00000000000..c34d6bcaa11
--- /dev/null
+++ b/tests/Max_Default_Port_Test_IPV6.cpp
@@ -0,0 +1,256 @@
+// $Id$
+// ============================================================================
+/**
+ * @file Max_Default_Port_Test_IPV6.cpp
+ *
+ * @brief This is a test for ACE_MAX_DEFAULT_PORT value.
+ *
+ * The test tests the highest value of the port number at which an
+ * event handler can be registered and a Connector can be connected
+ * to.
+ *
+ * Some weird behaviour has been reported on Windows NT (sp 3) when
+ * the port number exceeds 65279 resulting ACE_MAX_DEFAULT_PORT to set
+ * to zero on that platform.
+ *
+ * In this test, the event handler is started at the port value
+ * USHRT_MAX and decremented for 300 port values and tested if the
+ * highest port number used agrees with ACE_MAX_DEFAULT_PORT value.
+ *
+ * @author Chanaka Liyanaarachchi <chanaka@ociweb.com>
+ * Brian Buesker <bbuesker@qualcomm.com>
+ */
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Thread_Manager.h"
+
+#include "Max_Default_Port_Test.h"
+#include "test_config.h"
+
+My_Accept_Handler::My_Accept_Handler (ACE_INET_Addr &addr)
+ : addr_ (addr)
+{
+ if (addr.get_port_number() != 0)
+ this->open (addr);
+}
+
+
+My_Accept_Handler::~My_Accept_Handler ()
+{
+ this->peer_acceptor_.close (); // Prevent handle leaks
+}
+
+
+int
+My_Accept_Handler::open (ACE_INET_Addr &addr)
+{
+
+ if (this->peer_acceptor_.open (addr, 1) == -1)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("My_Accept_Handler open")));
+ ACE_OS::exit (1);
+ }
+
+ return 0;
+
+}
+
+ACE_HANDLE
+My_Accept_Handler::get_handle () const
+{
+ return this->peer_acceptor_.get_handle ();
+}
+
+int
+My_Accept_Handler::handle_input (ACE_HANDLE)
+{
+
+ if (this->peer_acceptor_.accept(this->stream_, NULL) == -1) {
+ ACE_ERROR((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("peer_acceptor.accept")));
+ ACE_OS::exit(1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("My_Accept_Handler::handle_input \n")));
+
+ // Close the opened stream, else it'll leak a handle. Don't close
+ // the acceptor here, though, because get_handle() needs it to
+ // correctly allow removal from the reactor later. It gets closed
+ // in the destructor.
+ this->stream_.close ();
+
+ return 0;
+}
+
+u_short
+My_Accept_Handler::port ()
+{
+ return this->addr_.get_port_number();
+}
+
+long max_connected_port = 0;
+
+#if defined (ACE_HAS_IPV6)
+static void *
+client (void *arg)
+{
+ ACE_INET_Addr *remote_addr = ACE_reinterpret_cast (ACE_INET_Addr *,
+ arg);
+
+ ACE_INET_Addr server_addr (remote_addr->get_port_number (),
+ "::1");
+
+ ACE_SOCK_Stream cli_stream;
+
+ ACE_SOCK_Connector con;
+ ACE_Time_Value timeout (ACE_DEFAULT_TIMEOUT);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connecting to port %d\n"),
+ server_addr.get_port_number()));
+
+ // Initiate connection with server; don't wait forever
+ if (con.connect (cli_stream,
+ server_addr,
+ &timeout) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("connection failed")));
+
+ return 0;
+ }
+
+ // if connect succesful, what is the max port number we connected
+ // up to now.
+ int connected_port = server_addr.get_port_number ();
+
+ if (connected_port > max_connected_port)
+ max_connected_port = connected_port;
+
+ cli_stream.close ();
+
+ return 0;
+}
+#endif /*ACE_HAS_IPV6*/
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Max_Default_Port_Test_IPV6"));
+
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+
+#if defined (ACE_HAS_IPV6)
+ u_short max_listened_port = 0;
+
+ //Ports beyond 65279 were said to bad on NT sp 3.
+ for (u_short idx = USHRT_MAX; idx != USHRT_MAX - 300; --idx)
+ {
+ ACE_INET_Addr addr (idx, "::");
+
+ My_Accept_Handler *eh = new My_Accept_Handler (addr);
+
+
+ if ( ACE_Reactor::instance()->register_handler (
+ eh,
+ ACE_Event_Handler::ACCEPT_MASK) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Failed to register event handler")),
+ 1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "Registered event handler at %d\n", idx));
+
+ ACE_Time_Value tv (1);
+
+#if defined (ACE_HAS_THREADS)
+
+ if (ACE_Thread_Manager::instance ()->spawn_n
+ (1,
+ ACE_THR_FUNC (client),
+ ACE_reinterpret_cast (void *, &addr),
+ THR_NEW_LWP | THR_DETACHED) == -1)
+
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("thread create failed")),
+ 1);
+
+ ACE_Thread_Manager::instance ()->wait ();
+
+#else
+ ACE_UNUSED_ARG (client);
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) only one thread may be run in a process on this platform\n%a"),
+ 1));
+#endif //ACE_HAS_THREADS
+
+ if (ACE_Reactor::instance()->handle_events (tv) == -1 )
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Reactor::handle_events")),
+ 1);
+ }
+
+ // see if I can register a reactor at this port.
+ if (eh->port () == idx)
+ {
+ if (idx > max_listened_port)
+ max_listened_port = idx;
+ }
+ else
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Test Fail, listening port %d\n"),
+ eh->port()),
+ 1);
+ }
+
+ ACE_Reactor::instance()->remove_handler (
+ eh,
+ ACE_Event_Handler::ACCEPT_MASK |
+ ACE_Event_Handler::DONT_CALL);
+ delete eh;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Value of ACE_MAX_DEFAULT_PORT %d\n",
+ ACE_MAX_DEFAULT_PORT));
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Highest port value I can listen at %d\n",
+ max_listened_port));
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Highest port value I can connect to %d\n",
+ max_connected_port));
+
+ if ((max_listened_port == ACE_MAX_DEFAULT_PORT) &&
+ (max_connected_port == ACE_MAX_DEFAULT_PORT))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Valid ACE_MAX_DEFAULT_PORT value: %d\n"),
+ max_listened_port));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Invalid ACE_MAX_DEFAULT_PORT ")
+ ACE_TEXT ("or %d port may be busy; got to %d\n"),
+ ACE_MAX_DEFAULT_PORT, max_listened_port));
+
+ }
+
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_END_TEST;
+ return 0;
+}
diff --git a/tests/Max_Default_Port_Test_IPV6.dsp b/tests/Max_Default_Port_Test_IPV6.dsp
new file mode 100644
index 00000000000..8d78797dab1
--- /dev/null
+++ b/tests/Max_Default_Port_Test_IPV6.dsp
@@ -0,0 +1,166 @@
+# Microsoft Developer Studio Project File - Name="Max_Default_Port_Test_IPV6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Max_Default_Port_Test_IPV6 - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Max_Default_Port_Test_IPV6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Max_Default_Port_Test_IPV6.mak" CFG="Max_Default_Port_Test_IPV6 - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Max_Default_Port_Test_IPV6 - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Max_Default_Port_Test_IPV6 - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Max_Default_Port_Test_IPV6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Max_Default_Port_Test_IPV6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Max_Default_Port_Test_IPV6 - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Max_Default_Port_Test_IPV6 - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Max_Default_Port_Test_IPV6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Max_Default_Port_Test_IPV6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Max_Default_Port_Test_IPV6 - Win32 Static Debug"
+# Name "Max_Default_Port_Test_IPV6 - Win32 Static Release"
+# Name "Max_Default_Port_Test_IPV6 - Win32 Release"
+# Name "Max_Default_Port_Test_IPV6 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Max_Default_Port_Test_IPV6.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\Max_Default_Port_Test.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/tests/Multicast_Test_IPV6.cpp b/tests/Multicast_Test_IPV6.cpp
new file mode 100644
index 00000000000..2a73a37c428
--- /dev/null
+++ b/tests/Multicast_Test_IPV6.cpp
@@ -0,0 +1,1011 @@
+// $Id$
+// ============================================================================
+/**
+ * @file Multicast_Test_IPV6.cpp
+ *
+ * @brief This program tests ACE_SOCK_Dgram_Mcast class.
+ *
+ * It specifically tests subscribing to multiple groups on the same
+ * socket on one or more physical interfaces (if available).
+ *
+ * The test can be run as a producer, consumer, or both
+ * producer/consumer (default). The test requires at least two (2)
+ * multicast groups which can be configured as command line options.
+ * The consumer subscribes to a single group per instance and an
+ * additional instance tries to subscribe to all groups on a single
+ * socket (if the ACE_SOCK_Dgram_Mcast instance bind()'s the first
+ * address to the socket, additional joins will fail). The producer
+ * iterates through the list of group addresses and sends a single
+ * message containing the destination address and port to each one. It
+ * also sends messages to five (5) additional groups and a message to
+ * an additional port for each group in order to produce a bit of
+ * "noise" in order to help validate how well the multicast filtering
+ * works on a particular platform.
+ *
+ * The list of destination groups start at ff01::1 (default) and
+ * increment by 1 up to 5 (default) groups. Both of these values, as
+ * well as others, can be overridden via command-line options. Use
+ * the -? option to display the usage message...
+ *
+ * @author Don Hinton <dhinton@dresystems.com>
+ * Brian Buesker <bbuesker@qualcomm.com>
+ */
+// ============================================================================
+
+#include "tests/test_config.h"
+#include "ace/Get_Opt.h"
+#include "ace/Vector_T.h"
+#include "ace/SOCK_Dgram_Mcast.h"
+#include "ace/ACE.h"
+#include "ace/Reactor.h"
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_strings.h"
+#include "ace/Task.h"
+#include "ace/Atomic_Op.h"
+#include "ace/SString.h"
+#include "ace/Signal.h"
+
+#if defined (ACE_HAS_IP_MULTICAST) && defined (ACE_HAS_THREADS)
+
+/*
+ * The 'finished' flag is used to break out of an infninite loop in the
+ * task::svc () method. The 'handler' will set the flag in respose to
+ * SIGINT (CTRL-C).
+ */
+static sig_atomic_t finished = 0;
+extern "C" void handler (int)
+{
+ finished = 1;
+}
+
+static const int MCT_ITERATIONS = 10;
+static const int MCT_GROUPS = 5;
+static const int MCT_MIN_GROUPS = 2;
+
+#if defined (ACE_HAS_IPV6)
+static const char MCT_START_GROUP[] = "ff01::1";
+#else
+// an IPv4 address that will ensure an error message is not printed when
+// IPv6 is not enabled
+static const char MCT_START_GROUP[] = "239.255.0.1";
+#endif /* ACE_HAS_IPV6 */
+static const int MCT_START_PORT = 16000;
+
+static const size_t MAX_STRING_SIZE = 200;
+
+int advance_addr (ACE_INET_Addr &addr);
+
+// Keep track of errors so we can report them on exit.
+static sig_atomic_t error = 0;
+
+/*
+ * MCast_Config holds configuration data for this test.
+ */
+class MCT_Config
+{
+public:
+
+ enum
+ {
+ PRODUCER = 1,
+ CONSUMER = 2,
+ BOTH = PRODUCER | CONSUMER
+ };
+
+ MCT_Config (void)
+ : group_start_ (MCT_START_PORT, MCT_START_GROUP),
+ groups_ (0),
+ debug_ (0),
+ role_ (BOTH),
+ sdm_opts_ (ACE_SOCK_Dgram_Mcast::DEFOPTS),
+ iterations_ (MCT_ITERATIONS),
+ ttl_ (1),
+ wait_ (2)
+ {
+ if (IP_MAX_MEMBERSHIPS == 0)
+ this->groups_ = MCT_GROUPS;
+ else
+ this->groups_ = ACE_MIN (IP_MAX_MEMBERSHIPS, MCT_GROUPS);
+ }
+
+ ~MCT_Config (void)
+ {}
+
+ int open (int argc, ACE_TCHAR *argv[]);
+ int debug (void) const { return this->debug_;}
+ void dump (void) const;
+ int groups (void) const { return this->groups_;}
+ const ACE_INET_Addr group_start (void) const { return this->group_start_;}
+ u_long role (void) const { return this->role_;}
+ int iterations (void) const { return this->iterations_;}
+ int ttl (void) const { return this->ttl_;}
+ int wait (void) const { return this->wait_;}
+ ACE_SOCK_Dgram_Mcast::options options (void) const
+ {
+ return ACE_static_cast (ACE_SOCK_Dgram_Mcast::options, this->sdm_opts_);
+ }
+
+ int set_group (int port, const char *group);
+
+private:
+ // Starting group address.
+ ACE_INET_Addr group_start_;
+
+ // Number of groups we will try to use in the test.
+ int groups_;
+
+ // Debug flag.
+ int debug_;
+
+ // Role, i.e., PRODUCER, CONSUMER, BOTH: defaults to BOTH
+ u_long role_;
+
+ // ACE_SOCK_Dgram_Mcast ctor options
+ u_long sdm_opts_;
+
+ // Producer iterations
+ int iterations_;
+
+ // TTL, time to live, for use over routers.
+ int ttl_;
+
+ // Time to wait on CONSUMER threads to end before killing test.
+ int wait_;
+};
+
+int
+MCT_Config::open (int argc, ACE_TCHAR *argv[])
+{
+ int retval = 0;
+ int help = 0;
+
+ ACE_Get_Opt getopt (argc, argv, ACE_TEXT (":?"), 1, 1);
+
+ if (getopt.long_option (ACE_TEXT ("GroupStart"),
+ 'g',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add GroupStart option.\n")),
+ 1);
+
+ if (getopt.long_option (ACE_TEXT ("Groups"),
+ 'n',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add Groups option.\n")), 1);
+
+ if (getopt.long_option (ACE_TEXT ("Debug"),
+ 'd',
+ ACE_Get_Opt::NO_ARG) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add Debug option.\n")), 1);
+
+ if (getopt.long_option (ACE_TEXT ("Role"),
+ 'r',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add Role option.\n")), 1);
+
+ if (getopt.long_option (ACE_TEXT ("SDM_options"),
+ 'm',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add Multicast_Options option.\n")),
+ 1);
+
+ if (getopt.long_option (ACE_TEXT ("Iterations"),
+ 'i',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add iterations option.\n")),
+ 1);
+
+ if (getopt.long_option (ACE_TEXT ("TTL"),
+ 't',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add TTL option.\n")),
+ 1);
+
+ if (getopt.long_option (ACE_TEXT ("Wait"),
+ 'w',
+ ACE_Get_Opt::ARG_REQUIRED) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add wait option.\n")),
+ 1);
+
+ if (getopt.long_option (ACE_TEXT ("help"),
+ 'h',
+ ACE_Get_Opt::NO_ARG) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT (" Unable to add help option.\n")),
+ 1);
+
+ // Now, let's parse it...
+ int c = 0;
+ while ((c = getopt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 0:
+ // Long Option. This should never happen.
+ retval = -1;
+ break;
+ case 'g':
+ {
+ // @todo validate all these, i.e., must be within range
+ // 224.255.0.0 to 238.255.255.255, but we only allow the
+ // administrative "site local" range, 239.255.0.0 to
+ // 239.255.255.255.
+ ACE_TCHAR *group = getopt.opt_arg ();
+ if (this->group_start_.set (group) != 0)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Bad group address:%s\n"),
+ group));
+ }
+ }
+ break;
+ case 'i':
+ this->iterations_ = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 'n':
+ {
+ int n = ACE_OS::atoi (getopt.opt_arg ());
+ // I'm assuming 0 means unlimited, so just use whatever the
+ // user provides. Seems to work okay on Solaris 5.8.
+ if (IP_MAX_MEMBERSHIPS == 0)
+ this->groups_ = n;
+ else
+ this->groups_ = ACE_MIN (ACE_MAX (n, MCT_MIN_GROUPS),
+ IP_MAX_MEMBERSHIPS);
+ break;
+ }
+ case 'd':
+ this->debug_ = 1;
+ break;
+ case 'r':
+ {
+ ACE_TCHAR *c = getopt.opt_arg ();
+ if (ACE_OS::strcasecmp (c, ACE_TEXT ("CONSUMER")) == 0)
+ this->role_ = CONSUMER;
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("PRODUCER")) == 0)
+ this->role_ = PRODUCER;
+ else
+ {
+ help = 1;
+ retval = -1;
+ }
+ }
+ break;
+ case 'm':
+ {
+ //@todo add back OPT_BINDADDR_NO...
+ ACE_TCHAR *c = getopt.opt_arg ();
+ if (ACE_OS::strcasecmp (c, ACE_TEXT ("OPT_BINDADDR_YES")) == 0)
+ ACE_SET_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_YES);
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("OPT_BINDADDR_NO")) == 0)
+ ACE_CLR_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_YES);
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("DEFOPT_BINDADDR")) == 0)
+ {
+ ACE_CLR_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_YES);
+ ACE_SET_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::DEFOPT_BINDADDR);
+ }
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("OPT_NULLIFACE_ALL")) == 0)
+ ACE_SET_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::OPT_NULLIFACE_ALL);
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("OPT_NULLIFACE_ONE")) == 0)
+ ACE_CLR_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::OPT_NULLIFACE_ALL);
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("DEFOPT_NULLIFACE")) == 0)
+ {
+ ACE_CLR_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::OPT_NULLIFACE_ALL);
+ ACE_SET_BITS (this->sdm_opts_,
+ ACE_SOCK_Dgram_Mcast::DEFOPT_NULLIFACE);
+ }
+ else if (ACE_OS::strcasecmp (c, ACE_TEXT ("DEFOPTS")) == 0)
+ this->sdm_opts_ = ACE_SOCK_Dgram_Mcast::DEFOPTS;
+ else
+ {
+ help = 1;
+ retval = -1;
+ }
+ }
+ break;
+ case 't':
+ this->ttl_ = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 'w':
+ this->wait_ = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case ':':
+ // This means an option requiring an argument didn't have one.
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (" Option '%c' requires an argument but ")
+ ACE_TEXT ("none was supplied\n"),
+ getopt.opt_opt ()));
+ help = 1;
+ retval = -1;
+ break;
+ case '?':
+ case 'h':
+ default:
+ if (ACE_OS::strcmp (argv[getopt.opt_ind () - 1], ACE_TEXT ("-?")) != 0
+ && getopt.opt_opt () != 'h')
+ // Don't allow unknown options.
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT (" Found an unknown option (%c) ")
+ ACE_TEXT ("we couldn't handle.\n"),
+ getopt.opt_opt ()));
+ // getopt.last_option ())); //readd with "%s" when
+ // last_option() is available.
+ help = 1;
+ retval = -1;
+ break;
+ }
+ }
+
+ if (retval == -1)
+ {
+ if (help)
+ // print usage here
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("usage: %s [options]\n")
+ ACE_TEXT ("Options:\n")
+ ACE_TEXT (" -g {STRING} --GroupStart={STRING} ")
+ ACE_TEXT ("starting multicast group address\n")
+ ACE_TEXT (" ")
+ ACE_TEXT ("(default=239.255.0.1:16000)\n")
+ ACE_TEXT (" -n {#} --Groups={#} ")
+ ACE_TEXT ("number of groups (default=5)\n")
+ ACE_TEXT (" -d --Debug ")
+ ACE_TEXT ("debug flag (default=off)\n")
+ ACE_TEXT (" -r {STRING} --Role={STRING} ")
+ ACE_TEXT ("role {PRODUCER|CONSUMER|BOTH}\n")
+ ACE_TEXT (" ")
+ ACE_TEXT ("(default=BOTH)\n")
+ ACE_TEXT (" -m {STRING} --SDM_options={STRING} ")
+ ACE_TEXT ("ACE_SOCK_Dgram_Mcast ctor options\n")
+ ACE_TEXT (" ")
+ ACE_TEXT ("(default=DEFOPTS)\n")
+ ACE_TEXT (" -i {#} --Iterations={#} ")
+ ACE_TEXT ("number of iterations (default=100)\n")
+ ACE_TEXT (" -t {#} --TTL={#} ")
+ ACE_TEXT ("time to live (default=1)\n")
+ ACE_TEXT (" -w {#} --Wait={#} ")
+ ACE_TEXT ("number of seconds to wait on CONSUMER\n")
+ ACE_TEXT (" ")
+ ACE_TEXT ("(default=2)\n")
+ ACE_TEXT (" -h/? --help ")
+ ACE_TEXT ("show this message\n"),
+ argv[0]));
+
+ return -1;
+ }
+
+ return 0;
+}
+
+void
+MCT_Config::dump (void) const
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" Dumping MCT_Config\n")));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\tIP_MAX_MEMBERSHIPS = %d\n"),
+ IP_MAX_MEMBERSHIPS));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\tgroups_ = %d\n"),
+ this->groups_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\trole_ = %s\n"),
+ (ACE_BIT_ENABLED (this->role_, PRODUCER)
+ && ACE_BIT_ENABLED (this->role_, CONSUMER))
+ ? ACE_TEXT ("PRODUCER/CONSUMER")
+ : ACE_BIT_ENABLED (this->role_, PRODUCER)
+ ? ACE_TEXT ("PRODUCER")
+ : ACE_TEXT ("CONSUMER")));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\tsdm_options_ = %d\n"),
+ this->sdm_opts_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\titerations_ = %d\n"),
+ this->iterations_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\tttl_ = %d\n"),
+ this->ttl_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\twait_ = %d\n"),
+ this->wait_));
+ // Note that this call to get_host_addr is the non-reentrant
+ // version, but it's okay for us.
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\tgroups_start_ = %s:%d\n"),
+ this->group_start_.get_host_addr (),
+ this->group_start_.get_port_number ()));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+}
+
+int
+MCT_Config::set_group (int port, const char *group)
+{
+ return group_start_.set (port, group);
+}
+
+/******************************************************************************/
+
+class MCT_Event_Handler : public ACE_Event_Handler
+{
+public:
+ MCT_Event_Handler (ACE_SOCK_Dgram_Mcast::options options
+ = ACE_SOCK_Dgram_Mcast::DEFOPTS);
+ virtual ~MCT_Event_Handler (void);
+
+ int join (const ACE_INET_Addr &mcast_addr,
+ int reuse_addr = 1,
+ const ACE_TCHAR *net_if = 0);
+ int leave (const ACE_INET_Addr &mcast_addr,
+ const ACE_TCHAR *net_if = 0);
+
+ // = Event Handler hooks.
+ virtual int handle_input (ACE_HANDLE handle);
+ virtual int handle_close (ACE_HANDLE fd, ACE_Reactor_Mask close_mask);
+
+ virtual ACE_HANDLE get_handle (void) const;
+
+protected:
+ ACE_SOCK_Dgram_Mcast *mcast (void);
+ int find (const char *buf);
+
+private:
+ ACE_SOCK_Dgram_Mcast mcast_;
+
+ // List of groups we've joined
+ ACE_Vector<ACE_CString*> address_vec_;
+
+ // Flag used to set the 'finished' flag when the last event handler
+ // gets removed from the reactor.
+ static ACE_Atomic_Op<ACE_SYNCH_MUTEX, long> active_handlers_;
+};
+
+ACE_Atomic_Op<ACE_SYNCH_MUTEX, long> MCT_Event_Handler::active_handlers_ = 0;
+
+MCT_Event_Handler::MCT_Event_Handler (ACE_SOCK_Dgram_Mcast::options options)
+ : mcast_ (options)
+{
+ // Increment the number of active handlers in the reactor. Note this isn't
+ // really correct, but it should work for our simple example.
+ ++MCT_Event_Handler::active_handlers_;
+}
+
+MCT_Event_Handler::~MCT_Event_Handler (void)
+{
+ size_t size = this->address_vec_.size ();
+ for (size_t i = 0; i < size; ++i)
+ {
+ delete this->address_vec_[i];
+ this->address_vec_[i] = 0;
+ }
+}
+
+
+ACE_SOCK_Dgram_Mcast *
+MCT_Event_Handler::mcast (void)
+{
+ return &this->mcast_;
+}
+
+int
+MCT_Event_Handler::find (const char *buf)
+{
+ size_t size = this->address_vec_.size ();
+ size_t i;
+ for (i = 0; i < size; ++i)
+ {
+ if (ACE_OS::strcasecmp (buf, this->address_vec_[i]->c_str ()) == 0)
+ return 0;
+ }
+
+ // Not found, so output message we received along with a list of groups
+ // we've joined for debugging.
+ ACE_CString local;
+ for (i = 0; i < size; ++i)
+ {
+ local += "\t";
+ local += this->address_vec_[i]->c_str ();
+ local += "\n";
+ }
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%s not in:\n%s"),
+ buf, local.c_str ()));
+
+ return -1;
+}
+
+
+int
+MCT_Event_Handler::join (const ACE_INET_Addr &mcast_addr,
+ int reuse_addr,
+ const ACE_TCHAR *net_if)
+{
+ if (this->mcast_.join (mcast_addr, reuse_addr, net_if) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("MCT_Event_Handler::join - %p\n"),
+ ACE_TEXT ("Could not join group")),
+ -1);
+
+ char buf[MAX_STRING_SIZE];
+ ACE_OS::sprintf (buf, "%s/%d",
+ mcast_addr.get_host_addr (),
+ mcast_addr.get_port_number ());
+ ACE_CString *str;
+ ACE_NEW_RETURN (str, ACE_CString (ACE::strnew (buf)), -1);
+ this->address_vec_.push_back (str);
+ return 0;
+}
+
+int
+MCT_Event_Handler::leave (const ACE_INET_Addr &mcast_addr,
+ const ACE_TCHAR *net_if)
+{
+ if (this->mcast_.leave (mcast_addr, net_if) == 0)
+ {
+ char buf[MAX_STRING_SIZE];
+ size_t size = 0;
+ for (size_t i = 0; i < size; ++i)
+ {
+ ACE_OS::sprintf (buf, "%s/%d",
+ mcast_addr.get_host_addr (),
+ mcast_addr.get_port_number ());
+ if (ACE_OS::strcasecmp (buf, this->address_vec_[i]->c_str ()) == 0)
+ {
+ this->address_vec_[i]->set ("");
+ break;
+ }
+ }
+ return 0;
+ }
+ return -1;
+}
+
+int
+MCT_Event_Handler::handle_input (ACE_HANDLE /*handle*/)
+{
+ char buf[MAX_STRING_SIZE];
+ ACE_OS::memset (buf, 0, sizeof buf);
+ ACE_INET_Addr addr;
+
+ if (this->mcast ()->recv (buf, sizeof buf, addr) == -1)
+ {
+ ++error;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("MCT_Event_Handler::handle_input - ")
+ ACE_TEXT ("calling recv\n")), -1);
+ }
+
+ // Zero length buffer means we are done.
+ if (ACE_OS::strlen (buf) == 0)
+ return -1;
+ else if (this->find (buf) == -1)
+ {
+ ++error;
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("MCT_Event_Handler::handle_input - ")
+ ACE_TEXT ("Received dgram for a group we didn't join ")
+ ACE_TEXT ("(%s) \n"),
+ buf));
+ }
+ return 0;
+}
+
+int
+MCT_Event_Handler::handle_close (ACE_HANDLE /*fd*/,
+ ACE_Reactor_Mask /*close_mask*/)
+{
+ // If this is the last handler, use the finished flag to signal
+ // the task to exit.
+ if (--MCT_Event_Handler::active_handlers_ == 0)
+ finished = 1;
+
+ // The DONT_CALL flag keeps the reactor from calling handle_close ()
+ // again, since we commit suicide below.
+ this->reactor ()->remove_handler (this,
+ ACE_Event_Handler::ALL_EVENTS_MASK |
+ ACE_Event_Handler::DONT_CALL);
+ this->reactor (0);
+ delete this;
+ return 0;
+}
+
+ACE_HANDLE
+MCT_Event_Handler::get_handle (void) const
+{
+ return this->mcast_.get_handle ();
+}
+
+/******************************************************************************/
+
+/*
+ * Our MCT_Task object will be an Active Object if we are running the Consumer
+ * side of the test. open() calls active() which creates a thread and calls
+ * the svc() method that calls runs the reactor event loop.
+ */
+class MCT_Task : public ACE_Task<ACE_NULL_SYNCH>
+{
+public:
+ MCT_Task (const MCT_Config &config,
+ ACE_Reactor *reactor = ACE_Reactor::instance ());
+ ~MCT_Task (void);
+
+ // = Task hooks.
+ virtual int open (void *args = 0);
+ virtual int svc (void);
+
+private:
+ const MCT_Config &config_;
+ int iterations_;
+};
+
+MCT_Task::MCT_Task (const MCT_Config &config,
+ ACE_Reactor *reactor)
+ : config_ (config)
+{
+ this->reactor (reactor);
+}
+
+MCT_Task::~MCT_Task (void)
+{}
+
+int
+MCT_Task::open (void *)
+{
+ MCT_Event_Handler *handler;
+
+ ACE_INET_Addr addr = this->config_.group_start ();
+ int groups = this->config_.groups ();
+ for (int i = 0; i < groups; ++i)
+ {
+ ACE_NEW_RETURN (handler,
+ MCT_Event_Handler (this->config_.options ()), -1);
+ // We subscribe to all groups for the first one and one each for
+ // all the others.
+ if (i == 0)
+ {
+ // go ahead and hide the other one since we want our own.
+ ACE_INET_Addr addr = this->config_.group_start ();
+ for (int j = 0; j < groups; ++j)
+ {
+ // If OPT_BINDADDR_YES is set, this will fail after the first
+ // join, so just break and keep on going, otherwise it's a
+ // real error.
+ if (j > 0
+ && ACE_BIT_ENABLED (ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_YES,
+ this->config_.options ()))
+ break;
+
+ if (handler->join (addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("MCT_Task::open - join error\n")),
+ -1);
+ advance_addr (addr);
+ }
+ }
+ else
+ {
+ if (handler->join (addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("MCT_Task::open - join error\n")),
+ -1);
+ }
+
+ advance_addr (addr);
+
+ if (this->reactor ()->register_handler (handler, READ_MASK) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("MCT_Task::open - cannot register ")
+ ACE_TEXT ("handler\n")),
+ -1);
+ }
+
+ if (this->activate (THR_NEW_LWP) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("MCT_TASK:open - activate failed")),
+ -1);
+ return 0;
+}
+
+int
+MCT_Task::svc (void)
+{
+ // make sure this thread owns the reactor or handle_events () won't do
+ // anything.
+ this->reactor ()->owner (ACE_Thread::self ());
+
+ // loop and call handle_events...
+ while (!finished)
+ this->reactor ()->handle_events ();
+
+ return 0;
+}
+
+/******************************************************************************/
+
+int send_dgram (ACE_SOCK_Dgram &socket, ACE_INET_Addr addr, int done = 0)
+{
+
+ // Send each message twice, once to the right port, and once to the "wrong"
+ // port. This helps generate noise and lets us see if port filtering is
+ // working properly.
+ const char *address = addr.get_host_addr ();
+ int port = addr.get_port_number ();
+
+ for (int i = 0; i < 2; ++i)
+ {
+ char buf[MAX_STRING_SIZE];
+ if (done)
+ buf[0] = 0;
+ else
+ ACE_OS::sprintf (buf, "%s/%d", address, port);
+ //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("sending (%s)\n"), buf));
+ if (socket.send (buf, ACE_OS::strlen (buf),addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
+ ACE_TEXT ("send_dgram - error calling send on ")
+ ACE_TEXT ("ACE_SOCK_Dgram.")), -1);
+ addr.set_port_number (++port);
+ }
+ return 0;
+}
+
+int producer (MCT_Config &config)
+{
+ int retval = 0;
+
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Starting producer...\n")));
+ ACE_SOCK_Dgram socket (ACE_sap_any_cast (ACE_INET_Addr &));
+
+ // set the TTL or hop count based on the config.ttl () value
+ if (config.ttl () > 1 && config.group_start().get_type() == AF_INET)
+ {
+ int ttl = config.ttl ();
+ if (socket.set_option (IPPROTO_IP,
+ IP_MULTICAST_TTL,
+ (void*) &ttl,
+ sizeof ttl) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("could net set socket option IP_MULTICAST_TTL ")
+ ACE_TEXT ("= %d\n"),
+ ttl));
+ else
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("set IP_MULTICAST_TTL = %d\n"), ttl));
+ }
+#if defined (__linux__) && defined (ACE_HAS_IPV6)
+ else
+ {
+ // for IPv6, a hop limit is used instead of TTL
+ int hops = config.ttl ();
+ if (socket.set_option (IPPROTO_IPV6,
+ IPV6_MULTICAST_HOPS,
+ (void*) &hops,
+ sizeof hops) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("could net set socket option IPV6_MULTICAST_HOPS")
+ ACE_TEXT (" = %d\n"),
+ hops));
+ else
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("set IPV6_MULTICAST_HOPS = %d\n"),
+ hops));
+ }
+#endif /* __linux__ && ACE_HAS_IPV6 */
+
+
+ int iterations = config.iterations ();
+ // we add an extra 5 groups for noise.
+ int groups = config.groups () + 5;
+ for (int i = 0; (i < iterations || iterations == 0) && !finished; ++i)
+ {
+ ACE_INET_Addr addr = config.group_start ();
+ for (int j = 0; j < groups && !finished; ++j)
+ {
+ if ((retval += send_dgram (socket, addr,
+ ((i + 1) == iterations))) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Calling send_dgram.\n")));
+ if ((retval += advance_addr (addr)) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Calling advance_addr.\n")));
+ }
+ // Give the task thread a chance to run.
+ ACE_Thread::yield ();
+ }
+ return retval;
+}
+
+/*
+ * Advance the address by 1, e.g., 239.255.0.1 => 239.255.0.2
+ * Note that the algorithm is somewhat simplistic, but sufficient for our
+ * purpose.
+ */
+int advance_addr (ACE_INET_Addr &addr)
+{
+ int a, b, c, d;
+ if (addr.get_type () == AF_INET)
+ {
+ ::sscanf (addr.get_host_addr (), "%d.%d.%d.%d", &a, &b, &c, &d);
+ if (d < 255)
+ ++d;
+ else if (c < 255)
+ {
+ d = 1;
+ ++c;
+ }
+ else if (b < 255)
+ {
+ d = 1;
+ c = 0;
+ ++b;
+ }
+ else if (a < 239)
+ {
+ d = 1;
+ c = 0;
+ b = 0;
+ ++a;
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("advance_addr - Cannot advance multicast ")
+ ACE_TEXT ("group address past %s\n"),
+ addr.get_host_addr ()),
+ -1);
+
+ ACE_TCHAR buf[MAX_STRING_SIZE];
+ ACE_OS::sprintf (buf, ACE_TEXT ("%d.%d.%d.%d:%d"),
+ a, b, c, d, addr.get_port_number ());
+ addr.set (buf);
+ return 0;
+ }
+#if defined (__linux__) && defined (ACE_HAS_IPV6)
+ else // assume AF_INET6
+ {
+ sockaddr_in6 *saddr = ACE_reinterpret_cast (sockaddr_in6 *,
+ addr.get_addr ());
+ unsigned char *sin6_addr = ACE_reinterpret_cast (unsigned char *,
+ &saddr->sin6_addr);
+ int i = 15;
+
+ // i >= 2 is used here so that the flags and scope for the
+ // multicast address are not changed
+ while (i >= 2 && sin6_addr[i] == 0xff)
+ {
+ sin6_addr[i] = 0;
+ i--;
+ }
+
+ if (i >= 2)
+ {
+ sin6_addr[i]++;
+ }
+ else
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("advance_addr - Cannot advance ")
+ ACE_TEXT ("multicast group address past %s\n"),
+ addr.get_host_addr ()),
+ -1);
+
+ }
+
+ return 0;
+ }
+#endif /* __linux__ && ACE_HAS_IPV6 */
+
+ return 0;
+}
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ int retval = 0;
+ MCT_Config config;
+ retval = config.open (argc, argv);
+ if (retval != 0)
+ return 1;
+
+ const ACE_TCHAR *temp = ACE_TEXT ("Multicast_Test_IPv6");
+ ACE_TString test = temp;
+
+ u_long role = config.role ();
+ if (ACE_BIT_DISABLED (role, MCT_Config::PRODUCER)
+ || ACE_BIT_DISABLED (role, MCT_Config::CONSUMER))
+ {
+ if (ACE_BIT_ENABLED (role, MCT_Config::PRODUCER))
+ test += ACE_TEXT ("-PRODUCER");
+ else
+ test += ACE_TEXT ("-CONSUMER");
+ }
+
+ // Start test only if options are valid.
+ ACE_START_TEST (test.c_str ());
+
+#if defined (__linux__) && defined (ACE_HAS_IPV6)
+ // Register a signal handler to close down application gracefully.
+ ACE_Sig_Action sa ((ACE_SignalHandler) handler, SIGINT);
+
+ // Dump the configuration info to the log if caller passed debug option.
+ if (config.debug ())
+ config.dump ();
+
+ ACE_Reactor *reactor = ACE_Reactor::instance ();
+
+ MCT_Task *task = new MCT_Task (config, reactor);
+
+ if (ACE_BIT_ENABLED (role, MCT_Config::CONSUMER))
+ {
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Starting consumer...\n")));
+ // Open makes it an active object.
+ retval += task->open ();
+ }
+
+ // now produce the datagrams...
+ if (ACE_BIT_ENABLED (role, MCT_Config::PRODUCER))
+ retval += producer (config);
+
+ if (ACE_BIT_ENABLED (role, MCT_Config::CONSUMER))
+ {
+ // and wait for everything to finish
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("start waiting for consumer to finish...\n")));
+ // Wait for the threads to exit.
+ // But, wait for a limited time since we could hang if the last udp
+ // message isn't received.
+ ACE_Time_Value max_wait ( config.wait ()/* seconds */);
+ ACE_Time_Value wait_time (ACE_OS::gettimeofday () + max_wait);
+ ACE_Time_Value *ptime = ACE_BIT_ENABLED (role, MCT_Config::PRODUCER)
+ ? &wait_time : 0;
+ if (ACE_Thread_Manager::instance ()->wait (ptime) == -1)
+ {
+ if (errno == ETIME)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("maximum wait time of %d msec exceeded\n"),
+ max_wait.msec ()));
+ else
+ ACE_OS::perror (ACE_TEXT ("wait"));
+
+ ++error;
+ }
+ }
+
+ delete task;
+#endif /* __linux__ && ACE_HAS_IPV6 */
+ ACE_END_TEST;
+ return (retval == 0 && error == 0) ? 0 : 1;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Vector<ACE_CString *>;
+template class ACE_Array_Base<ACE_String_Base<char> *>;
+template class ACE_Array<ACE_String_Base<char> *>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Vector<ACE_CString *>
+#pragma instantiate ACE_Array_Base<ACE_String_Base<char> *>
+#pragma instantiate ACE_Array<ACE_String_Base<char> *>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+#else
+int
+run_main (int, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Multicast_Test_IPV6"));
+
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("%s must be run on a platform ")
+ ACE_TEXT ("that support IP multicast.\n"),
+ argv[0]));
+ ACE_END_TEST;
+ return 1;
+}
+#endif /* ACE_HAS_IP_MULTICAST && ACE_HAS_THREADS */
diff --git a/tests/Multicast_Test_IPV6.dsp b/tests/Multicast_Test_IPV6.dsp
new file mode 100644
index 00000000000..c50ed7a4786
--- /dev/null
+++ b/tests/Multicast_Test_IPV6.dsp
@@ -0,0 +1,166 @@
+# Microsoft Developer Studio Project File - Name="Multicast_Test_IPV6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Multicast_Test_IPV6 - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Multicast_Test_IPV6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Multicast_Test_IPV6.mak" CFG="Multicast_Test_IPV6 - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Multicast_Test_IPV6 - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Multicast_Test_IPV6 - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Multicast_Test_IPV6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Multicast_Test_IPV6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Multicast_Test_IPV6 - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Multicast_Test_IPV6 - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Multicast_Test_IPV6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Multicast_Test_IPV6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Multicast_Test_IPV6 - Win32 Static Debug"
+# Name "Multicast_Test_IPV6 - Win32 Static Release"
+# Name "Multicast_Test_IPV6 - Win32 Release"
+# Name "Multicast_Test_IPV6 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Multicast_Test_IPV6.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/Multihomed_INET_Addr_Test_IPV6.cpp b/tests/Multihomed_INET_Addr_Test_IPV6.cpp
new file mode 100644
index 00000000000..b4fb5882a6b
--- /dev/null
+++ b/tests/Multihomed_INET_Addr_Test_IPV6.cpp
@@ -0,0 +1,191 @@
+// $Id$
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Multihomed_INET_Addr_Test.cpp
+//
+// = DESCRIPTION
+// Performs several tests on the Multihomed_ACE_INET_Addr class.
+// It creates several IPv6 addresses and checks that the
+// address formed by the class is valid.
+//
+// = AUTHOR
+// Edward Mulholland (emulholl@atl.lmco.com)
+// Brian Buesker (bbuesker@qualcomm.com) - Added testing of
+// ACE_Multihomed_INET_Addr class
+// using IPv6 addresses based on
+// Multihomed_INET_Addr_Test.
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_string.h"
+#include "ace/Multihomed_INET_Addr.h"
+#include "ace/Log_Msg.h"
+#include "ace/OS_NS_arpa_inet.h"
+
+int run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+
+ ACE_START_TEST (ACE_TEXT ("Multihomed_INET_Addr_Test_IPV6"));
+
+ int status = 0; // Innocent until proven guilty
+
+#if defined (ACE_HAS_IPV6)
+ // loop variables
+ size_t i, j;
+ sockaddr_in6 *pointer6;
+
+ const char *primary_ipv6 = "3ffe::123:4567:89ab:cdef";
+
+ const char *secondary_ipv6[] = {
+ ACE_IPV6_LOCALHOST,
+ "fe80::0123:4567:89ab:cdef",
+ "fec0::0123:4567:89ab:cdef",
+ "3ffe::1:0123:4567:89ab:cdef",
+ "2002:3e02:5473::"
+ };
+
+ // The port will always be this
+ u_short port = 80;
+
+ // ... and as you can see, there are 5 of them
+ const size_t num_secondaries = 5;
+
+ // Test subject
+ ACE_Multihomed_INET_Addr addr;
+
+ // Array of INET_Addrs that will repeatedly be passed into the
+ // get_secondary_addresses accessor of Multihomed_INET_Addr
+ ACE_INET_Addr in_out[5];
+
+ // Array of INET_Addrs against which the above array will be tested.
+ ACE_INET_Addr stay_out[5];
+
+ // Array of sockaddrs that will repeatedly be passed into the
+ // get_addresses accessor of Multihomed_INET_Addr
+ const size_t num_sockaddrs = 6;
+ sockaddr_in6 in_out_sockaddr6[num_sockaddrs];
+
+ for (i = 0; i <= num_secondaries; ++i) {
+
+
+ /**** Test set (u_short, const char[], int, int, const char *([]), size_t) ****/
+
+
+ addr.set(port,
+ primary_ipv6,
+ 1,
+ AF_INET6,
+ secondary_ipv6,
+ i);
+
+ // Check the port number
+ if (addr.get_port_number() != port) {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Failed second get_port_number check\n")
+ ACE_TEXT ("%d != %d\n"),
+ addr.get_port_number(),
+ port));
+ status = 1;
+ }
+
+ // Check the primary address
+ if (0 != ACE_OS::strcmp (addr.get_host_addr(), primary_ipv6))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%s failed get_host_addr() check\n")
+ ACE_TEXT ("%s != %s\n"),
+ primary_ipv6,
+ addr.get_host_addr (),
+ primary_ipv6));
+ status = 1;
+ }
+
+ // Check that the test subject reports the correct number of
+ // secondary addresses.
+ size_t returned_num_secondaries = addr.get_num_secondary_addresses();
+ if (returned_num_secondaries == i) {
+
+ // Initialize the stay_out array with the secondary addresses
+ for (j = 0; j < i; ++j) {
+ stay_out[j].set(port, secondary_ipv6[j]);
+ }
+
+ // Pass the in_out array to the accessor
+ addr.get_secondary_addresses(in_out, i);
+
+ // Check that the in_out array matches stay_out array
+ for (j = 0; j < i; ++j) {
+
+ if (in_out[j] != stay_out[j]) {
+
+ ACE_TCHAR in_out_string[100];
+ ACE_TCHAR stay_out_string[100];
+
+ in_out[j].addr_to_string(in_out_string, 100);
+ stay_out[j].addr_to_string(stay_out_string, 100);
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Failed get_secondary_addresses check\n")
+ ACE_TEXT ("%s != %s\n"),
+ in_out_string,
+ stay_out_string));
+
+ status = 1;
+ }
+ }
+
+ // Pass the in_out_sockaddr array to the accessor
+ addr.get_addresses(in_out_sockaddr6, i + 1);
+
+ // Check that the primary address in the in_out_sockaddr array
+ // matches the primary address reported by the superclass
+ if (ACE_OS::memcmp(in_out_sockaddr6, addr.get_addr(),
+ sizeof(sockaddr_in6))) {
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Failed second get_addresses check ")
+ ACE_TEXT ("(for primary address)\n")));
+
+ status = 1;
+
+ }
+
+ // Check that the secondary addresses in the in_out_sockaddr
+ // array match the stay_out array
+ for (j = 1, pointer6 = &in_out_sockaddr6[1];
+ j < i + 1;
+ ++j, ++pointer6) {
+
+ if (ACE_OS::memcmp(pointer6, stay_out[j-1].get_addr(),
+ sizeof(sockaddr_in6))) {
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Failed get_addresses check ")
+ ACE_TEXT ("(for secondary addresses)\n")));
+
+ status = 1;
+ }
+ }
+ } else {
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Failed get_num_secondary_addresses check\n")
+ ACE_TEXT ("%d != %d\n"),
+ returned_num_secondaries,
+ i));
+ status = 1;
+ }
+ }
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_END_TEST;
+ return status;
+
+}
diff --git a/tests/Multihomed_INET_Addr_Test_IPV6.dsp b/tests/Multihomed_INET_Addr_Test_IPV6.dsp
new file mode 100644
index 00000000000..7b87a0880ee
--- /dev/null
+++ b/tests/Multihomed_INET_Addr_Test_IPV6.dsp
@@ -0,0 +1,162 @@
+# Microsoft Developer Studio Project File - Name="Multihomed_INET_Addr_Test_IPV6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Multihomed_INET_Addr_Test_IPV6 - Win32 Static Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Multihomed_INET_Addr_Test_IPV6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Multihomed_INET_Addr_Test_IPV6.mak" CFG="Multihomed_INET_Addr_Test_IPV6 - Win32 Static Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Multihomed_INET_Addr_Test_IPV6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Multihomed_INET_Addr_Test_IPV6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Multihomed_INET_Addr_Test_IPV6 - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Multihomed_INET_Addr_Test_IPV6 - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Multihomed_INET_Addr_Test_IPV6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Multihomed_INET_Addr_Test_IPV6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Multihomed_INET_Addr_Test_IPV6 - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static Debug"
+# PROP BASE Intermediate_Dir "Static Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Multihomed_INET_Addr_Test_IPV6 - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static Release"
+# PROP BASE Intermediate_Dir "Static Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Multihomed_INET_Addr_Test_IPV6 - Win32 Release"
+# Name "Multihomed_INET_Addr_Test_IPV6 - Win32 Debug"
+# Name "Multihomed_INET_Addr_Test_IPV6 - Win32 Static Debug"
+# Name "Multihomed_INET_Addr_Test_IPV6 - Win32 Static Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Multihomed_INET_Addr_Test_IPV6.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/NonBlocking_Conn_Test.h b/tests/NonBlocking_Conn_Test.h
new file mode 100644
index 00000000000..77746238226
--- /dev/null
+++ b/tests/NonBlocking_Conn_Test.h
@@ -0,0 +1,54 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// NonBlocking_Conn_Test.cpp
+//
+// = DESCRIPTION
+// This test checks for the proper working of the following:
+// - blocking connections
+// - blocking connections with timeouts
+// - non-blocking connections
+// - non-blocking connections without waiting for completions
+// - non-blocking connections with timeouts
+//
+// = AUTHOR
+// Irfan Pyarali <irfan@oomworks.com>
+//
+// ============================================================================
+
+#ifndef NONBLOCKING_CONN_TEST_H
+#define NONBLOCKING_CONN_TEST_H
+
+#include "ace/Svc_Handler.h"
+#include "ace/SOCK_Stream.h"
+
+class Svc_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+
+ enum Connection_Status
+ {
+ SUCCEEDED,
+ FAILED
+ };
+
+ Svc_Handler (void);
+
+ void connection_status (Connection_Status &status,
+ int &completion_counter);
+
+ int open (void *);
+
+ int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask mask);
+
+ Connection_Status *status_;
+ int *completion_counter_;
+};
+
+#endif /* NONBLOCKING_CONN_TEST_H */
diff --git a/tests/Proactor_Test_IPV6.cpp b/tests/Proactor_Test_IPV6.cpp
new file mode 100644
index 00000000000..fca56bebb47
--- /dev/null
+++ b/tests/Proactor_Test_IPV6.cpp
@@ -0,0 +1,2113 @@
+// $Id$
+// ============================================================================
+/**
+ * @file Proactor_Test_IPV6.cpp
+ *
+ * This program illustrates how the ACE_Proactor can be used to
+ * implement an application that does various asynchronous
+ * operations.
+ *
+ * @author Alexander Libman <alibman@baltimore.com>
+ * @author Brian Buesker <bbuesker@qualcomm.com> - modified for IPv6 operation
+ */
+// ============================================================================
+
+#include "test_config.h"
+
+#if defined (ACE_HAS_THREADS) && ((defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || (defined (ACE_HAS_AIO_CALLS)))
+ // This only works on Win32 platforms and on Unix platforms
+ // supporting POSIX aio calls.
+
+#include "ace/Signal.h"
+
+#include "ace/Service_Config.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/Object_Manager.h"
+#include "ace/Get_Opt.h"
+//#include "ace/streams.h"
+
+#include "ace/Proactor.h"
+#include "ace/Asynch_Acceptor.h"
+#include "ace/Asynch_Connector.h"
+#include "ace/Task.h"
+#include "ace/Thread_Semaphore.h"
+#include "ace/OS_NS_signal.h"
+#include "ace/OS_NS_errno.h"
+#include "ace/os_include/netinet/os_tcp.h"
+
+#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
+
+# include "ace/WIN32_Proactor.h"
+
+#elif defined (ACE_HAS_AIO_CALLS)
+
+# include "ace/POSIX_Proactor.h"
+# include "ace/POSIX_CB_Proactor.h"
+# include "ace/SUN_Proactor.h"
+
+#endif /* defined (ACE_WIN32) && !defined (ACE_HAS_WINCE) */
+
+// Proactor Type (UNIX only, Win32 ignored)
+typedef enum { DEFAULT = 0, AIOCB, SIG, SUN, CB } ProactorType;
+static ProactorType proactor_type = DEFAULT;
+
+// POSIX : > 0 max number aio operations proactor,
+static size_t max_aio_operations = 0;
+
+// both: 0 run client or server / depends on host
+// != 0 run client and server
+static int both = 0;
+
+// Host that we're connecting to.
+static const ACE_TCHAR *host = 0;
+
+// number of Senders instances
+static int senders = 1;
+const int MAX_SENDERS = 1000;
+const int MAX_RECEIVERS = 1000;
+
+// duplex mode: == 0 half-duplex
+// != 0 full duplex
+static int duplex = 0;
+
+// number threads in the Proactor thread pool
+static int threads = 1;
+
+// Port that we're receiving connections on.
+static u_short port = ACE_DEFAULT_SERVER_PORT;
+
+// Log options
+static int loglevel; // 0 full , 1 only errors
+
+static size_t xfer_limit; // Number of bytes for Sender to send.
+
+static ACE_TCHAR complete_message[] =
+ ACE_TEXT ("GET / HTTP/1.1\r\n")
+ ACE_TEXT ("Accept: */*\r\n")
+ ACE_TEXT ("Accept-Language: C++\r\n")
+ ACE_TEXT ("Accept-Encoding: gzip, deflate\r\n")
+ ACE_TEXT ("User-Agent: Proactor_Test_IPv6/1.0 (non-compatible)\r\n")
+ ACE_TEXT ("Connection: Keep-Alive\r\n")
+ ACE_TEXT ("\r\n");
+
+class LogLocker
+{
+public:
+
+ LogLocker () { ACE_LOG_MSG->acquire (); }
+ virtual ~LogLocker () { ACE_LOG_MSG->release (); }
+};
+
+
+
+// Function to remove signals from the signal mask.
+static int
+disable_signal (int sigmin, int sigmax)
+{
+#ifndef ACE_WIN32
+
+ sigset_t signal_set;
+ if (sigemptyset (&signal_set) == - 1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("sigemptyset failed")));
+
+ for (int i = sigmin; i <= sigmax; i++)
+ sigaddset (&signal_set, i);
+
+ // Put the <signal_set>.
+ if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("pthread_sigmask failed")));
+#else
+ ACE_UNUSED_ARG (sigmin);
+ ACE_UNUSED_ARG (sigmax);
+#endif /* ACE_WIN32 */
+
+ return 1;
+}
+
+
+// *************************************************************
+// MyTask is ACE_Task resposible for :
+// 1. creation and deletion of
+// Proactor and Proactor thread pool
+// 2. running Proactor event loop
+// *************************************************************
+
+/**
+ * @class MyTask
+ *
+ * MyTask plays role for Proactor threads pool
+ *
+ * MyTask is ACE_Task resposible for:
+ * 1. Creation and deletion of Proactor and Proactor thread pool
+ * 2. Running Proactor event loop
+ */
+class MyTask : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ MyTask (void): lock_ (), sem_ (0), proactor_(0) {}
+
+ virtual ~MyTask()
+ {
+ (void) this->stop ();
+ (void) this->delete_proactor();
+ }
+
+ virtual int svc (void);
+
+ int start (int num_threads,
+ ProactorType type_proactor,
+ size_t max_op );
+ int stop (void);
+
+private:
+ int create_proactor (ProactorType type_proactor,
+ size_t max_op);
+ int delete_proactor (void);
+
+ ACE_SYNCH_RECURSIVE_MUTEX lock_;
+ ACE_Thread_Semaphore sem_;
+ ACE_Proactor * proactor_;
+
+};
+
+int
+MyTask::create_proactor (ProactorType type_proactor, size_t max_op)
+{
+ ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX,
+ monitor,
+ this->lock_,
+ -1);
+
+ ACE_ASSERT (this->proactor_ == 0);
+
+#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
+
+ ACE_UNUSED_ARG (type_proactor);
+ ACE_UNUSED_ARG (max_op);
+
+ ACE_WIN32_Proactor *proactor_impl = 0;
+
+ ACE_NEW_RETURN (proactor_impl,
+ ACE_WIN32_Proactor,
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("(%t) Create Proactor Type = WIN32\n")));
+
+#elif defined (ACE_HAS_AIO_CALLS)
+
+ ACE_POSIX_Proactor * proactor_impl = 0;
+
+ switch (type_proactor)
+ {
+ case AIOCB:
+ ACE_NEW_RETURN (proactor_impl,
+ ACE_POSIX_AIOCB_Proactor (max_op),
+ -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Create Proactor Type = AIOCB\n")));
+ break;
+
+#if defined(ACE_HAS_POSIX_REALTIME_SIGNALS)
+ case SIG:
+ ACE_NEW_RETURN (proactor_impl,
+ ACE_POSIX_SIG_Proactor (max_op),
+ -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Create Proactor Type = SIG\n")));
+ break;
+#endif /* ACE_HAS_POSIX_REALTIME_SIGNALS */
+
+# if defined (sun)
+ case SUN:
+ ACE_NEW_RETURN (proactor_impl,
+ ACE_SUN_Proactor (max_op),
+ -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("(%t) Create Proactor Type = SUN\n")));
+ break;
+# endif /* sun */
+
+# if defined (__sgi)
+ case CB:
+ ACE_NEW_RETURN (proactor_impl,
+ ACE_POSIX_CB_Proactor (max_op),
+ -1);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Create Proactor Type = CB\n")));
+ break;
+# endif
+
+ default:
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Create Proactor Type = DEFAULT\n")));
+ break;
+ }
+
+#endif // (ACE_WIN32) && !defined (ACE_HAS_WINCE)
+
+ // always delete implementation 1 , not !(proactor_impl == 0)
+ ACE_NEW_RETURN (this->proactor_,
+ ACE_Proactor (proactor_impl, 1 ),
+ -1);
+ // Set new singleton and delete it in close_singleton()
+ ACE_Proactor::instance (this->proactor_, 1);
+ return 0;
+}
+
+int
+MyTask::delete_proactor (void)
+{
+ ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX,
+ monitor,
+ this->lock_,
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Delete Proactor\n")));
+
+ ACE_Proactor::close_singleton ();
+ this->proactor_ = 0;
+
+ return 0;
+}
+
+int
+MyTask::start (int num_threads,
+ ProactorType type_proactor,
+ size_t max_op)
+{
+ if (this->create_proactor (type_proactor, max_op) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p.\n"),
+ ACE_TEXT ("unable to create proactor")),
+ -1);
+
+ if (this->activate (THR_NEW_LWP, num_threads) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p.\n"),
+ ACE_TEXT ("unable to activate thread pool")),
+ -1);
+
+ for (; num_threads > 0; num_threads--)
+ {
+ sem_.acquire ();
+ }
+
+ return 0;
+}
+
+
+int
+MyTask::stop ()
+{
+ if (this->proactor_ != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Calling End Proactor event loop\n")));
+
+ ACE_Proactor::end_event_loop ();
+ }
+
+ if (this->wait () == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p.\n"),
+ ACE_TEXT ("unable to stop thread pool")));
+
+ return 0;
+}
+
+int
+MyTask::svc (void)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) MyTask started\n")));
+
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+
+ // signal that we are ready
+ sem_.release (1);
+
+ ACE_Proactor::run_event_loop ();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) MyTask finished\n")));
+ return 0;
+}
+
+// *************************************************************
+// Receiver and Acceptor
+// *************************************************************
+// forward declaration
+class Acceptor;
+
+class Receiver : public ACE_Service_Handler
+{
+ friend class Acceptor;
+public:
+ Receiver (Acceptor *acceptor = 0, int index = -1);
+ ~Receiver (void);
+
+ size_t get_total_snd (void) { return this->total_snd_; }
+ size_t get_total_rcv (void) { return this->total_rcv_; }
+ long get_total_w (void) { return this->total_w_; }
+ long get_total_r (void) { return this->total_r_; }
+
+ // This is called to pass the new connection's addresses.
+ virtual void addresses (const ACE_INET_Addr& peer,
+ const ACE_INET_Addr& local);
+
+ /// This is called after the new connection has been accepted.
+ virtual void open (ACE_HANDLE handle,
+ ACE_Message_Block &message_block);
+
+protected:
+ /**
+ * @name AIO callback handling
+ *
+ * These methods are called by the framework
+ */
+ /// This is called when asynchronous <read> operation from the
+ /// socket completes.
+ virtual void handle_read_stream (const ACE_Asynch_Read_Stream::Result &result);
+
+ /// This is called when an asynchronous <write> to the socket
+ /// completes.
+ virtual void handle_write_stream (const ACE_Asynch_Write_Stream::Result &result);
+
+private:
+ int initiate_read_stream (void);
+ int initiate_write_stream (ACE_Message_Block &mb, size_t nbytes);
+ void cancel ();
+
+ Acceptor *acceptor_;
+ int index_;
+
+ ACE_Asynch_Read_Stream rs_;
+ ACE_Asynch_Write_Stream ws_;
+ ACE_HANDLE handle_;
+ ACE_SYNCH_MUTEX lock_;
+
+ long io_count_; // Number of currently outstanding I/O requests
+ int flg_cancel_;
+ size_t total_snd_; // Number of bytes successfully sent
+ size_t total_rcv_; // Number of bytes successfully received
+ long total_w_; // Number of write operations
+ long total_r_; // Number of read operations
+};
+
+class Acceptor : public ACE_Asynch_Acceptor<Receiver>
+{
+ friend class Receiver;
+public:
+ int get_number_sessions (void) { return this->sessions_; }
+ size_t get_total_snd (void) { return this->total_snd_; }
+ size_t get_total_rcv (void) { return this->total_rcv_; }
+ long get_total_w (void) { return this->total_w_; }
+ long get_total_r (void) { return this->total_r_; }
+
+ Acceptor (void);
+ virtual ~Acceptor (void);
+
+ void stop (void);
+ void cancel_all (void);
+
+ // Virtual from ACE_Asynch_Acceptor
+ Receiver *make_handler (void);
+
+private:
+ void on_new_receiver (Receiver &rcvr);
+ void on_delete_receiver (Receiver &rcvr);
+
+ ACE_SYNCH_RECURSIVE_MUTEX lock_;
+ int sessions_;
+ Receiver *list_receivers_[MAX_RECEIVERS];
+ size_t total_snd_;
+ size_t total_rcv_;
+ long total_w_;
+ long total_r_;
+};
+
+// *************************************************************
+Acceptor::Acceptor (void)
+ : sessions_ (0),
+ total_snd_(0),
+ total_rcv_(0),
+ total_w_ (0),
+ total_r_ (0)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ for (int i = 0; i < MAX_RECEIVERS; ++i)
+ this->list_receivers_[i] = 0;
+}
+
+Acceptor::~Acceptor (void)
+{
+ this->stop ();
+}
+
+
+void
+Acceptor::cancel_all (void)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ this->cancel ();
+
+ for (int i = 0; i < MAX_RECEIVERS; ++i)
+ {
+ if (this->list_receivers_[i] != 0)
+ this->list_receivers_[i]->cancel ();
+ }
+ return;
+}
+
+
+void
+Acceptor::stop (void)
+{
+ // This method can be called only after proactor event loop is done
+ // in all threads.
+
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ for (int i = 0; i < MAX_RECEIVERS; ++i)
+ {
+ delete this->list_receivers_[i];
+ this->list_receivers_[i] = 0;
+ }
+}
+
+void
+Acceptor::on_new_receiver (Receiver & rcvr)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+ this->sessions_++;
+ this->list_receivers_[rcvr.index_] = &rcvr;
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Acceptor: receiver %d up; now have %d.\n"),
+ rcvr.index_,
+ this->sessions_));
+}
+
+void
+Acceptor::on_delete_receiver (Receiver & rcvr)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ this->sessions_--;
+
+ this->total_snd_ += rcvr.get_total_snd();
+ this->total_rcv_ += rcvr.get_total_rcv();
+ this->total_w_ += rcvr.get_total_w();
+ this->total_r_ += rcvr.get_total_r();
+
+ if (rcvr.index_ >= 0
+ && rcvr.index_ < MAX_RECEIVERS
+ && this->list_receivers_[rcvr.index_] == &rcvr)
+ this->list_receivers_[rcvr.index_] = 0;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Acceptor: receiver %d gone; %d remain\n"),
+ rcvr.index_,
+ this->sessions_));
+}
+
+Receiver *
+Acceptor::make_handler (void)
+{
+ ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_, 0);
+
+ if (this->sessions_ >= MAX_RECEIVERS)
+ return 0;
+
+ for (int i = 0; i < MAX_RECEIVERS; ++i)
+ {
+ if (this->list_receivers_[i] == 0)
+ {
+ ACE_NEW_RETURN (this->list_receivers_[i],
+ Receiver (this, i),
+ 0);
+ return this->list_receivers_[i];
+ }
+ }
+
+ return 0;
+}
+// ***************************************************
+Receiver::Receiver (Acceptor * acceptor, int index)
+ : acceptor_ (acceptor),
+ index_ (index),
+ handle_ (ACE_INVALID_HANDLE),
+ io_count_ (0),
+ flg_cancel_(0),
+ total_snd_(0),
+ total_rcv_(0),
+ total_w_ (0),
+ total_r_ (0)
+{
+ if (this->acceptor_ != 0)
+ this->acceptor_->on_new_receiver (*this);
+}
+
+Receiver::~Receiver (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d dtor; %d sends (%d bytes); ")
+ ACE_TEXT ("%d recvs (%d bytes)\n"),
+ this->index_,
+ this->total_w_, this->total_snd_,
+ this->total_r_, this->total_rcv_));
+ if (this->io_count_ != 0)
+ ACE_ERROR ((LM_WARNING,
+ ACE_TEXT ("(%t) Receiver %d deleted with ")
+ ACE_TEXT ("%d I/O outstanding\n"),
+ this->index_,
+ this->io_count_));
+
+ // This test bounces data back and forth between Senders and Receivers.
+ // Therefore, if there was significantly more data in one direction, that's
+ // a problem. Remember, the byte counts are unsigned values.
+ int issue_data_warning = 0;
+ if (this->total_snd_ > this->total_rcv_)
+ {
+ if (this->total_rcv_ == 0)
+ issue_data_warning = 1;
+ else if (this->total_snd_ / this->total_rcv_ > 2)
+ issue_data_warning = 1;
+ }
+ else
+ {
+ if (this->total_snd_ == 0)
+ issue_data_warning = 1;
+ else if (this->total_rcv_ / this->total_snd_ > 2)
+ issue_data_warning = 1;
+ }
+ if (issue_data_warning)
+ ACE_DEBUG ((LM_WARNING,
+ ACE_TEXT ("(%t) Above byte counts look odd; need review\n")));
+
+ if (this->acceptor_ != 0)
+ this->acceptor_->on_delete_receiver (*this);
+
+ if (this->handle_ != ACE_INVALID_HANDLE)
+ ACE_OS::closesocket (this->handle_);
+
+ this->index_ = -1;
+ this->handle_= ACE_INVALID_HANDLE;
+}
+
+void
+Receiver::cancel ()
+{
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ this->flg_cancel_ = 1;
+ this->ws_.cancel ();
+ this->rs_.cancel ();
+ return;
+}
+
+
+void
+Receiver::addresses (const ACE_INET_Addr& peer, const ACE_INET_Addr&)
+{
+ ACE_TCHAR str[256];
+ if (0 == peer.addr_to_string (str, sizeof (str) / sizeof (ACE_TCHAR)))
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d connection from %s\n"),
+ this->index_,
+ str));
+ else
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%t) Receiver %d %p\n"),
+ this->index_,
+ ACE_TEXT ("addr_to_string")));
+ return;
+}
+
+
+void
+Receiver::open (ACE_HANDLE handle, ACE_Message_Block &)
+{
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ // Don't buffer serial sends.
+ this->handle_ = handle;
+ int nodelay = 1;
+ ACE_SOCK_Stream option_setter (handle);
+ if (-1 == option_setter.set_option (ACE_IPPROTO_TCP,
+ TCP_NODELAY,
+ &nodelay,
+ sizeof (nodelay)))
+ ACE_ERROR ((LM_ERROR, "%p\n", "set_option"));
+
+ if (this->ws_.open (*this, this->handle_) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Receiver::ACE_Asynch_Write_Stream::open")));
+ else if (this->rs_.open (*this, this->handle_) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Receiver::ACE_Asynch_Read_Stream::open")));
+ else
+ this->initiate_read_stream ();
+
+ if (this->io_count_ > 0)
+ return;
+ }
+ delete this;
+}
+
+int
+Receiver::initiate_read_stream (void)
+{
+ if (this->flg_cancel_ != 0 || this->handle_ == ACE_INVALID_HANDLE)
+ return -1;
+
+ ACE_Message_Block *mb = 0;
+ ACE_NEW_RETURN (mb,
+ ACE_Message_Block (1024), //BUFSIZ + 1),
+ -1);
+
+ // Inititiate read
+ if (this->rs_.read (*mb, mb->size () - 1) == -1)
+ {
+ mb->release ();
+#if defined (ACE_WIN32)
+ // On peer close, ReadFile will yield ERROR_NETNAME_DELETED; won't get
+ // a 0-byte read as we would if underlying calls used WSARecv.
+ if (ACE_OS::last_error () == ERROR_NETNAME_DELETED)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d, peer closed\n"),
+ this->index_),
+ -1);
+#endif /* ACE_WIN32 */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) Receiver %d, %p\n"),
+ this->index_,
+ ACE_TEXT ("read")),
+ -1);
+ }
+
+ this->io_count_++;
+ this->total_r_++;
+ return 0;
+}
+
+int
+Receiver::initiate_write_stream (ACE_Message_Block &mb, size_t nbytes)
+{
+ if (this->flg_cancel_ != 0 || this->handle_ == ACE_INVALID_HANDLE)
+ {
+ mb.release ();
+ return -1;
+ }
+
+ if (nbytes == 0)
+ {
+ mb.release ();
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT ("(%t) Receiver::ACE_Asynch_Write_Stream::write nbytes <0 ")),
+ -1);
+ }
+
+ if (this->ws_.write (mb, nbytes) == -1)
+ {
+ mb.release ();
+#if defined (ACE_WIN32)
+ // On peer close, WriteFile will yield ERROR_NETNAME_DELETED.
+ if (ACE_OS::last_error () == ERROR_NETNAME_DELETED)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d, peer gone\n"),
+ this->index_),
+ -1);
+#endif /* ACE_WIN32 */
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT ("(%t) Receiver %d, %p\n"),
+ this->index_,
+ ACE_TEXT ("write")),
+ -1);
+ }
+
+ this->io_count_++;
+ this->total_w_++;
+ return 0;
+}
+
+void
+Receiver::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result)
+{
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_ );
+
+ ACE_Message_Block & mb = result.message_block ();
+
+ // Reset pointers.
+ mb.rd_ptr ()[result.bytes_transferred ()] = '\0';
+
+ if (loglevel > 1)
+ {
+ LogLocker log_lock;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) **** Receiver %d: handle_read_stream() ****\n"),
+ this->index_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_to_read"),
+ result.bytes_to_read ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("handle"),
+ result.handle ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_transfered"),
+ result.bytes_transferred ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("act"),
+ result.act ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("success"),
+ result.success ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("completion_key"),
+ result.completion_key ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("error"),
+ result.error ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %s\n"),
+ ACE_TEXT ("message_block"),
+ mb.rd_ptr ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("**** end of message ****************\n")));
+ }
+ else if (result.error () != 0)
+ {
+ ACE_Log_Priority prio;
+#if defined (ACE_WIN32)
+ if (result.error () == ERROR_OPERATION_ABORTED)
+ prio = LM_DEBUG;
+#else
+ if (result.error () == ECANCELED)
+ prio = LM_DEBUG;
+#endif /* ACE_WIN32 */
+ else
+ prio = LM_ERROR;
+ ACE_Log_Msg::instance ()->errnum (result.error ());
+ ACE_Log_Msg::instance ()->log (prio,
+ ACE_TEXT ("(%t) Receiver %d; %p\n"),
+ this->index_,
+ ACE_TEXT ("read"));
+ }
+ else if (loglevel > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d: read %d bytes\n"),
+ this->index_,
+ result.bytes_transferred ()));
+ }
+
+ if (result.error () == 0 && result.bytes_transferred () > 0)
+ {
+ this->total_rcv_ += result.bytes_transferred ();
+
+ if (this->initiate_write_stream (mb,
+ result.bytes_transferred ()) == 0)
+ {
+ if (duplex != 0) // Initiate new read from the stream.
+ this->initiate_read_stream ();
+ }
+ }
+ else
+ mb.release ();
+
+ this->io_count_--;
+ if (this->io_count_ > 0)
+ return;
+ }
+ delete this;
+}
+
+void
+Receiver::handle_write_stream (const ACE_Asynch_Write_Stream::Result &result)
+{
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ ACE_Message_Block & mb = result.message_block ();
+
+ if (loglevel > 1)
+ {
+ LogLocker log_lock;
+
+ //mb.rd_ptr () [0] = '\0';
+ mb.rd_ptr (mb.rd_ptr () - result.bytes_transferred ());
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) **** Receiver %d: handle_write_stream() ****\n"),
+ this->index_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_to_write"),
+ result.bytes_to_write ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("handle"),
+ result.handle ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_transfered"),
+ result.bytes_transferred ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("act"),
+ result.act ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("success"),
+ result.success ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("completion_key"),
+ result.completion_key ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("error"),
+ result.error ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %s\n"),
+ ACE_TEXT ("message_block"),
+ mb.rd_ptr ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("**** end of message ****************\n")));
+ }
+ else if (result.error () != 0)
+ {
+ ACE_Log_Priority prio;
+#if defined (ACE_WIN32)
+ if (result.error () == ERROR_OPERATION_ABORTED)
+ prio = LM_DEBUG;
+#else
+ if (result.error () == ECANCELED)
+ prio = LM_DEBUG;
+#endif /* ACE_WIN32 */
+ else
+ prio = LM_ERROR;
+ ACE_Log_Msg::instance ()->errnum (result.error ());
+ ACE_Log_Msg::instance ()->log (prio,
+ ACE_TEXT ("(%t) Receiver %d; %p\n"),
+ this->index_,
+ ACE_TEXT ("write"));
+ }
+ else if (loglevel > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d: wrote %d bytes ok\n"),
+ this->index_,
+ result.bytes_transferred ()));
+ }
+
+ mb.release ();
+
+ if (result.error () == 0 && result.bytes_transferred () > 0)
+ {
+ this->total_snd_ += result.bytes_transferred ();
+
+ if (duplex == 0)
+ this->initiate_read_stream ();
+ }
+
+ this->io_count_--;
+ if (this->io_count_ > 0)
+ return;
+ }
+ delete this;
+}
+
+// *******************************************
+// Sender
+// *******************************************
+
+class Connector;
+
+class Sender : public ACE_Service_Handler
+{
+ friend class Connector;
+public:
+
+ /// This is called after the new connection has been established.
+ virtual void open (ACE_HANDLE handle,
+ ACE_Message_Block &message_block);
+
+ Sender (Connector *connector = 0, int index = -1);
+ ~Sender (void);
+
+ size_t get_total_snd (void) { return this->total_snd_; }
+ size_t get_total_rcv (void) { return this->total_rcv_; }
+ long get_total_w (void) { return this->total_w_; }
+ long get_total_r (void) { return this->total_r_; }
+
+ // This is called to pass the new connection's addresses.
+ virtual void addresses (const ACE_INET_Addr& peer,
+ const ACE_INET_Addr& local);
+
+ virtual void handle_read_stream (const ACE_Asynch_Read_Stream::Result &result);
+ // This is called when asynchronous reads from the socket complete
+
+ virtual void handle_write_stream (const ACE_Asynch_Write_Stream::Result &result);
+ // This is called when asynchronous writes from the socket complete
+
+private:
+ int initiate_read_stream (void);
+ int initiate_write_stream (void);
+ void cancel (void);
+ void close (void);
+
+ int index_;
+ Connector * connector_;
+
+ ACE_Asynch_Read_Stream rs_;
+ ACE_Asynch_Write_Stream ws_;
+ ACE_HANDLE handle_;
+
+ ACE_SYNCH_MUTEX lock_;
+
+ long io_count_;
+ int stop_writing_; // Writes are shut down; just read.
+ int flg_cancel_;
+ size_t total_snd_;
+ size_t total_rcv_;
+ long total_w_;
+ long total_r_;
+};
+
+class Connector : public ACE_Asynch_Connector<Sender>
+{
+ friend class Sender;
+public:
+ int get_number_sessions (void) { return this->sessions_; }
+ size_t get_total_snd (void) { return this->total_snd_; }
+ size_t get_total_rcv (void) { return this->total_rcv_; }
+ long get_total_w (void) { return this->total_w_; }
+ long get_total_r (void) { return this->total_r_; }
+
+ Connector (void);
+ virtual ~Connector (void);
+
+ int start (const ACE_INET_Addr &addr, int num);
+ void stop (void);
+ void cancel_all (void);
+
+ // Virtual from ACE_Asynch_Connector
+ Sender *make_handler (void);
+
+private:
+ void on_new_sender (Sender &rcvr);
+ void on_delete_sender (Sender &rcvr);
+
+ ACE_SYNCH_RECURSIVE_MUTEX lock_;
+ int sessions_;
+ Sender *list_senders_[MAX_SENDERS];
+ size_t total_snd_;
+ size_t total_rcv_;
+ long total_w_;
+ long total_r_;
+};
+
+// *************************************************************
+
+Connector::Connector (void)
+ : sessions_ (0),
+ total_snd_(0),
+ total_rcv_(0),
+ total_w_ (0),
+ total_r_ (0)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ for (int i = 0; i < MAX_SENDERS; ++i)
+ this->list_senders_[i] = 0;
+}
+
+Connector::~Connector (void)
+{
+ this->stop ();
+}
+
+
+void
+Connector::cancel_all(void)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ this->cancel ();
+
+ for (int i = 0; i < MAX_SENDERS; ++i)
+ {
+ if (this->list_senders_[i] != 0)
+ this->list_senders_[i]->cancel ();
+ }
+ return;
+}
+
+
+void
+Connector::stop (void)
+{
+ // This method can be called only after proactor event loop is done
+ // in all threads.
+
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ for (int i = 0; i < MAX_SENDERS; ++i)
+ {
+ delete this->list_senders_[i];
+ this->list_senders_[i] = 0;
+ }
+}
+
+void
+Connector::on_new_sender (Sender &sndr)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+ this->sessions_++;
+ this->list_senders_[sndr.index_] = &sndr;
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Connector: sender %d up; now have %d.\n"),
+ sndr.index_,
+ this->sessions_));
+}
+
+void
+Connector::on_delete_sender (Sender &sndr)
+{
+ ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_);
+
+ this->sessions_--;
+ this->total_snd_ += sndr.get_total_snd();
+ this->total_rcv_ += sndr.get_total_rcv();
+ this->total_w_ += sndr.get_total_w();
+ this->total_r_ += sndr.get_total_r();
+
+ if (sndr.index_ >= 0
+ && sndr.index_ < MAX_SENDERS
+ && this->list_senders_[sndr.index_] == &sndr)
+ this->list_senders_[sndr.index_] = 0;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Connector: sender %d gone; %d remain\n"),
+ sndr.index_,
+ this->sessions_));
+}
+
+Sender *
+Connector::make_handler (void)
+{
+ ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_, 0);
+
+ if (this->sessions_ >= MAX_SENDERS)
+ return 0;
+
+ for (int i = 0; i < MAX_SENDERS; ++i)
+ {
+ if (this->list_senders_ [i] == 0)
+ {
+ ACE_NEW_RETURN (this->list_senders_[i],
+ Sender (this, i),
+ 0);
+ return this->list_senders_[i];
+ }
+ }
+
+ return 0;
+}
+
+
+int
+Connector::start (const ACE_INET_Addr& addr, int num)
+{
+
+ ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, monitor, this->lock_, 0);
+
+ if (num > MAX_SENDERS)
+ num = MAX_SENDERS;
+
+ if (num < 0)
+ num = 1;
+
+ int rc = 0;
+
+ // int open ( int pass_addresses = 0,
+ // ACE_Proactor *proactor = 0,
+ // int validate_new_connection = 0 );
+
+ if (this->open (1, 0, 1) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_LIB_TEXT ("(%t) %p\n"),
+ ACE_LIB_TEXT ("Connector::open failed")));
+ return rc;
+ }
+
+ for (; rc < num; rc++)
+ {
+ ACE_INET_Addr localAddr;
+ if (this->connect (addr, localAddr) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Connector::connect failed for IPv6")));
+ break;
+ }
+ }
+ return rc;
+}
+
+
+Sender::Sender (Connector * connector, int index)
+ : index_ (index),
+ connector_ (connector),
+ handle_ (ACE_INVALID_HANDLE),
+ io_count_ (0),
+ stop_writing_ (0),
+ flg_cancel_ (0),
+ total_snd_ (0),
+ total_rcv_ (0),
+ total_w_ (0),
+ total_r_ (0)
+{
+ if (this->connector_ != 0)
+ this->connector_->on_new_sender (*this);
+}
+
+Sender::~Sender (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Sender %d dtor; %d sends (%d bytes); ")
+ ACE_TEXT ("%d recvs (%d bytes)\n"),
+ this->index_,
+ this->total_w_, this->total_snd_,
+ this->total_r_, this->total_rcv_));
+ if (this->io_count_ != 0)
+ ACE_ERROR ((LM_WARNING,
+ ACE_TEXT ("(%t) Sender %d deleted with %d I/O outstanding\n"),
+ this->index_,
+ this->io_count_));
+
+ // This test bounces data back and forth between Senders and Receivers.
+ // Therefore, if there was significantly more data in one direction, that's
+ // a problem. Remember, the byte counts are unsigned values.
+ int issue_data_warning = 0;
+ if (this->total_snd_ > this->total_rcv_)
+ {
+ if (this->total_rcv_ == 0)
+ issue_data_warning = 1;
+ else if (this->total_snd_ / this->total_rcv_ > 2)
+ issue_data_warning = 1;
+ }
+ else
+ {
+ if (this->total_snd_ == 0)
+ issue_data_warning = 1;
+ else if (this->total_rcv_ / this->total_snd_ > 2)
+ issue_data_warning = 1;
+ }
+ if (issue_data_warning)
+ ACE_DEBUG ((LM_WARNING,
+ ACE_TEXT ("(%t) Above byte counts look odd; need review\n")));
+
+ if (this->connector_ != 0)
+ this->connector_->on_delete_sender (*this);
+
+ if (this->handle_ != ACE_INVALID_HANDLE)
+ {
+ ACE_OS::closesocket (this->handle_);
+ }
+
+ this->index_ = -1;
+ this->handle_= ACE_INVALID_HANDLE;
+}
+
+void
+Sender::cancel ()
+{
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ this->flg_cancel_ = 1;
+ this->ws_.cancel ();
+ this->rs_.cancel ();
+ return;
+}
+
+void
+Sender::close ()
+{
+ // This must be called with the lock_ held.
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Closing Sender %d writes; %d I/O outstanding\n"),
+ this->index_, this->io_count_));
+ ACE_OS::shutdown (this->handle_, ACE_SHUTDOWN_WRITE);
+ this->stop_writing_ = 1;
+ return;
+}
+
+
+void
+Sender::addresses (const ACE_INET_Addr& peer, const ACE_INET_Addr& local)
+{
+ ACE_TCHAR str[256];
+ ACE_TCHAR str2[256];
+ ACE_INET_Addr addr ((u_short) 0, host);
+
+ // This checks to make sure the peer address given to us matches what
+ // we expect it to be.
+ // This check will fail when Asynch_Connector::parse_addresses does
+ // not handle IPv6 addresses
+ if (0 != peer.get_host_addr (str, sizeof (str) / sizeof (ACE_TCHAR)))
+ {
+ if (0 != addr.get_host_addr (str2, sizeof (str2) / sizeof (ACE_TCHAR)))
+ {
+ if (0 != strncmp (str, str2, sizeof (str) / sizeof (ACE_TCHAR)))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Sender %d peer address (%s) does not "
+ "match host address (%s)\n"),
+ this->index_,
+ str, str2));
+ return;
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Sender %d unable to convert host addr\n"),
+ this->index_));
+ return;
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Sender %d unable to convert peer addr\n"),
+ this->index_));
+ return;
+ }
+
+ if (0 == local.addr_to_string (str, sizeof (str) / sizeof (ACE_TCHAR)))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Sender %d connected on %s\n"),
+ this->index_,
+ str));
+ }
+ else
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%t) Receiver %d %p\n"),
+ this->index_,
+ ACE_TEXT ("addr_to_string")));
+ return;
+}
+
+
+void
+Sender::open (ACE_HANDLE handle, ACE_Message_Block &)
+{
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ // Don't buffer serial sends.
+ this->handle_ = handle;
+ int nodelay = 1;
+ ACE_SOCK_Stream option_setter (handle);
+ if (option_setter.set_option (ACE_IPPROTO_TCP,
+ TCP_NODELAY,
+ &nodelay,
+ sizeof (nodelay)))
+ ACE_ERROR ((LM_ERROR, "%p\n", "set_option"));
+
+ // Open ACE_Asynch_Write_Stream
+ if (this->ws_.open (*this, this->handle_) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Sender::ACE_Asynch_Write_Stream::open")));
+
+ // Open ACE_Asynch_Read_Stream
+ else if (this->rs_.open (*this, this->handle_) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Sender::ACE_Asynch_Read_Stream::open")));
+
+ else if (this->initiate_write_stream () == 0)
+ {
+ if (duplex != 0) // Start an asynchronous read
+ this->initiate_read_stream ();
+ }
+
+ if (this->io_count_ > 0)
+ return;
+ }
+ delete this;
+}
+
+int
+Sender::initiate_write_stream (void)
+{
+ if (this->flg_cancel_ != 0 ||
+ this->stop_writing_ ||
+ this->handle_ == ACE_INVALID_HANDLE)
+ return -1;
+
+ static const size_t complete_message_length = ACE_OS::strlen (complete_message);
+
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE))
+
+ ACE_Message_Block *mb1 = 0,
+ *mb2 = 0,
+ *mb3 = 0;
+
+ // No need to allocate +1 for proper printing - the memory includes it already
+ ACE_NEW_RETURN (mb1,
+ ACE_Message_Block ((char *)complete_message,
+ complete_message_length),
+ -1);
+
+ ACE_NEW_RETURN (mb2,
+ ACE_Message_Block ((char *)complete_message,
+ complete_message_length),
+ -1);
+
+ ACE_NEW_RETURN (mb3,
+ ACE_Message_Block ((char *)complete_message,
+ complete_message_length),
+ -1);
+
+ mb1->wr_ptr (complete_message_length);
+ mb2->wr_ptr (complete_message_length);
+ mb3->wr_ptr (complete_message_length);
+
+ // chain them together
+ mb1->cont (mb2);
+ mb2->cont (mb3);
+
+ if (this->ws_.writev (*mb1, mb1->total_length ()) == -1)
+ {
+ mb1->release ();
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Sender::ACE_Asynch_Stream::writev")),
+ -1);
+ }
+#else /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+
+ ACE_Message_Block *mb = 0;
+
+ // No need to allocate +1 for proper printing - the memory includes it already
+ ACE_NEW_RETURN (mb,
+ ACE_Message_Block (complete_message, complete_message_length),
+ -1);
+ mb->wr_ptr (complete_message_length);
+
+ if (this->ws_.write (*mb, mb->length ()) == -1)
+ {
+ mb->release ();
+#if defined (ACE_WIN32)
+ // On peer close, WriteFile will yield ERROR_NETNAME_DELETED.
+ if (ACE_OS::last_error () == ERROR_NETNAME_DELETED)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ ACE_TEXT ("(%t) Sender %d, peer gone\n"),
+ this->index_),
+ -1);
+#endif /* ACE_WIN32 */
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT ("(%t) Sender %d, %p\n"),
+ this->index_,
+ ACE_TEXT ("write")),
+ -1);
+ }
+#endif /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+
+ this->io_count_++;
+ this->total_w_++;
+ return 0;
+}
+
+int
+Sender::initiate_read_stream (void)
+{
+ if (this->flg_cancel_ != 0 || this->handle_ == ACE_INVALID_HANDLE)
+ return -1;
+
+ static const size_t complete_message_length = ACE_OS::strlen (complete_message);
+
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE))
+ ACE_Message_Block *mb1 = 0,
+ *mb2 = 0,
+ *mb3 = 0,
+ *mb4 = 0,
+ *mb5 = 0,
+ *mb6 = 0;
+
+ // We allocate +1 only for proper printing - we can just set the last byte
+ // to '\0' before printing out
+ ACE_NEW_RETURN (mb1, ACE_Message_Block (complete_message_length + 1), -1);
+ ACE_NEW_RETURN (mb2, ACE_Message_Block (complete_message_length + 1), -1);
+ ACE_NEW_RETURN (mb3, ACE_Message_Block (complete_message_length + 1), -1);
+
+ // Let allocate memory for one more triplet,
+ // This improves performance
+ // as we can receive more the than one block at once
+ // Generally, we can receive more triplets ....
+ ACE_NEW_RETURN (mb4, ACE_Message_Block (complete_message_length + 1), -1);
+ ACE_NEW_RETURN (mb5, ACE_Message_Block (complete_message_length + 1), -1);
+ ACE_NEW_RETURN (mb6, ACE_Message_Block (complete_message_length + 1), -1);
+
+ mb1->cont (mb2);
+ mb2->cont (mb3);
+
+ mb3->cont (mb4);
+ mb4->cont (mb5);
+ mb5->cont (mb6);
+
+
+ // hide last byte in each message block, reserving it for later to set '\0'
+ // for proper printouts
+ mb1->size (mb1->size () - 1);
+ mb2->size (mb2->size () - 1);
+ mb3->size (mb3->size () - 1);
+
+ mb4->size (mb4->size () - 1);
+ mb5->size (mb5->size () - 1);
+ mb6->size (mb6->size () - 1);
+
+ // Inititiate read
+ if (this->rs_.readv (*mb1, mb1->total_size () - 1) == -1)
+ {
+ mb1->release ();
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Sender::ACE_Asynch_Read_Stream::readv")),
+ -1);
+ }
+#else /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+
+ // Try to read more chunks
+ size_t blksize = ( complete_message_length > BUFSIZ ) ?
+ complete_message_length : BUFSIZ;
+
+ ACE_Message_Block *mb = 0;
+
+ // We allocate +1 only for proper printing - we can just set the last byte
+ // to '\0' before printing out
+ ACE_NEW_RETURN (mb,
+ ACE_Message_Block (blksize + 1)
+ , -1);
+
+ // Inititiate read
+ if (this->rs_.read (*mb, mb->size () - 1) == -1)
+ {
+ mb->release ();
+#if defined (ACE_WIN32)
+ // On peer close, ReadFile will yield ERROR_NETNAME_DELETED; won't get
+ // a 0-byte read as we would if underlying calls used WSARecv.
+ if (ACE_OS::last_error () == ERROR_NETNAME_DELETED)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ ACE_TEXT ("(%t) Receiver %d, peer closed\n"),
+ this->index_),
+ -1);
+#endif /* ACE_WIN32 */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) Sender %d, %p\n"),
+ this->index_,
+ ACE_TEXT ("read")),
+ -1);
+ }
+#endif /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+
+ this->io_count_++;
+ this->total_r_++;
+ return 0;
+}
+
+void
+Sender::handle_write_stream (const ACE_Asynch_Write_Stream::Result &result)
+{
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ ACE_Message_Block & mb = result.message_block ();
+
+ if (loglevel > 1)
+ {
+ LogLocker log_lock;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) **** Sender %d: handle_write_stream() ****\n"),
+ index_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_to_write"),
+ result.bytes_to_write ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("handle"),
+ result.handle ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_transfered"),
+ result.bytes_transferred ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("act"),
+ result.act ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("success"),
+ result.success ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("completion_key"),
+ result.completion_key ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("error"),
+ result.error ()));
+
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE))
+ size_t bytes_transferred = result.bytes_transferred ();
+ char index = 0;
+ for (ACE_Message_Block* mb_i = &mb;
+ (mb_i != 0) && (bytes_transferred > 0);
+ mb_i = mb_i->cont ())
+ {
+ // write 0 at string end for proper printout (if end of mb, it's 0 already)
+ mb_i->rd_ptr()[0] = '\0';
+
+ size_t len = mb_i->rd_ptr () - mb_i->base ();
+
+ // move rd_ptr backwards as required for printout
+ if (len >= bytes_transferred)
+ {
+ mb_i->rd_ptr (0 - bytes_transferred);
+ bytes_transferred = 0;
+ }
+ else
+ {
+ mb_i->rd_ptr (0 - len);
+ bytes_transferred -= len;
+ }
+
+ ++index;
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s%d = %s\n"),
+ ACE_TEXT ("message_block, part "),
+ index,
+ mb_i->rd_ptr ()));
+ }
+#else /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+ // write 0 at string end for proper printout (if end of mb, it's 0 already)
+ mb.rd_ptr()[0] = '\0';
+ // move rd_ptr backwards as required for printout
+ mb.rd_ptr (- result.bytes_transferred ());
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %s\n"),
+ ACE_TEXT ("message_block"),
+ mb.rd_ptr ()));
+#endif /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("**** end of message ****************\n")));
+ }
+ else if (result.error () != 0)
+ {
+ ACE_Log_Priority prio;
+#if defined (ACE_WIN32)
+ if (result.error () == ERROR_OPERATION_ABORTED)
+ prio = LM_DEBUG;
+#else
+ if (result.error () == ECANCELED)
+ prio = LM_DEBUG;
+#endif /* ACE_WIN32 */
+ else
+ prio = LM_ERROR;
+ ACE_Log_Msg::instance ()->errnum (result.error ());
+ ACE_Log_Msg::instance ()->log (prio,
+ ACE_TEXT ("(%t) Sender %d; %p\n"),
+ this->index_,
+ ACE_TEXT ("write"));
+ }
+ else if (loglevel > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Sender %d: wrote %d bytes ok\n"),
+ this->index_,
+ result.bytes_transferred ()));
+ }
+
+ mb.release ();
+
+ if (result.error () == 0 && result.bytes_transferred () > 0)
+ {
+ this->total_snd_ += result.bytes_transferred ();
+ if (this->total_snd_ >= xfer_limit)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Sender %d sent %d, limit %d\n"),
+ this->index_, this->total_snd_, xfer_limit));
+ this->close ();
+ }
+ if (duplex != 0) // full duplex, continue write
+ {
+ if ((this->total_snd_- this->total_rcv_) < 1024*32 ) //flow control
+ this->initiate_write_stream ();
+ }
+ else // half-duplex read reply, after read we will start write
+ this->initiate_read_stream ();
+ }
+
+ this->io_count_--;
+ if (this->io_count_ > 0)
+ return;
+ }
+ delete this;
+}
+
+void
+Sender::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result)
+{
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->lock_);
+
+ ACE_Message_Block & mb = result.message_block ();
+
+ if (loglevel > 1)
+ {
+ LogLocker log_lock;
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) **** Sender %d: handle_read_stream() ****\n"),
+ index_));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_to_read"),
+ result.bytes_to_read ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("handle"),
+ result.handle ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("bytes_transfered"),
+ result.bytes_transferred ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("act"),
+ result.act ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("success"),
+ result.success ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %@\n"),
+ ACE_TEXT ("completion_key"),
+ result.completion_key ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %d\n"),
+ ACE_TEXT ("error"),
+ result.error ()));
+
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE))
+ char index = 0;
+ for (ACE_Message_Block* mb_i = &mb;
+ mb_i != 0;
+ mb_i = mb_i->cont ())
+ {
+ ++index;
+ // write 0 at string end for proper printout
+ mb_i->wr_ptr()[0] = '\0';
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s%d = %s\n"),
+ ACE_TEXT ("message_block, part "),
+ index,
+ mb_i->rd_ptr ()));
+ }
+#else /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+ // write 0 at string end for proper printout
+ mb.rd_ptr()[result.bytes_transferred ()] = '\0'; // for proper printout
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%s = %s\n"),
+ ACE_TEXT ("message_block"),
+ mb.rd_ptr ()));
+#endif /* (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) */
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("**** end of message ****************\n")));
+ }
+ else if (result.error () != 0)
+ {
+ ACE_Log_Priority prio;
+#if defined (ACE_WIN32)
+ if (result.error () == ERROR_OPERATION_ABORTED)
+ prio = LM_DEBUG;
+#else
+ if (result.error () == ECANCELED)
+ prio = LM_DEBUG;
+#endif /* ACE_WIN32 */
+ else
+ prio = LM_ERROR;
+ ACE_Log_Msg::instance ()->errnum (result.error ());
+ ACE_Log_Msg::instance ()->log (prio,
+ ACE_TEXT ("(%t) Sender %d; %p\n"),
+ this->index_,
+ ACE_TEXT ("read"));
+ }
+ else if (loglevel > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Sender %d: read %d bytes ok\n"),
+ this->index_,
+ result.bytes_transferred ()));
+ }
+
+ mb.release ();
+
+ if (result.error () == 0 && result.bytes_transferred () > 0)
+ {
+ this->total_rcv_ += result.bytes_transferred ();
+
+ if (duplex != 0 || this->stop_writing_) // full duplex, continue read
+ this->initiate_read_stream ();
+ else // half-duplex write, after write we will start read
+ this->initiate_write_stream ();
+ }
+
+ this->io_count_--;
+ if (this->io_count_ > 0)
+ return;
+ }
+ delete this;
+}
+
+// *************************************************************
+// Configuration helpers
+// *************************************************************
+int
+print_usage (int /* argc */, ACE_TCHAR *argv[])
+{
+ ACE_ERROR
+ ((LM_ERROR,
+ ACE_TEXT ("\nusage: %s")
+ ACE_TEXT ("\n-o <max number of started aio operations for Proactor>")
+ ACE_TEXT ("\n-t <Proactor type> UNIX-only, Win32-default always:")
+ ACE_TEXT ("\n a AIOCB")
+ ACE_TEXT ("\n i SIG")
+ ACE_TEXT ("\n c CB")
+ ACE_TEXT ("\n s SUN")
+ ACE_TEXT ("\n d default")
+ ACE_TEXT ("\n-d <duplex mode 1-on/0-off>")
+ ACE_TEXT ("\n-h <host> for Sender mode")
+ ACE_TEXT ("\n-n <number threads for Proactor pool>")
+ ACE_TEXT ("\n-p <port to listen/connect>")
+ ACE_TEXT ("\n-s <number of sender's instances>")
+ ACE_TEXT ("\n-b run client and server at the same time")
+ ACE_TEXT ("\n f file")
+ ACE_TEXT ("\n c console")
+ ACE_TEXT ("\n-v log level")
+ ACE_TEXT ("\n 0 - log errors and highlights")
+ ACE_TEXT ("\n 1 - log level 0 plus progress information")
+ ACE_TEXT ("\n 2 - log level 1 plus operation parameters and results")
+ ACE_TEXT ("\n-x max transfer byte count per Sender")
+ ACE_TEXT ("\n-u show this message")
+ ACE_TEXT ("\n"),
+ argv[0]
+ ));
+ return -1;
+}
+
+static int
+set_proactor_type (const ACE_TCHAR *ptype)
+{
+ if (!ptype)
+ return 0;
+
+ switch (toupper (*ptype))
+ {
+ case 'D':
+ proactor_type = DEFAULT;
+ return 1;
+ case 'A':
+ proactor_type = AIOCB;
+ return 1;
+ case 'I':
+ proactor_type = SIG;
+ return 1;
+#if defined (sun)
+ case 'S':
+ proactor_type = SUN;
+ return 1;
+#endif /* sun */
+#if defined (__sgi)
+ case 'C':
+ proactor_type = CB;
+ return 1;
+#endif /* __sgi */
+ default:
+ break;
+ }
+ return 0;
+}
+
+static int
+parse_args (int argc, ACE_TCHAR *argv[])
+{
+ // First, set up all the defaults then let any args change them.
+ both = 1; // client and server simultaneosly
+ duplex = 1; // full duplex is on
+#if defined (ACE_HAS_IPV6)
+ host = ACE_IPV6_LOCALHOST; // server to connect (IPv6 localhost)
+#else
+ host = ACE_LOCALHOST;
+#endif /*ACE_HAS_IPV6*/
+ port = ACE_DEFAULT_SERVER_PORT; // port to connect/listen
+ max_aio_operations = 512; // POSIX Proactor params
+ proactor_type = DEFAULT; // Proactor type = default
+ threads = 3; // size of Proactor thread pool
+ senders = 10; // number of senders
+ loglevel = 0; // log level : only errors and highlights
+ // Default transfer limit 50 messages per Sender
+ xfer_limit = 50 * ACE_OS::strlen (complete_message);
+
+ if (argc == 1) // no arguments , so one button test
+ return 0;
+
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("x:t:o:n:p:d:h:s:v:ub"));
+ int c;
+
+ while ((c = get_opt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 'x': // xfer limit
+ xfer_limit = ACE_static_cast (size_t,
+ ACE_OS::atoi (get_opt.opt_arg ()));
+ if (xfer_limit == 0)
+ xfer_limit = 1; // Bare minimum.
+ break;
+ case 'b': // both client and server
+ both = 1;
+ break;
+ case 'v': // log level
+ loglevel = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'd': // duplex
+ duplex = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'h': // host for sender
+ host = get_opt.opt_arg ();
+ break;
+ case 'p': // port number
+ port = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'n': // thread pool size
+ threads = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 's': // number of senders
+ senders = ACE_OS::atoi (get_opt.opt_arg ());
+ if (senders > MAX_SENDERS)
+ senders = MAX_SENDERS;
+ break;
+ case 'o': // max number of aio for proactor
+ max_aio_operations = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 't': // Proactor Type
+ if (set_proactor_type (get_opt.opt_arg ()))
+ break;
+ return print_usage (argc, argv);
+ case 'u':
+ default:
+ return print_usage (argc, argv);
+ } // switch
+ } // while
+
+ if (proactor_type == SUN && threads > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Sun aiowait is not thread-safe; ")
+ ACE_TEXT ("changing to 1 thread\n")));
+ threads = 1;
+ }
+
+ return 0;
+}
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Proactor_Test_IPv6"));
+
+ if (::parse_args (argc, argv) == -1)
+ return -1;
+
+#if defined (ACE_HAS_IPV6)
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
+
+ MyTask task1;
+ Acceptor acceptor;
+ Connector connector;
+
+ int rc = 0;
+
+ if (task1.start (threads,
+ proactor_type,
+ max_aio_operations) == 0)
+ {
+
+ if (both != 0 || host == 0) // Acceptor
+ {
+ if (acceptor.open (ACE_INET_Addr (port, "::"), 0, 1) == 0)
+ rc = 1;
+ }
+
+ if (both != 0 || host != 0)
+ {
+ ACE_INET_Addr addr;
+ if (host == 0)
+ host = ACE_IPV6_LOCALHOST;
+
+ if (addr.set (port, host) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), host));
+ else
+ rc += connector.start (addr, senders);
+ }
+ }
+
+ // Wait a couple of seconds to let things get going, then poll til
+ // all sessions are done.
+ ACE_OS::sleep (2);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Sleeping til sessions run down.\n")));
+ while (acceptor.get_number_sessions () > 0 ||
+ connector.get_number_sessions () > 0 )
+ ACE_OS::sleep (1);
+
+#if 0
+ // Cancel all pending AIO on Connector and Senders
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Cancel Connector/Senders: sessions_=%d\n"),
+ connector.get_number_sessions ()
+ ));
+ connector.cancel_all ();
+#endif
+
+ //Cancel all pending AIO on Acceptor And Receivers
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Cancel Acceptor/Receivers:sessions_=%d\n"),
+ acceptor.get_number_sessions ()
+ ));
+ acceptor.cancel_all ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Stop Thread Pool Task\n")
+ ));
+ task1.stop ();
+
+ // As Proactor event loop now is inactive it is safe to destroy all
+ // Senders
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Stop Connector/Senders: sessions_=%d\n"),
+ connector.get_number_sessions ()
+ ));
+ connector.stop ();
+
+ // As Proactor event loop now is inactive it is safe to destroy all
+ // Receivers
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Stop Acceptor/Receivers:sessions_=%d\n"),
+ acceptor.get_number_sessions ()
+ ));
+ acceptor.stop ();
+
+ //Print statistic
+ ACE_TCHAR bufs [256];
+ ACE_TCHAR bufr [256];
+
+ ACE_OS::sprintf (bufs,
+ ACE_SIZE_T_FORMAT_SPECIFIER
+ ACE_TEXT ("(%ld)"),
+ connector.get_total_snd (),
+ connector.get_total_w ());
+
+ ACE_OS::sprintf (bufr,
+ ACE_SIZE_T_FORMAT_SPECIFIER
+ ACE_TEXT ("(%ld)"),
+ connector.get_total_rcv (),
+ connector.get_total_r ());
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Connector/Senders total bytes: snd=%s rcv=%s\n"),
+ bufs,
+ bufr));
+
+ ACE_OS::sprintf (bufs,
+ ACE_SIZE_T_FORMAT_SPECIFIER
+ ACE_TEXT ("(%ld)"),
+ acceptor.get_total_snd (),
+ acceptor.get_total_w ());
+
+ ACE_OS::sprintf (bufr,
+ ACE_SIZE_T_FORMAT_SPECIFIER
+ ACE_TEXT ("(%ld)"),
+ acceptor.get_total_rcv (),
+ acceptor.get_total_r ());
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Acceptor/Receivers total bytes: snd=%s rcv=%s\n"),
+ bufs,
+ bufr));
+
+#endif /* ACE_HAS_IPV6 */
+ ACE_END_TEST;
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Asynch_Acceptor<Receiver>;
+template class ACE_Asynch_Connector<Sender>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Asynch_Acceptor<Receiver>
+#pragma instantiate ACE_Asynch_Connector<Sender>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+#else
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Proactor_Test_IPV6"));
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("Threads or Asynchronous IO is unsupported.\n")
+ ACE_TEXT ("Proactor_Test_IPv6 will not be run.")));
+
+ ACE_END_TEST;
+
+ return 0;
+}
+
+#endif /* ACE_WIN32 && !ACE_HAS_WINCE || ACE_HAS_AIO_CALLS */
diff --git a/tests/Proactor_Test_IPV6.dsp b/tests/Proactor_Test_IPV6.dsp
new file mode 100644
index 00000000000..39a143c4c20
--- /dev/null
+++ b/tests/Proactor_Test_IPV6.dsp
@@ -0,0 +1,107 @@
+# Microsoft Developer Studio Project File - Name="Proactor_Test_IPV6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Proactor_Test_IPV6 - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Proactor_Test_IPV6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Proactor_Test_IPV6.mak" CFG="Proactor_Test_IPV6 - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Proactor_Test_IPV6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Proactor_Test_IPV6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Proactor_Test_IPV6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Proactor_Test_IPV6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Proactor_Test_IPV6___Win32_Release"
+# PROP BASE Intermediate_Dir "Proactor_Test_IPV6___Win32_Release"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /MD /W3 /Gm /GX /Zi /O2 /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /incremental:no /machine:I386 /libpath:"..\ace"
+# SUBTRACT LINK32 /debug
+
+!ENDIF
+
+# Begin Target
+
+# Name "Proactor_Test_IPV6 - Win32 Debug"
+# Name "Proactor_Test_IPV6 - Win32 Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Proactor_Test_IPV6.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/SOCK_Dgram_Test.cpp b/tests/SOCK_Dgram_Test.cpp
new file mode 100644
index 00000000000..3f600b18ef2
--- /dev/null
+++ b/tests/SOCK_Dgram_Test.cpp
@@ -0,0 +1,220 @@
+// // $Id$
+// ===========================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// SOCK_Dgram.cpp
+//
+// = DESCRIPTION
+// Tests that a call to open with an any address binds to the any address
+// for the protocol passed in.
+//
+// This test uses the same test setup as SOCK_Test.
+//
+// = AUTHOR
+// Brian Buesker (bbuesker@qualcomm.com)
+//
+// ==========================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_sys_wait.h"
+#include "ace/Thread.h"
+#include "ace/Thread_Manager.h"
+#include "ace/SOCK_Dgram.h"
+#include "ace/Log_Msg.h"
+#include "ace/Time_Value.h"
+#include "ace/OS_NS_unistd.h"
+
+#define SERVER_PORT 20000
+#define TEST_DATA ACE_TEXT ("UDP Open Test")
+
+static void *
+client (void *arg)
+{
+ ACE_INET_Addr *remote_addr = (ACE_INET_Addr *) arg;
+ ACE_INET_Addr server_addr, peer_addr;
+ ACE_SOCK_Dgram cli_dgram;
+ ACE_Time_Value timeout (1);
+
+ char buf[20];
+
+ ACE_TCHAR hostname_string[100];
+
+ if (remote_addr->get_type () == AF_INET)
+ {
+ server_addr.set (remote_addr->get_port_number (),
+ ACE_LOCALHOST);
+ }
+#if defined (ACE_HAS_IPV6)
+ else
+ {
+ server_addr.set (remote_addr->get_port_number(),
+ ACE_IPV6_LOCALHOST);
+ }
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) starting client UDP send\n")));
+
+ if (cli_dgram.open (ACE_Addr::sap_any, server_addr.get_type ()) == -1)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("%p\n"),
+ ACE_TEXT("open SOCK_Dgram failed for client for protocol")
+ ACE_TEXT(" = %d\n"),
+ server_addr.get_type ()));
+ }
+ else if (cli_dgram.send (TEST_DATA, sizeof (TEST_DATA), server_addr) == -1)
+ {
+ server_addr.addr_to_string (hostname_string, 100);
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("%p\n"),
+ ACE_TEXT("UDP send to %s\n"),
+ hostname_string));
+ }
+ else if (cli_dgram.recv (buf, sizeof (buf), peer_addr, 0, &timeout) == -1)
+ {
+ if (errno == ETIME)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("%p\n"),
+ ACE_TEXT("recv for UDP over IPv4 timed out")));
+ }
+ else
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("%p\n"),
+ ACE_TEXT("recv for UDP over IPv4 failed")));
+ }
+ }
+
+ cli_dgram.close();
+
+ return 0;
+}
+
+static void *
+server (void *arg)
+{
+ ACE_SOCK_Dgram *server_dgram = (ACE_SOCK_Dgram *) arg;
+
+ ACE_INET_Addr peer_addr;
+
+ char buf[20];
+ ACE_TCHAR hostname_string[100];
+
+ if (server_dgram->recv (buf, sizeof (buf), peer_addr, 0) == -1)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("%p\n"),
+ ACE_TEXT("recv for UDP over IPv6 failed")));
+ }
+ else if (server_dgram->send (TEST_DATA, sizeof (TEST_DATA),
+ peer_addr, 0) == -1)
+ {
+ peer_addr.addr_to_string (hostname_string, sizeof (hostname_string));
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("%p\n"),
+ ACE_TEXT("Server UDP send to %s failed"),
+ hostname_string));
+ }
+ server_dgram->close ();
+
+ return 0;
+}
+
+static void
+spawn (int proto)
+{
+ ACE_SOCK_Dgram server_dgram;
+
+ ACE_INET_Addr server_addr;
+
+ if (proto == AF_INET)
+ {
+ server_addr.set (SERVER_PORT,
+ ACE_LOCALHOST);
+ }
+#if defined (ACE_HAS_IPV6)
+ else
+ {
+ server_addr.set (SERVER_PORT,
+ ACE_IPV6_LOCALHOST);
+ }
+#endif /* ACE_HAS_IPV6 */
+
+ // Bind UDP server to the appropriate port
+ if (server_dgram.open (server_addr, proto) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("server open")));
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) started server at port %d\n"),
+ server_addr.get_port_number ()));
+#if !defined (ACE_LACKS_FORK)
+ switch (ACE_OS::fork ("child"))
+ {
+ case -1:
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("fork failed"),
+ 1));
+ /* NOTREACHED */
+ case 0:
+ client (&server_addr);
+ exit (0);
+ /* NOTREACHED */
+ default:
+ server ((void *) &server_dgram);
+ ACE_OS::wait ();
+ }
+#elif defined (ACE_HAS_THREADS)
+ if (ACE_Thread_Manager::instance ()->spawn
+ (ACE_THR_FUNC (server),
+ (void *) &server_dgram,
+ THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("thread create failed"),
+ 1));
+
+ if (ACE_Thread_Manager::instance ()->spawn
+ (ACE_THR_FUNC (client),
+ (void *) &server_addr,
+ THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("thread create failed"),
+ 1));
+
+ // Wait for the threads to exit.
+ ACE_Thread_Manager::instance ()->wait ();
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("(%P|%t) ")
+ ACE_TEXT ("only one thread may be run ")
+ ACE_TEXT ("in a process on this platform\n")));
+#endif /* ACE_HAS_THREADS */
+
+ server_dgram.close ();
+ }
+}
+
+int run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_UNUSED_ARG (argc);
+ ACE_UNUSED_ARG (argv);
+
+ ACE_START_TEST (ACE_TEXT ("SOCK_Dgram_Test"));
+
+ spawn (AF_INET);
+
+#if defined (ACE_HAS_IPV6)
+
+ spawn (AF_INET6);
+
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_END_TEST;
+ return 0;
+}
diff --git a/tests/SOCK_Send_Recv_Test_IPV6.cpp b/tests/SOCK_Send_Recv_Test_IPV6.cpp
new file mode 100644
index 00000000000..a38aea1c9a1
--- /dev/null
+++ b/tests/SOCK_Send_Recv_Test_IPV6.cpp
@@ -0,0 +1,399 @@
+// $Id$
+// ===========================================================================
+/**
+ * @file SOCK_Send_Recv_Test_IPV6.cpp
+ *
+ * @brief This is a test of the <ACE_SOCK>'s various send and receive
+ * methods.
+
+ * The test forks two processes or spawns two threads (depending upon
+ * the platform) and then executes client and server allowing them to
+ * connect and exchange data in ways designed to exercise the send
+ * and recv functions. Right now, it primarily tests the iov-like
+ * send and recv functions, but others should be added to completely
+ * cover the possible scenarios.
+ *
+ * @author Steve Huston <shuston@riverace.com>
+ * Brian Buesker <bbuesker@qualcomm.com>
+ */
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_sys_wait.h"
+#include "ace/Thread.h"
+#include "ace/Thread_Manager.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/SOCK_Stream.h"
+
+// Change to non-zero if test fails
+static int Test_Result = 0;
+
+#if !defined (ACE_LACKS_FORK) || defined (ACE_HAS_THREADS)
+
+// In test 3, a large amount of data is sent. The purpose is to overflow the
+// TCP send window, causing the sender to block (it's a send_n). This value
+// is the amount to send. The assumption is that no implementation has a
+// receive window larger than 128K bytes. If one is found, this is the place
+// to change it.
+// For some odd reason, NT will try to send a single large buffer, but not
+// multiple smaller ones that add up to the large size.
+const size_t Test3_Send_Size = 4*1024;
+const size_t Test3_Loops = 10;
+const size_t Test3_Total_Size = Test3_Send_Size * Test3_Loops;
+
+
+#if defined (ACE_HAS_IPV6)
+
+static void *
+client (void *arg)
+{
+ ACE_INET_Addr *remote_addr = ACE_reinterpret_cast (ACE_INET_Addr *,
+ arg);
+ ACE_INET_Addr server_addr (remote_addr->get_port_number (),
+ ACE_IPV6_LOCALHOST);
+
+ ACE_SOCK_Stream cli_stream;
+ ACE_SOCK_Connector con;
+ ACE_Time_Value timeout (ACE_DEFAULT_TIMEOUT);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Connecting to port %d\n"),
+ server_addr.get_port_number()));
+
+ // Initiate connection with server; don't wait forever
+ if (con.connect (cli_stream,
+ server_addr,
+ &timeout) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("connection failed")));
+ Test_Result = 1;
+ return 0;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) connected to %s\n"),
+ ACE_TEXT_CHAR_TO_TCHAR(server_addr.get_host_name ())));
+
+ //******************* TEST 1 ******************************
+ //
+ // Do a iovec sendv - send the 255 byte buffer in 5 chunks. The
+ // server will verify that the correct data is sent, and that there
+ // is no more and no less.
+
+ u_char buffer[255];
+ size_t i;
+ ssize_t len;
+
+ // The server will verify that this data pattern gets there intact.
+
+ for (i = 0; i < sizeof buffer; ++i)
+ buffer[i] = ACE_static_cast (u_char, i);
+
+ iovec iov[5];
+
+ iov[0].iov_base = ACE_reinterpret_cast (char *, &buffer[0]);
+ iov[0].iov_len = 50;
+
+ iov[1].iov_base = ACE_reinterpret_cast (char *, &buffer[50]);
+ iov[1].iov_len = 25;
+
+ iov[2].iov_base = ACE_reinterpret_cast (char *, &buffer[75]);
+ iov[2].iov_len = 150;
+
+ iov[3].iov_base = ACE_reinterpret_cast (char *, &buffer[225]);
+ iov[3].iov_len = 29;
+
+ iov[4].iov_base = ACE_reinterpret_cast (char *, &buffer[254]);
+ iov[4].iov_len = 1;
+
+ len = cli_stream.sendv (iov, 5);
+ if (len == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("Test 1, sendv failed")));
+ Test_Result = 1;
+ }
+ else
+ ACE_ASSERT (len == 255);
+
+ //******************* TEST 2 ******************************
+ //
+ // The same data is coming back - receive it using recv (size_t n,
+ // ...) and compare it to the original data.
+
+ u_char buffer2[255];
+ // Give it a chance to get here
+ ACE_OS::sleep (2);
+ len = cli_stream.recv (4,
+ buffer2,
+ 150,
+ &buffer2[150],
+ 105);
+ if (len != 255)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p; len is %d, but should be 255!\n"),
+ len));
+ }
+ ACE_ASSERT (len == 255);
+
+ for (i = 0; i < 255; i++)
+ if (buffer2[i] != buffer[i])
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Test 2, rcvd byte %d is %d, not %d\n"),
+ i, buffer2[i], buffer[i]));
+ Test_Result = 1;
+ }
+
+ //******************* TEST 3 ******************************
+ //
+ // Do a send_n of a large size. The receive should sleep some to
+ // cause the data reception to be delayed, which will fill up the
+ // TCP window and cause send_n to block at some point. The particular
+ // case this tests only needs to be exercised if the socket is
+ // non-blocking, so set that first.
+
+ ssize_t sent;
+ char buff[Test3_Send_Size];
+ ACE_ASSERT (cli_stream.enable (ACE_NONBLOCK) != -1);
+ for (i = 0; i < Test3_Loops; ++i)
+ {
+ errno = 0;
+ sent = cli_stream.send_n (buff, sizeof (buff));
+ if (sent != sizeof (buff) && errno != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Test 3, pass %d, sent %d, %p\n"),
+ i, sent, ACE_TEXT ("error")));
+ Test_Result = 1; // Fail
+ }
+ }
+
+ cli_stream.close ();
+
+ return 0;
+}
+
+static void *
+server (void *arg)
+{
+ ACE_SOCK_Acceptor *peer_acceptor = (ACE_SOCK_Acceptor *) arg;
+ ACE_SOCK_Stream sock_str;
+ ACE_INET_Addr cli_addr;
+ ACE_Time_Value timeout (ACE_DEFAULT_TIMEOUT);
+
+ // Accept the connection over which the stream tests will run.
+ // Don't lock up if client doesn't connect
+ if (peer_acceptor->accept (sock_str,
+ &cli_addr,
+ &timeout) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("accept")));
+ Test_Result = 1;
+ return 0;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) client %s connected from %d\n"),
+ ACE_TEXT_CHAR_TO_TCHAR(cli_addr.get_host_name ()),
+ cli_addr.get_port_number ()));
+
+ //******************* TEST 1 ******************************
+ //
+ // Do a iovec recvv - the client should send 255 bytes, which we
+ // will be detected and read into a ACE-allocated buffer. Use a 5
+ // second timeout to give the client a chance to send it all.
+
+ ACE_OS::sleep (5);
+
+ iovec iov[3];
+ u_char buffer[255];
+ ssize_t len;
+ int i;
+
+ iov[0].iov_base = ACE_reinterpret_cast (char *, &buffer[0]);
+ iov[0].iov_len = 75;
+
+ iov[1].iov_base = ACE_reinterpret_cast (char *, &buffer[75]);
+ iov[1].iov_len = 100;
+
+ iov[2].iov_base = ACE_reinterpret_cast (char *, &buffer[175]);
+ iov[2].iov_len = 80;
+
+ len = sock_str.recvv_n (iov, 3);
+ if (len == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("Test 1, recvv failed")));
+ Test_Result = 1;
+ }
+
+ ACE_ASSERT (len == 255);
+ for (i = 0; i < 255; i++)
+ if (buffer[i] != i)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Test 1, rcvd byte %d is %d, not %d\n"),
+ i,
+ buffer[i],
+ i));
+ Test_Result = 1;
+ }
+
+ //******************* TEST 2 ******************************
+ //
+ // Send the buffer back, using send (size_t n, ...) in 3 pieces.
+
+ len = sock_str.send (6,
+ buffer,
+ 42,
+ &buffer[42],
+ 189,
+ &buffer[231],
+ 24);
+ ACE_ASSERT (len == 255);
+
+ //******************* TEST 3 ******************************
+ //
+ // The sender is testing send_n to make sure it blocks if the TCP
+ // window fills. So sleep here for a bit to avoid getting the data
+ // yet. Then just read and empty out the received data.
+ ACE_OS::sleep (8);
+ // Keep reading until the peer closes.
+ sock_str.disable (ACE_NONBLOCK);
+ ssize_t got = 1;
+ size_t total_recv = 0;
+ while (got != 0)
+ {
+ errno = 0;
+ got = sock_str.recv (buffer, sizeof (buffer));
+ if (got < 0)
+ break;
+ total_recv += got;
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Test 3 received %d bytes\n"),
+ total_recv));
+
+ if (total_recv == Test3_Total_Size)
+ {
+ if (got != 0 || errno != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Test 3 final recv status %d, expected 0\n"),
+ got));
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("expected errno == 0, instead")));
+ Test_Result = 1; // Fail
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) Test 3 expected %d %p\n"),
+ Test3_Total_Size, ACE_TEXT ("bytes")));
+ Test_Result = 1;
+ }
+
+ sock_str.close();
+
+ return 0;
+}
+
+#endif /*ACE_HAS_IPV6*/
+
+#endif /* !ACE_LACKS_FORK || ACE_HAS_THREADS */
+
+#if defined (ACE_HAS_IPV6)
+static void
+spawn (void)
+{
+ // Acceptor
+ ACE_SOCK_Acceptor peer_acceptor;
+
+ // Create a server address.
+ ACE_INET_Addr server_addr;
+
+ // Bind listener to any port and then find out what the port was.
+ if (peer_acceptor.open (ACE_Addr::sap_any, 0, AF_INET6) == -1
+ || peer_acceptor.get_local_addr (server_addr) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("open")));
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) starting server at port %d\n"),
+ server_addr.get_port_number ()));
+
+#if !defined (ACE_LACKS_FORK)
+ switch (ACE_OS::fork ("child"))
+ {
+ case -1:
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("fork failed"),
+ 1));
+ /* NOTREACHED */
+ case 0:
+ client (&server_addr);
+ ACE_OS::exit (0);
+ /* NOTREACHED */
+ default:
+ server (ACE_reinterpret_cast (void *,
+ &peer_acceptor));
+ ACE_OS::wait ();
+ }
+#elif defined (ACE_HAS_THREADS)
+ if (ACE_Thread_Manager::instance ()->spawn
+ (ACE_THR_FUNC (server),
+ ACE_reinterpret_cast (void *, &peer_acceptor),
+ THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("thread create failed"),
+ 1));
+
+ if (ACE_Thread_Manager::instance ()->spawn
+ (ACE_THR_FUNC (client),
+ ACE_reinterpret_cast (void *, &server_addr),
+ THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("thread create failed"),
+ 1));
+
+ // Wait for the threads to exit.
+ ACE_Thread_Manager::instance ()->wait ();
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("(%P|%t) ")
+ ACE_TEXT ("only one thread may be run ")
+ ACE_TEXT ("in a process on this platform\n")));
+#endif /* ACE_HAS_THREADS */
+
+ peer_acceptor.close ();
+ }
+}
+
+#endif /*ACE_HAS_IPV6*/
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("SOCK_Send_Recv_Test_IPV6"));
+
+#if defined (ACE_HAS_IPV6)
+ spawn ();
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_END_TEST;
+ return Test_Result;
+}
diff --git a/tests/SOCK_Send_Recv_Test_IPV6.dsp b/tests/SOCK_Send_Recv_Test_IPV6.dsp
new file mode 100644
index 00000000000..b88da8f719d
--- /dev/null
+++ b/tests/SOCK_Send_Recv_Test_IPV6.dsp
@@ -0,0 +1,166 @@
+# Microsoft Developer Studio Project File - Name="SOCK_Send_Recv_Test_IPV6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=SOCK_Send_Recv_Test_IPV6 - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "SOCK_Send_Recv_Test_IPV6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SOCK_Send_Recv_Test_IPV6.mak" CFG="SOCK_Send_Recv_Test_IPV6 - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SOCK_Send_Recv_Test_IPV6 - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "SOCK_Send_Recv_Test_IPV6 - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SOCK_Send_Recv_Test_IPV6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SOCK_Send_Recv_Test_IPV6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SOCK_Send_Recv_Test_IPV6 - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "SOCK_Send_Recv_Test_IPV6 - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "SOCK_Send_Recv_Test_IPV6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "SOCK_Send_Recv_Test_IPV6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SOCK_Send_Recv_Test_IPV6 - Win32 Static Debug"
+# Name "SOCK_Send_Recv_Test_IPV6 - Win32 Static Release"
+# Name "SOCK_Send_Recv_Test_IPV6 - Win32 Release"
+# Name "SOCK_Send_Recv_Test_IPV6 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SOCK_Send_Recv_Test_IPV6.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/SOCK_Test_IPv6.cpp b/tests/SOCK_Test_IPv6.cpp
new file mode 100644
index 00000000000..bd92bf84173
--- /dev/null
+++ b/tests/SOCK_Test_IPv6.cpp
@@ -0,0 +1,284 @@
+// $Id$
+// ============================================================================
+/**
+ * @file SOCK_Test_IPv6.cpp
+ *
+ * @brief This is a test of the <ACE_SOCK_Acceptor> and
+ * <ACE_SOCK_Connector> classes.
+ *
+ * The test forks two processes or spawns two threads (depending upon
+ * the platform) and then executes client and server allowing them to
+ * connect and exchange data.
+ *
+ * @author Prashant Jain <pjain@cs.wustl.edu>
+ * Doug Schmidt <schmidt@cs.wustl.edu>
+ * Brian Buesker <bbuesker@qualcomm.com>
+ */
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_sys_select.h"
+#include "ace/OS_NS_sys_wait.h"
+#include "ace/Thread.h"
+#include "ace/Thread_Manager.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Handle_Set.h"
+
+static const char ACE_ALPHABET[] = "abcdefghijklmnopqrstuvwxyz";
+
+#if defined (ACE_HAS_IPV6)
+static void *
+client (void *arg)
+{
+ ACE_INET_Addr *remote_addr = (ACE_INET_Addr *) arg;
+ ACE_INET_Addr server_addr (remote_addr->get_port_number (),
+ ACE_IPV6_LOCALHOST);
+
+ ACE_SOCK_Stream cli_stream;
+ ACE_SOCK_Connector con;
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) starting non-blocking connect\n")));
+ // Initiate timed, non-blocking connection with server.
+
+ // Attempt a non-blocking connect to the server.
+ if (con.connect (cli_stream, server_addr,
+ (ACE_Time_Value *) &ACE_Time_Value::zero) == -1)
+ {
+ if (errno != EWOULDBLOCK)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("connection failed")));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) starting timed connect\n")));
+
+ // Check if non-blocking connection is in progress,
+ // and wait up to ACE_DEFAULT_TIMEOUT seconds for it to complete.
+ ACE_Time_Value tv (ACE_DEFAULT_TIMEOUT);
+
+ if (con.complete (cli_stream, &server_addr, &tv) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("connection failed")), 0);
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) connected to %s\n"),
+ ACE_TEXT_CHAR_TO_TCHAR(server_addr.get_host_name ())));
+ }
+
+ if (cli_stream.disable (ACE_NONBLOCK) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("disable")));
+
+ // Send data to server (correctly handles "incomplete writes").
+
+ for (const char *c = ACE_ALPHABET; *c != '\0'; c++)
+ if (cli_stream.send_n (c, 1) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("send_n")));
+
+ // Explicitly close the writer-side of the connection.
+ if (cli_stream.close_writer () == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("close_writer")));
+
+ char buf[1];
+
+ // Wait for handshake with server.
+ if (cli_stream.recv_n (buf, 1) != 1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("recv_n")));
+
+ // Close the connection completely.
+ if (cli_stream.close () == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("close")));
+
+ return 0;
+}
+
+static void *
+server (void *arg)
+{
+ ACE_SOCK_Acceptor *peer_acceptor = (ACE_SOCK_Acceptor *) arg;
+
+ if (peer_acceptor->enable (ACE_NONBLOCK) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("enable")));
+
+ // Keep these objects out here to prevent excessive constructor
+ // calls...
+ ACE_SOCK_Stream new_stream;
+ ACE_INET_Addr cli_addr;
+ ACE_Handle_Set handle_set;
+ const ACE_Time_Value def_timeout (ACE_DEFAULT_TIMEOUT);
+ ACE_Time_Value tv (def_timeout);
+
+ char buf[BUFSIZ];
+ const char *t = ACE_ALPHABET;
+
+ handle_set.reset ();
+ handle_set.set_bit (peer_acceptor->get_handle ());
+
+ int select_width;
+# if defined (ACE_WIN64)
+ // This arg is ignored on Windows and causes pointer truncation
+ // warnings on 64-bit compiles.
+ select_width = 0;
+# else
+ select_width = int (peer_acceptor->get_handle ()) + 1;
+# endif /* ACE_WIN64 */
+ int result = ACE_OS::select (select_width,
+ handle_set,
+ 0, 0, &tv);
+ ACE_ASSERT (tv == def_timeout);
+
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("select")), 0);
+ else if (result == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) select timed out, shutting down\n")));
+ return 0;
+ }
+
+ // Create a new ACE_SOCK_Stream endpoint (note automatic restart
+ // if errno == EINTR).
+
+ while ((result = peer_acceptor->accept (new_stream, &cli_addr)) != -1)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) client %s connected from %d\n"),
+ ACE_TEXT_CHAR_TO_TCHAR(cli_addr.get_host_name ()), cli_addr.get_port_number ()));
+
+ // Enable non-blocking I/O.
+ if (new_stream.enable (ACE_NONBLOCK) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("enable")), 0);
+
+ handle_set.reset ();
+ handle_set.set_bit (new_stream.get_handle ());
+
+ // Read data from client (terminate on error).
+ int select_width;
+ for (ssize_t r_bytes; ;)
+ {
+# if defined (ACE_WIN64)
+ // This arg is ignored on Windows and causes pointer truncation
+ // warnings on 64-bit compiles.
+ select_width = 0;
+# else
+ select_width = int (new_stream.get_handle ()) + 1;
+# endif /* ACE_WIN64 */
+ if (ACE_OS::select (select_width,
+ handle_set,
+ 0, 0, 0) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("select")), 0);
+
+ while ((r_bytes = new_stream.recv (buf, 1)) > 0)
+ {
+ ACE_ASSERT (*t == buf[0]);
+ t++;
+ }
+
+ if (r_bytes == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) reached end of input, connection closed by client\n")));
+
+ // Handshake back with client.
+ if (new_stream.send_n ("", 1) != 1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("send_n")));
+
+ // Close endpoint.
+ if (new_stream.close () == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("close")));
+ return 0;
+ }
+ else if (r_bytes == -1)
+ {
+ if (errno == EAGAIN || errno == EWOULDBLOCK)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) no input available, going back to reading\n")));
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("recv_n")), 0);
+ }
+ }
+ }
+
+ if (result == -1)
+ {
+ if (errno == EWOULDBLOCK)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) no connections available, shutting down\n")));
+ else
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("accept")));
+ }
+
+ return 0;
+}
+
+static void
+spawn (void)
+{
+ // Acceptor
+ ACE_SOCK_Acceptor peer_acceptor;
+
+ // Create a server address.
+ ACE_INET_Addr server_addr;
+
+ // Bind listener to any port and then find out what the port was.
+ if (peer_acceptor.open (ACE_Addr::sap_any, 0, AF_INET6) == -1
+ || peer_acceptor.get_local_addr (server_addr) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("open")));
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) starting server at port %d\n"),
+ server_addr.get_port_number ()));
+
+#if !defined (ACE_LACKS_FORK)
+ switch (ACE_OS::fork ("child"))
+ {
+ case -1:
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("fork failed"),
+ 1));
+ /* NOTREACHED */
+ case 0:
+ client (&server_addr);
+ exit (0);
+ /* NOTREACHED */
+ default:
+ server ((void *) &peer_acceptor);
+ ACE_OS::wait ();
+ }
+#elif defined (ACE_HAS_THREADS)
+ if (ACE_Thread_Manager::instance ()->spawn
+ (ACE_THR_FUNC (server),
+ (void *) &peer_acceptor,
+ THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("thread create failed"),
+ 1));
+
+ if (ACE_Thread_Manager::instance ()->spawn
+ (ACE_THR_FUNC (client),
+ (void *) &server_addr,
+ THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n%a"),
+ ACE_TEXT ("thread create failed"),
+ 1));
+
+ // Wait for the threads to exit.
+ ACE_Thread_Manager::instance ()->wait ();
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("(%P|%t) ")
+ ACE_TEXT ("only one thread may be run ")
+ ACE_TEXT ("in a process on this platform\n")));
+#endif /* ACE_HAS_THREADS */
+
+ peer_acceptor.close ();
+ }
+}
+#endif /*ACE_HAS_IPV6*/
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("SOCK_Test_IPv6"));
+
+#if defined (ACE_HAS_IPV6)
+ spawn ();
+#endif /* ACE_HAS_IPV6 */
+
+ ACE_END_TEST;
+ return 0;
+}
diff --git a/tests/SOCK_Test_IPv6.dsp b/tests/SOCK_Test_IPv6.dsp
new file mode 100644
index 00000000000..842a5e9c349
--- /dev/null
+++ b/tests/SOCK_Test_IPv6.dsp
@@ -0,0 +1,166 @@
+# Microsoft Developer Studio Project File - Name="SOCK_Test_IPv6" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=SOCK_Test_IPv6 - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "SOCK_Test_IPv6.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SOCK_Test_IPv6.mak" CFG="SOCK_Test_IPv6 - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SOCK_Test_IPv6 - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "SOCK_Test_IPv6 - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SOCK_Test_IPv6 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SOCK_Test_IPv6 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SOCK_Test_IPv6 - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "SOCK_Test_IPv6 - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "SOCK_Test_IPv6 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "SOCK_Test_IPv6 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SOCK_Test_IPv6 - Win32 Static Debug"
+# Name "SOCK_Test_IPv6 - Win32 Static Release"
+# Name "SOCK_Test_IPv6 - Win32 Release"
+# Name "SOCK_Test_IPv6 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SOCK_Test_IPv6.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/SSL/Makefile.am b/tests/SSL/Makefile.am
new file mode 100644
index 00000000000..46ac10a96c5
--- /dev/null
+++ b/tests/SSL/Makefile.am
@@ -0,0 +1,52 @@
+##----------------------------------------------------------------------------
+## $Id$
+##
+## Makefile.am for all the ACE_SSL ``one-button'' tests
+##----------------------------------------------------------------------------
+
+##
+## Process this file with automake to create Makefile.in
+##
+
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) @ACE_TLS_CPPFLAGS@
+
+noinst_PROGRAMS = Thread_Pool_Reactor_SSL_Test
+
+Thread_Pool_Reactor_SSL_Test_SOURCES = \
+ Thread_Pool_Reactor_SSL_Test.h \
+ Thread_Pool_Reactor_SSL_Test.cpp \
+ Main.cpp
+
+Thread_Pool_Reactor_SSL_Test_LDADD = \
+ $(top_builddir)/tests/libTest_Output.la \
+ $(top_builddir)/ace/SSL/libACE_SSL.la
+
+noinst_DATA = \
+ dummy.pem \
+ key.pem
+
+EXTRA_DIST = \
+ dummy.pem \
+ key.pem
+
+## Automake recognized target. Appends these rules to the "all"
+## target.
+all-local:
+ for p in $(noinst_DATA); do \
+ test -f $$p \
+ || $(LN_S) $(srcdir)/$$p $$p; done
+ touch tests-link-stamp
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *.bak *.rpo *.sym lib*.*_pure_* Makefile.old core core.*
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf Templates.DB gcctemp.c gcctemp so_locations *.ics
+ -rm -rf templateregistry SunWS_cache ir.out
+
+
+## Clean up files and directories created by this Makefile.
+distclean-local:
+ -test -f tests-link-stamp \
+ && rm $(noinst_DATA) tests-link-stamp
+ -rm -rf log
diff --git a/tests/TSS_Static_Test.cpp b/tests/TSS_Static_Test.cpp
new file mode 100644
index 00000000000..40e0b6d9e57
--- /dev/null
+++ b/tests/TSS_Static_Test.cpp
@@ -0,0 +1,113 @@
+// $Id$
+
+// ============================================================================
+//
+// = FILENAME
+// TSS_Static_Test.cpp
+//
+// = DESCRIPTION
+// This program tests the interaction between TSS and thread keys
+// created during static construction. VxWorks static construction
+// is quite broken. This test is designed to test changes to work
+// around a bug in the VxWorks loader that constructs static objects
+// multiple times. It sounds hard to believe, but I've seen it!
+//
+// = AUTHOR
+// Chad Elliott <elliott_c@ociweb.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/ACE.h"
+#include "ace/Thread.h"
+
+ACE_RCSID(tests, TSS_Static_Test, "$Id$")
+
+#if defined (ACE_HAS_TSS_EMULATION)
+
+class Some_Object
+{
+public:
+ Some_Object (void);
+ ~Some_Object (void);
+};
+
+Some_Object::Some_Object (void)
+{
+ ACE::init ();
+
+ // Cause the ACE_Log_Msg to be constructed during static construction
+ ACE_DEBUG ((LM_DEBUG, ""));
+
+ // Assign something to TSS during static construction
+ ACE_thread_key_t key;
+ if (ACE_Thread::keycreate (&key, 0) == 0)
+ {
+ ACE_Thread::setspecific (key, this);
+ }
+}
+
+
+Some_Object::~Some_Object (void)
+{
+ ACE::fini ();
+}
+
+
+static Some_Object sobject;
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("TSS_Static_Test"));
+
+ int status = 0;
+ ACE_thread_key_t key;
+ if (ACE_Thread::keycreate (&key, 0) == 0)
+ {
+ void* specific = 0;
+ if (ACE_Thread::getspecific (key, &specific) == 0)
+ {
+ if (specific == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Got back pointer: %x from key: %d. "
+ "Good!\n",
+ (size_t)specific, key));
+ }
+ else
+ {
+ ++status;
+ ACE_ERROR ((LM_ERROR, "Something (%x) was found in tss "
+ "slot %d.\n"
+ "Nothing should be stored in our "
+ "TSS slot!\n",
+ (size_t)specific, key));
+ }
+ }
+ else
+ {
+ ++status;
+ ACE_ERROR ((LM_ERROR, "Unable to get the thread specific "
+ "storage.\n"));
+ }
+ }
+ else
+ {
+ ++status;
+ ACE_ERROR ((LM_ERROR, "Unable to create the thread specific "
+ "storage key.\n"));
+ }
+ ACE_END_TEST;
+ return status;
+}
+#else
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("TSS_Static_Test"));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("This test requires TSS Emulation.\n")));
+ ACE_END_TEST;
+ return 0;
+}
+#endif /* ACE_HAS_TSS_EMULATION */
+
diff --git a/tests/TSS_Static_Test.dsp b/tests/TSS_Static_Test.dsp
new file mode 100644
index 00000000000..9ff57e0bb7b
--- /dev/null
+++ b/tests/TSS_Static_Test.dsp
@@ -0,0 +1,165 @@
+# Microsoft Developer Studio Project File - Name="TSS_Static_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=TSS_Static_Test - Win32 Static Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TSS_Static_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TSS_Static_Test.mak" CFG="TSS_Static_Test - Win32 Static Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TSS_Static_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "TSS_Static_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "TSS_Static_Test - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "TSS_Static_Test - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TSS_Static_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "TSS_Static_Test___Win32_Release"
+# PROP BASE Intermediate_Dir "TSS_Static_Test___Win32_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "TSS_Static_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "TSS_Static_Test___Win32_Debug"
+# PROP BASE Intermediate_Dir "TSS_Static_Test___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "TSS_Static_Test - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "TSS_Static_Test___Win32_Static_Debug"
+# PROP BASE Intermediate_Dir "TSS_Static_Test___Win32_Static_Debug"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "TSS_Static_Test - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "TSS_Static_Test___Win32_Static_Release"
+# PROP BASE Intermediate_Dir "TSS_Static_Test___Win32_Static_Release"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TSS_Static_Test - Win32 Release"
+# Name "TSS_Static_Test - Win32 Debug"
+# Name "TSS_Static_Test - Win32 Static Debug"
+# Name "TSS_Static_Test - Win32 Static Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\TSS_Static_Test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/Task_Ex_Test.cpp b/tests/Task_Ex_Test.cpp
new file mode 100644
index 00000000000..1b8d4f97322
--- /dev/null
+++ b/tests/Task_Ex_Test.cpp
@@ -0,0 +1,165 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Task_Ex_Test.cpp
+//
+// = DESCRIPTION
+// This test program illustrates the ACE_Task_Ex class which has the ACE_Message_Queue_Ex
+// that has the capability to hold user-defined messages instead of ACE_Message_Block
+//
+//
+// = AUTHOR
+// Kobi Cohen-Arazi <kobi-co@barak-online.net>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "Task_Ex_Test.h"
+#include "ace/Task_Ex_T.h"
+#include "ace/Log_Msg.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(tests, Task_Test_Ex, "$Id$")
+
+#if defined (ACE_HAS_THREADS)
+
+/// default params
+const ACE_INT32 PRODUCER_THREADS_NO=20;
+const ACE_INT32 CONSUMER_THREADS_NO=20;
+const ACE_INT32 NUMBER_OF_MSGS=2000;
+
+/// @class Consumer consumes user defined Msgs
+class Consumer : public ACE_Task_Ex<ACE_MT_SYNCH, User_Defined_Msg>
+{
+public:
+ /// activate/spawn the threads.
+ int open (void*);
+
+ /// svc thread entry point
+ virtual int svc (void);
+private:
+
+};
+
+int Consumer::open (void*)
+{
+ if(this->activate (THR_NEW_LWP | THR_JOINABLE,
+ CONSUMER_THREADS_NO)==-1)
+ {
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT("Consumer::open Error spanwing thread %p\n"),
+ "err="),
+ -1);
+ }
+ return 0;
+}
+
+int Consumer::svc ()
+{
+ User_Defined_Msg* pMsg=0;
+ while(this->getq (pMsg)!=-1)
+ {
+ ACE_ASSERT (pMsg!=0);
+ auto_ptr<User_Defined_Msg> pAuto(pMsg);
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("Consumer::svc got msg id=%d\n"),
+ pMsg->msg_id ()));
+ if(pMsg->msg_id ()==NUMBER_OF_MSGS-1)
+ break;
+ }
+
+ ACE_DEBUG((LM_INFO,
+ ACE_TEXT("Consumer::svc ended thread %t\n")));
+
+ return 0;
+}
+
+
+/// producer function produces user defined messages.
+ACE_THR_FUNC_RETURN producer (void *arg)
+{
+ Consumer* c = ACE_static_cast (Consumer*, arg);
+ ACE_ASSERT(c!=0);
+ if (c==0)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("producer Error casting to consumer\n")));
+ return (ACE_THR_FUNC_RETURN)-1;
+ }
+ for (int i=0;i!=NUMBER_OF_MSGS;++i)
+ {
+ User_Defined_Msg* pMsg=0;
+ ACE_NEW_NORETURN(pMsg, User_Defined_Msg(i));
+ if (pMsg==0)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("producer Error allocating data %p\n"),
+ "err="));
+ return (ACE_THR_FUNC_RETURN)-1;
+ }
+ if(c->putq (pMsg)==-1)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("producer Error putq data %p\n"),
+ "err="));
+ return (ACE_THR_FUNC_RETURN)-1;
+ }
+ }
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Task_Ex <ACE_MT_SYNCH, User_Defined_Msg>;
+template class ACE_Message_Queue_Ex <User_Defined_Msg, ACE_MT_SYNCH>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Task_Ex <ACE_MT_SYNCH, User_Defined_Msg>
+#pragma instantiate ACE_Message_Queue_Ex <User_Defined_Msg, ACE_MT_SYNCH>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+
+#endif /* ACE_HAS_THREADS */
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Task_Ex_Test"));
+
+#if defined (ACE_HAS_THREADS)
+
+ Consumer c;
+ if(c.open (0)==-1)
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT ("main Error opening consumer\n")),-1);
+
+
+ int result=ACE_Thread_Manager::instance()->spawn_n (PRODUCER_THREADS_NO,
+ ACE_THR_FUNC(producer),
+ ACE_static_cast(void*,&c));
+ if (result==-1)
+ {
+ ACE_ERROR_RETURN((LM_ERROR,
+ ACE_TEXT ("main Error spawning threads %p\n"),
+ "err="),-1);
+ }
+
+ // wait all threads
+ int wait_result=ACE_Thread_Manager::instance()->wait();
+ if (wait_result==-1)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("main Error Thread_Manager->wait %p\n"),
+ "err="));
+ return -1;
+ }
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("threads not supported on this platform\n")));
+#endif /* ACE_HAS_THREADS */
+ ACE_END_TEST;
+ return 0;
+}
diff --git a/tests/Task_Ex_Test.dsp b/tests/Task_Ex_Test.dsp
new file mode 100644
index 00000000000..d0073ffb1cc
--- /dev/null
+++ b/tests/Task_Ex_Test.dsp
@@ -0,0 +1,170 @@
+# Microsoft Developer Studio Project File - Name="Task_Ex_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Task_Ex_Test - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Task_Ex_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Task_Ex_Test.mak" CFG="Task_Ex_Test - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Task_Ex_Test - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Task_Ex_Test - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Task_Ex_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Task_Ex_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Task_Ex_Test - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 user32.lib acesd.lib advapi32.lib Test_Outputsd.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Task_Ex_Test - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 user32.lib aces.lib advapi32.lib Test_Outputs.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Task_Ex_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib Test_Output.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Task_Ex_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib Test_Outputd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Task_Ex_Test - Win32 Static Debug"
+# Name "Task_Ex_Test - Win32 Static Release"
+# Name "Task_Ex_Test - Win32 Release"
+# Name "Task_Ex_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Task_Ex_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\Task_Ex_Test.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/Task_Ex_Test.h b/tests/Task_Ex_Test.h
new file mode 100644
index 00000000000..c7092a5e808
--- /dev/null
+++ b/tests/Task_Ex_Test.h
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Task_Ex_Test.h
+ *
+ * $Id$
+ *
+ * Define class needed for generating templates. IBM C++ requires this
+ * to be in its own file for auto template instantiation.
+ *
+ * @author Kobi Cohen-Arazi <kobi-co@barak-online.net>
+ */
+//=============================================================================
+
+#ifndef ACE_TESTS_TASK_EX_TEST_H
+#define ACE_TESTS_TASK_EX_TEST_H
+
+#include "ace/Basic_Types.h"
+
+class User_Defined_Msg
+{
+public:
+ /// c'tor sets the msg id
+ User_Defined_Msg (ACE_INT32 id) : msg_id_ (id)
+ {}
+ /// accessors to msg_id_
+ ACE_INT32 msg_id () const {return msg_id_;}
+private:
+ /// keep the msg id here
+ ACE_INT32 msg_id_;
+};
+
+#endif /* ACE_TESTS_TASK_EX_TEST_H */
diff --git a/tests/Task_Ex_Test.icc b/tests/Task_Ex_Test.icc
new file mode 100644
index 00000000000..5c7ead80b35
--- /dev/null
+++ b/tests/Task_Ex_Test.icc
@@ -0,0 +1,22 @@
+// $Id$
+
+include "vacpp_setup.icc"
+option
+ link(libSearchPath, platformLibSearchPath),
+ incl(searchPath, ".."),
+ link(linkWithMultiThreadLib,yes),
+ link(debug)
+ {
+ target type (exe) "Task_Ex_Test"
+ {
+ source type (cpp) "Task_Ex_Test.cpp"
+ if ($__IBMCPP__ >= 500) {
+ option macros(global) {
+ source type (hpp) "test_config.h"
+ }
+ source type (cpp) "test_config.h"
+ source type (cpp) "../ace/Singleton.cpp"
+ }
+ source type (lib) platformLinkLibs
+ }
+ }
diff --git a/tests/aix_hack_for_main.cpp b/tests/aix_hack_for_main.cpp
new file mode 100644
index 00000000000..1f962c360af
--- /dev/null
+++ b/tests/aix_hack_for_main.cpp
@@ -0,0 +1,32 @@
+// $Id$
+
+//=============================================================================
+/**
+ * @file aix_hack_for_main.cpp
+ *
+ * $Id$
+ *
+ * This file is simply to force the Makefile to compile Main.cpp
+ * before it's needed in a test program that requires templates.
+ * Why is this needed? Because AIX Visual Age C++ has a template
+ * instantiation mechanism unlike any other in the way it remembers
+ * where templates are needed. We've previously worked around this
+ * by forcibly deleting the tempinc directory before compiling each
+ * test's source file. This worked because every test was in one file.
+ * When Main.cpp was added, this broke the scheme. This file simply
+ * gets Main.cpp to compile, then the resulting Main.o can be reused
+ * for each test, and it's again safe to delete the tempinc directory
+ * before each test compile.
+ * Hopefully, MPC will save us from this wretchedness...
+ *
+ * @author Steve Huston <shuston@riverace.com>
+ */
+//=============================================================================
+
+#include "test_config.h"
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ return 0;
+}