summaryrefslogtreecommitdiff
path: root/TAO/CIAO
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO')
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp6
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.hpp8
-rw-r--r--TAO/CIAO/CIAOTAO.mwc1
-rw-r--r--TAO/CIAO/CIDLC/CIDLC.mpc7
-rw-r--r--TAO/CIAO/CIDLC/CIDLC.vcproj433
-rw-r--r--TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp10
-rw-r--r--TAO/CIAO/CIDLC/Literals.cpp4
-rw-r--r--TAO/CIAO/CIDLC/Literals.hpp2
-rw-r--r--TAO/CIAO/CIDLC/RepositoryIdGenerator.cpp255
-rw-r--r--TAO/CIAO/CIDLC/RepositoryIdGenerator.hpp2
-rw-r--r--TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp553
-rw-r--r--TAO/CIAO/CIDLC/ServantSourceGenerator.cpp1330
-rw-r--r--TAO/CIAO/CIDLC/TypeNameEmitter.cpp686
-rw-r--r--TAO/CIAO/CIDLC/TypeNameEmitter.hpp142
-rw-r--r--TAO/CIAO/CIDLC/cidlc.cpp19
-rw-r--r--TAO/CIAO/ChangeLog955
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Basic_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CAD_Handler.h13
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CEPE_Handler.h4
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CPK_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CPR_Handler.h4
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Cap_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CompIntrDesc_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CompPkgDesc_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Config_Error_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Config_Handlers.mpc46
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/DT_Handler.h1
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Deployment.h17
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/DnC_Dump.h4
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Domain_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/ERE_Handler.h4
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/IAD_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/ID_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/IR_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/MID_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/NIA_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/PCI_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/PC_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Plan_Handler.h12
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Process_Element.h4
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Property_Handler.h6
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/RS_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/RUK_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Requirement_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/SPK_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/SP_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/TPD_Handler.h2
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Utils.h2
-rw-r--r--TAO/CIAO/DAnCE/ExecutionManager/ExecutionManager_Impl.h2
-rw-r--r--TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager.cpp48
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp5
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp66
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h43
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp65
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp18
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h4
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/Repository_Manager.cpp25
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.cpp615
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h163
-rw-r--r--TAO/CIAO/DAnCE/ciao/CCM_Container.idl2
-rw-r--r--TAO/CIAO/DAnCE/ciao/CCM_Core.mpc25
-rw-r--r--TAO/CIAO/DAnCE/ciao/ComponentsC.h2
-rw-r--r--TAO/CIAO/DAnCE/ciao/Container_Base.cpp687
-rw-r--r--TAO/CIAO/DAnCE/ciao/Container_Base.h101
-rw-r--r--TAO/CIAO/DAnCE/ciao/Container_Base.inl10
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp425
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.h134
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp196
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h43
-rw-r--r--TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.cpp201
-rw-r--r--TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.h12
-rw-r--r--TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.i196
-rw-r--r--TAO/CIAO/DAnCE/tests/Config_Handlers/handler_test.mpb9
-rw-r--r--TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc11
-rw-r--r--TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp3
-rw-r--r--TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h3
-rwxr-xr-xTAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test.pl2
-rwxr-xr-xTAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_ex.pl2
-rwxr-xr-xTAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_simple.pl2
-rw-r--r--TAO/CIAO/NEWS3
-rw-r--r--TAO/CIAO/PROBLEM-REPORT-FORM34
-rw-r--r--TAO/CIAO/ciao/CCM_Container.idl2
-rw-r--r--TAO/CIAO/ciao/CCM_Core.mpc20
-rw-r--r--TAO/CIAO/ciao/ComponentsC.h2
-rw-r--r--TAO/CIAO/ciao/Container_Base.cpp673
-rw-r--r--TAO/CIAO/ciao/Container_Base.h114
-rw-r--r--TAO/CIAO/ciao/Container_Base.inl8
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_Base.cpp438
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_Base.h147
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_T.cpp196
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_T.h44
-rw-r--r--TAO/CIAO/docs/schema/Modified_Deployment.xsd29
-rw-r--r--TAO/CIAO/docs/schema/cdp.xsd29
-rw-r--r--TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp1
-rw-r--r--TAO/CIAO/performance-tests/Benchmark/Benchmark.mpc4
-rw-r--r--TAO/CIAO/performance-tests/Protocols/Receiver/Receiver.mpc4
-rw-r--r--TAO/CIAO/performance-tests/Protocols/Sender/Sender.mpc2
-rw-r--r--TAO/CIAO/tests/CIDL/CodeGen/CodeGen.mpc23
-rw-r--r--TAO/CIAO/tests/IDL3/Events/Abstract/Abstract.idl4
-rw-r--r--TAO/CIAO/tests/IDL3/Homes/Basic/Basic.mpc4
-rw-r--r--TAO/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl2
-rw-r--r--TAO/CIAO/tests/RTCCM/DiffServ/Receiver/Receiver.mpc8
-rw-r--r--TAO/CIAO/tests/RTCCM/DiffServ/Sender/Sender_exec.cpp162
-rw-r--r--TAO/CIAO/tools/Daemon/README4
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h5
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc6
106 files changed, 3227 insertions, 6431 deletions
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp
index 5008a43f5d8..3f1f1761bb8 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Elements.hpp
@@ -224,13 +224,13 @@ namespace CCF
/*
- Let me know if you need this function.
+ Let me know if you need this function.
ScopedName
eponym () const
{
}
- */
+ */
public:
static Introspection::TypeInfo const&
@@ -460,7 +460,7 @@ namespace CCF
}
void
- add_edge_right (Extends&)
+ add_edge_right (Extends& e)
{
}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.hpp
index 1318ef3c5ef..745e017f9f9 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Elements.hpp
@@ -324,7 +324,7 @@ namespace CCF
}
virtual void
- pre (Type&)
+ pre (Type& e)
{
}
@@ -335,12 +335,12 @@ namespace CCF
}
virtual void
- name (Type&)
+ name (Type& e)
{
}
virtual void
- post (Type&)
+ post (Type& e)
{
}
};
@@ -395,7 +395,7 @@ namespace CCF
public:
/* GCC#13590/DR#39
using Node<T>::edge_traverser;
- */
+ */
virtual void
traverse (T& s)
diff --git a/TAO/CIAO/CIAOTAO.mwc b/TAO/CIAO/CIAOTAO.mwc
index 263b2ca181f..e3990dd3245 100644
--- a/TAO/CIAO/CIAOTAO.mwc
+++ b/TAO/CIAO/CIAOTAO.mwc
@@ -14,5 +14,4 @@ workspace {
DAnCE
ciao
tools
- tests
}
diff --git a/TAO/CIAO/CIDLC/CIDLC.mpc b/TAO/CIAO/CIDLC/CIDLC.mpc
index 87e965a1942..e656af7e913 100644
--- a/TAO/CIAO/CIDLC/CIDLC.mpc
+++ b/TAO/CIAO/CIDLC/CIDLC.mpc
@@ -6,16 +6,11 @@ project(CIDLC) {
includes += .. ../CCF
after += IDL2 IDL3 CIDL CodeGenerationKit CompilerElements
install = ../bin
- libpaths += ../CCF/CCF ../../../lib
+ libpaths += ../CCF/CCF
libs += CIDL IDL3 IDL2 CodeGenerationKit CompilerElements
Source_Files {
ExecutorMappingGenerator.cpp
DescriptorGenerator.cpp
- ExecImplGenerator.cpp
- ExecImplHeaderGenerator.cpp
- ExecImplSourceGenerator.cpp
- ExecutorMappingGenerator.cpp
- RepositoryIdGenerator.cpp
SizeTypeCalculator.cpp
ServantGenerator.cpp
ServantHeaderGenerator.cpp
diff --git a/TAO/CIAO/CIDLC/CIDLC.vcproj b/TAO/CIAO/CIDLC/CIDLC.vcproj
index 511dc643b53..dda9630e47a 100644
--- a/TAO/CIAO/CIDLC/CIDLC.vcproj
+++ b/TAO/CIAO/CIDLC/CIDLC.vcproj
@@ -1,225 +1,208 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="CIDLC"
- ProjectGUID="{8F2A74C0-C995-4BE2-8FD7-538F64BF98FD}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="../bin"
- IntermediateDirectory="$(ProjectDir)/Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/wd4290 /wd4800 /wd4250 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories="..,../CCF"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_REGEX_NO_LIB;BOOST_REGEX_STATIC_LINK"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- 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/CCF/CompilerElements;../CCF/CCF/CodeGenerationKit;../CCF/CCF/IDL2;../CCF/CCF/IDL3;../CCF/CCF/CIDL"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/CIDLC.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="..,../CCF"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- 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/CCF/CompilerElements;../CCF/CCF/CodeGenerationKit;../CCF/CCF/IDL2;../CCF/CCF/IDL3;../CCF/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=".\DescriptorGenerator.cpp">
- </File>
- <File
- RelativePath=".\ExecImplGenerator.cpp">
- </File>
- <File
- RelativePath=".\ExecImplHeaderGenerator.cpp">
- </File>
- <File
- RelativePath=".\ExecImplSourceGenerator.cpp">
- </File>
- <File
- RelativePath=".\ExecutorMappingGenerator.cpp">
- </File>
- <File
- RelativePath=".\Literals.cpp">
- </File>
- <File
- RelativePath=".\RepositoryIdGenerator.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ServantGenerator.cpp">
- </File>
- <File
- RelativePath=".\ServantHeaderGenerator.cpp">
- </File>
- <File
- RelativePath=".\ServantSourceGenerator.cpp">
- </File>
- <File
- RelativePath=".\SizeTypeCalculator.cpp">
- </File>
- <File
- RelativePath=".\TypeNameEmitter.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\Collectors.hpp">
- </File>
- <File
- RelativePath=".\DescriptorGenerator.hpp">
- </File>
- <File
- RelativePath=".\ExecImplGenerator.hpp">
- </File>
- <File
- RelativePath=".\ExecImplHeaderGenerator.hpp">
- </File>
- <File
- RelativePath=".\ExecImplSourceGenerator.hpp">
- </File>
- <File
- RelativePath=".\ExecutorMappingGenerator.hpp">
- </File>
- <File
- RelativePath=".\Literals.hpp">
- </File>
- <File
- RelativePath=".\RepositoryIdGenerator.hpp">
- </File>
- <File
- RelativePath=".\ServantGenerator.hpp">
- </File>
- <File
- RelativePath=".\ServantHeaderGenerator.hpp">
- </File>
- <File
- RelativePath=".\ServantSourceGenerator.hpp">
- </File>
- <File
- RelativePath=".\SizeTypeCalculator.hpp">
- </File>
- <File
- RelativePath=".\TypeNameEmitter.hpp">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="CIDLC"
+ ProjectGUID="{8F2A74C0-C995-4BE2-8FD7-538F64BF98FD}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="../bin"
+ IntermediateDirectory="$(ProjectDir)/Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/wd4290 /wd4800 /wd4250 /wd4355"
+ Optimization="0"
+ AdditionalIncludeDirectories="..,../CCF"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_REGEX_NO_LIB;BOOST_REGEX_STATIC_LINK"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ ForceConformanceInForLoopScope="TRUE"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ 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/CCF/CompilerElements;../CCF/CCF/CodeGenerationKit;../CCF/CCF/IDL2;../CCF/CCF/IDL3;../CCF/CCF/CIDL"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/CIDLC.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="..,../CCF"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ ForceConformanceInForLoopScope="TRUE"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ 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/CCF/CompilerElements;../CCF/CCF/CodeGenerationKit;../CCF/CCF/IDL2;../CCF/CCF/IDL3;../CCF/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=".\DescriptorGenerator.cpp">
+ </File>
+ <File
+ RelativePath=".\ExecutorMappingGenerator.cpp">
+ </File>
+ <File
+ RelativePath=".\Literals.cpp">
+ </File>
+ <File
+ RelativePath=".\RepositoryIdGenerator.cpp">
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="TRUE">
+ <Tool
+ Name="VCCLCompilerTool"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="TRUE">
+ <Tool
+ Name="VCCLCompilerTool"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\ServantGenerator.cpp">
+ </File>
+ <File
+ RelativePath=".\ServantHeaderGenerator.cpp">
+ </File>
+ <File
+ RelativePath=".\ServantSourceGenerator.cpp">
+ </File>
+ <File
+ RelativePath=".\SizeTypeCalculator.cpp">
+ </File>
+ <File
+ RelativePath=".\TypeNameEmitter.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\Collectors.hpp">
+ </File>
+ <File
+ RelativePath=".\DescriptorGenerator.hpp">
+ </File>
+ <File
+ RelativePath=".\ExecutorMappingGenerator.hpp">
+ </File>
+ <File
+ RelativePath=".\Literals.hpp">
+ </File>
+ <File
+ RelativePath=".\RepositoryIdGenerator.hpp">
+ </File>
+ <File
+ RelativePath=".\ServantGenerator.hpp">
+ </File>
+ <File
+ RelativePath=".\ServantHeaderGenerator.hpp">
+ </File>
+ <File
+ RelativePath=".\ServantSourceGenerator.hpp">
+ </File>
+ <File
+ RelativePath=".\SizeTypeCalculator.hpp">
+ </File>
+ <File
+ RelativePath=".\TypeNameEmitter.hpp">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp b/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp
index cd940a233ee..41856f9d4d6 100644
--- a/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp
+++ b/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp
@@ -991,19 +991,19 @@ namespace
}
virtual void
- pre (InParameter&)
+ pre (InParameter& p)
{
os << "in ";
}
virtual void
- pre (OutParameter&)
+ pre (OutParameter& p)
{
os << "out ";
}
virtual void
- pre (InOutParameter&)
+ pre (InOutParameter& p)
{
os << "inout ";
}
@@ -1119,7 +1119,7 @@ namespace
}
virtual void
- names (Type&)
+ names (Type& h)
{
os << "{"
<< STRS[COMP_EC] << " "
@@ -1464,7 +1464,7 @@ namespace
}
virtual void
- implements (Type&)
+ implements (Type& i)
{
// os << " : ";
diff --git a/TAO/CIAO/CIDLC/Literals.cpp b/TAO/CIAO/CIDLC/Literals.cpp
index 3055be54d61..221ac34925b 100644
--- a/TAO/CIAO/CIDLC/Literals.cpp
+++ b/TAO/CIAO/CIDLC/Literals.cpp
@@ -79,9 +79,7 @@ namespace StringLiterals
"// Your code here.", // YCH
"//==================================================================", // SEP
- "variable-size", // VAR_SIZE
- "_ciao_extract_val", // EXTRACT
- "_ciao_extract_tmp" // EXTRACT_TMP
+ "variable-size" // VAR_SIZE
};
}
diff --git a/TAO/CIAO/CIDLC/Literals.hpp b/TAO/CIAO/CIDLC/Literals.hpp
index 88803330609..d173026fa2f 100644
--- a/TAO/CIAO/CIDLC/Literals.hpp
+++ b/TAO/CIAO/CIDLC/Literals.hpp
@@ -49,8 +49,6 @@ namespace StringLiterals
YCH,
SEP,
VAR_SIZE,
- EXTRACT,
- EXTRACT_TMP,
SIZE
};
diff --git a/TAO/CIAO/CIDLC/RepositoryIdGenerator.cpp b/TAO/CIAO/CIDLC/RepositoryIdGenerator.cpp
index 796f2ef848e..7746dac71b5 100644
--- a/TAO/CIAO/CIDLC/RepositoryIdGenerator.cpp
+++ b/TAO/CIAO/CIDLC/RepositoryIdGenerator.cpp
@@ -6,124 +6,54 @@
#include "Literals.hpp"
#include "CCF/CompilerElements/Diagnostic.hpp"
+
+#include "CCF/CIDL/SemanticGraph.hpp"
#include "CCF/CIDL/Traversal.hpp"
-#include "CCF/CodeGenerationKit/Regex.hpp"
using namespace CCF::CIDL;
-using namespace CCF::CIDL::SemanticGraph;
-using namespace StringLiterals;
-using namespace std;
+using namespace SyntaxTree;
namespace
{
- string
- name_to_string (Name const& n)
- {
- ostringstream os;
- os << n;
- return os.str ();
- }
-
- Nameable* defined_in (Nameable& n)
- {
- for (Nameable::NamedIterator i (n.named_begin ()), e (n.named_end ());
- i != e;
- ++i)
- {
- if (Defines* d = dynamic_cast<Defines*> (*i))
- {
- return &d->scope ();
- }
- }
-
- return 0;
- }
-
- void
- compute_new_repo_id (Nameable& d)
- {
- string prefix ("");
- TypePrefix *tp = 0;
-
- if (d.context ().count (STRS[TYPE_PREFIX]))
- {
- tp = d.context ().get<TypePrefix*> (STRS[TYPE_PREFIX]);
- prefix = tp->prefix ().literal ();
- }
- else
- {
- Nameable* parent = defined_in (d);
-
- while (parent != 0)
- {
- if (parent->context ().count (STRS[TYPE_PREFIX]))
- {
- tp =
- parent->context ().get<TypePrefix*> (STRS[TYPE_PREFIX]);
-
- prefix = tp->prefix ().literal ();
- break;
- }
-
- parent = defined_in (*parent);
- }
- }
-
- if (prefix != "") prefix += "/";
-
- ScopedName scoped (d.scoped_name ());
- Name stripped (scoped.begin () + 1, scoped.end ());
-
- string scope_name = regex::perl_s (name_to_string (stripped), "%::%/%");
-
- string repo_id = "IDL:" + prefix + scope_name + ":1.0";
-
- d.context ().set<string> (STRS[REPO_ID], repo_id);
- }
+ char const* const
+ type_id_label = "CIDLC::RepositoryIdGenerator::TypeId";
- void
- compute_repo_id (Nameable& d)
- {
- if (d.context ().count (STRS[REPO_ID]))
- {
- return;
- }
- else
- {
- compute_new_repo_id (d);
- }
- }
+ char const* const
+ type_prefix_label = "CIDLC::RepositoryIdGenerator::TypePrefix";
}
namespace
{
+ //
+ //
+ //
class TypeIdLabelGenerator : public Traversal::TypeId
{
public:
- TypeIdLabelGenerator (Diagnostic::Stream& dout,
- TranslationUnit& tu)
- : dout_ (dout),
- tu_ (tu)
+ TypeIdLabelGenerator (Diagnostic::Stream& dout)
+ : dout_ (dout)
{
}
virtual void
- traverse (SemanticGraph::TypeId& ti)
+ traverse (TypeIdPtr const& ti)
{
- ScopedName decl_name (ti.declaration ());
- Nameables ref = tu_.lookup (decl_name);
+ ScopedName decl_name (ti->declaration ());
- for (Nameables::const_iterator iter (ref.begin ());
- iter != ref.end ();
- ++iter)
+ DeclarationTable::IteratorPair iters (
+ ti->table ().lookup (decl_name));
+
+ for (; iters.first != iters.second; ++iters.first)
{
- Nameable *decl = *iter;
+ DeclarationPtr decl (*iters.first);
- if (decl->context ().count (STRS[TYPE_ID]))
+ if (decl->context ().count (
+ StringLiterals::STRS[StringLiterals::TYPE_ID]))
{
//@@ Seems it should contain filename and line
// of its origin.
//
+
Diagnostic::Error err ("???", 0);
err << "repetition of typeid for " << decl_name
@@ -139,50 +69,56 @@ namespace
}
else
{
- decl->context ().set (STRS[TYPE_ID], &ti);
- decl->context ().set (STRS[REPO_ID], ti.id ().literal ());
+ decl->context ().set (
+ StringLiterals::STRS[StringLiterals::TYPE_ID], ti);
+ decl->context ().set (
+ StringLiterals::STRS[StringLiterals::REPO_ID], ti->id ().str ());
}
}
}
private:
Diagnostic::Stream& dout_;
- SemanticGraph::TranslationUnit& tu_;
};
+
+ //
+ //
+ //
class TypePrefixLabelGenerator : public Traversal::TypePrefix
{
public:
- TypePrefixLabelGenerator (Diagnostic::Stream& dout,
- TranslationUnit& tu)
- : dout_ (dout),
- tu_ (tu)
+ TypePrefixLabelGenerator (Diagnostic::Stream& dout)
+ : dout_ (dout)
{
}
virtual void
- traverse (SemanticGraph::TypePrefix& tp)
+ traverse (TypePrefixPtr const& tp)
{
- ScopedName decl_name (tp.declaration ());
- Nameables ref = tu_.lookup (decl_name);
+ ScopedName decl_name (tp->declaration ());
+
+ DeclarationTable::IteratorPair iters (
+ tp->table ().lookup (decl_name));
- for (Nameables::const_iterator iter (ref.begin ());
- iter != ref.end ();
- ++iter)
+ for (; iters.first != iters.second; ++iters.first)
{
- Nameable *decl = *iter;
- CCF::CompilerElements::Context& ctx = decl->context ();
+ DeclarationPtr decl (*iters.first);
- if (ctx.count (STRS[TYPE_PREFIX]))
+ if (decl->context ().count (
+ StringLiterals::STRS[StringLiterals::TYPE_PREFIX]))
{
- SemanticGraph::TypePrefix* prev =
- ctx.get<SemanticGraph::TypePrefix*> (STRS[TYPE_PREFIX]);
-
- if (prev->prefix () != tp.prefix ())
+ TypePrefixPtr prev (
+ decl->context ().get<TypePrefixPtr> (
+ StringLiterals::STRS[StringLiterals::TYPE_PREFIX]));
+
+ if ((prev->prefix ()) != (tp->prefix ()))
{
- //@@ Seems tp should contain filename and line
+
+ //@@ Seems tp should containt filename and line
// of it's origin.
//
+
Diagnostic::Error err ("???", 0);
err << "resetting type prefix for " << decl_name
@@ -199,85 +135,42 @@ namespace
}
else
{
- decl->context ().set (STRS[TYPE_PREFIX], &tp);
-
- // A typeprefix declaration could appear after the IDL
- // type declaration, so we want to update the repo id
- // every time.
- compute_new_repo_id (*decl);
+ decl->context ().set (
+ StringLiterals::STRS[StringLiterals::TYPE_PREFIX], tp);
}
}
}
private:
Diagnostic::Stream& dout_;
- SemanticGraph::TranslationUnit& tu_;
- };
-
- class RepoIdGenerator : public Traversal::Interface,
- public Traversal::EventType
- {
- virtual void
- traverse (SemanticGraph::Interface& i)
- {
- compute_repo_id (i);
- }
-
- virtual void
- traverse (SemanticGraph::EventType& e)
- {
- compute_repo_id (e);
- }
};
}
-bool RepositoryIdGenerator::generate (TranslationUnit& u)
+bool RepositoryIdGenerator::
+generate (TranslationUnitPtr const& u)
{
- Diagnostic::Stream dout;
-
- TypeIdLabelGenerator type_id (dout, u);
- TypePrefixLabelGenerator type_prefix (dout, u);
- RepoIdGenerator repo_id;
-
- Traversal::TranslationUnit unit;
-
- Traversal::ContainsPrincipal contains_principal;
- unit.edge_traverser (contains_principal);
-
- Traversal::TranslationRegion region;
- contains_principal.node_traverser (region);
-
- Traversal::ContainsRoot contains_root;
- Traversal::Includes includes;
-
- region.edge_traverser (includes);
- region.edge_traverser (contains_root);
-
- Traversal::Root root;
- includes.node_traverser (region);
- contains_root.node_traverser (root);
-
- Traversal::Defines defines;
- root.edge_traverser (defines);
-
- Traversal::Module module;
-
- defines.node_traverser (module);
- defines.node_traverser (type_id);
- defines.node_traverser (type_prefix);
- defines.node_traverser (repo_id);
-
- module.edge_traverser (defines);
-
- Traversal::Interface iface;
- defines.node_traverser (iface);
-
- unit.traverse (u);
-
- if (dout.error_count () != 0) return false;
-
- //@@ check errors
+ {
+ Diagnostic::Stream dout;
+
+ TypeIdLabelGenerator type_id (dout);
+ TypePrefixLabelGenerator type_prefix (dout);
+
+ Traversal::Scope scope;
+ scope.add_scope_delegate (&type_id);
+ scope.add_scope_delegate (&type_prefix);
+
+ Traversal::TranslationRegion region (&scope);
+
+ Traversal::TranslationUnit unit;
+ unit.add_content_delegate (&region);
+
+ unit.dispatch (u);
+
+ if (dout.error_count () != 0) return false;
+
+ //@@ check errors
+ }
return true;
}
diff --git a/TAO/CIAO/CIDLC/RepositoryIdGenerator.hpp b/TAO/CIAO/CIDLC/RepositoryIdGenerator.hpp
index 36dc13e064e..0f15807a3b7 100644
--- a/TAO/CIAO/CIDLC/RepositoryIdGenerator.hpp
+++ b/TAO/CIAO/CIDLC/RepositoryIdGenerator.hpp
@@ -15,7 +15,7 @@ class RepositoryIdGenerator
{
public:
bool
- generate (CCF::CIDL::SemanticGraph::TranslationUnit& u);
+ generate (CCF::CIDL::SyntaxTree::TranslationUnitPtr const&);
};
#endif // CIDLC_REPOSITORY_ID_GENERATOR_HPP
diff --git a/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp b/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
index 0678c8cccd7..8e36ceadaa4 100644
--- a/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
+++ b/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
@@ -132,7 +132,7 @@ namespace
virtual void
post (Type&)
{
- os << ";" << endl;
+ os << ";" << endl << endl;
}
virtual void
@@ -338,7 +338,7 @@ namespace
traverse (UnconstrainedInterface& i)
{
if (i.context ().count ("facet_hdr_gen")) return;
-
+
ScopedName scoped (i.scoped_name ());
Name stripped (scoped.begin () + 1, scoped.end ());
@@ -416,7 +416,6 @@ namespace
<< "_get_component (" << endl
<< STRS[ENV_SNGL_HDR] << ")" << endl
<< STRS[EXCP_SNGL] << ";" << endl
- << endl
<< "protected:" << endl
<< "// Facet executor." << endl
<< i.scoped_name ().scope_name ()<< "::CCM_" << i.name ()
@@ -424,14 +423,14 @@ namespace
<< "// Context object." << endl
<< "::Components::CCMContext_var ctx_;" << endl
<< "};";
-
- os << "typedef " << ctx.export_macro () << " "
- << i.name () << "_Servant_T<int> "
+
+ os << "typedef " << ctx.export_macro () << " "
+ << i.name () << "_Servant_T<int> "
<< i.name () << "_Servant;";
// Close the CIAO_GLUE namespace.
os << "}";
-
+
i.context ().set ("facet_hdr_gen", true);
}
};
@@ -736,33 +735,21 @@ namespace
os << STRS[GLUE_NS]
<< regex::perl_s (t.scoped_name ().scope_name ().str (), "/::/_/")
<< "{";
-
- os << "class " << t.name () << "_Servant;" << endl;
os << "class " << ctx.export_macro () << " " << t.name ()
<< "_Context" << endl
- << " : public virtual CIAO::Context_Impl<" << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
- << t.name () << "_Context," << endl
- << " " << t.name () << "_Servant," << endl
- << " " << t.scoped_name () << "," << endl
- << " " << t.scoped_name () << "_var" << endl
- << " >" << endl
+ << ": public virtual " << t.scoped_name ().scope_name () << "::CCM_"
+ << t.name () << "_Context,"
+ << endl
+ << "public virtual TAO_Local_RefCounted_Object"
+ << endl
<< "{"
<< "public:" << endl;
os << "// We will allow the servant glue code we generate to "
<< "access our state." << endl
- << "friend class " << t.name () << "_Servant;" << endl;
-
- os << "/// Hack for VC6." << endl
- << "typedef CIAO::Context_Impl<" << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
- << t.name () << "_Context," << endl
- << " " << t.name () << "_Servant," << endl
- << " " << t.scoped_name () << "," << endl
- << " " << t.scoped_name () << "_var" << endl
- << " > ctx_svnt_base;" << endl;
+ << "friend class " << t.name () << "_Servant;"
+ << endl;
os << t.name () << "_Context (" << endl
<< "::Components::CCMHome_ptr home," << endl
@@ -772,6 +759,55 @@ namespace
os << "virtual ~" << t.name () << "_Context (void);"
<< endl;
+ os << "// Operations from ::Components::CCMContext." << endl << endl;
+
+ os << "virtual ::Components::Principal_ptr" << endl
+ << "get_caller_principal (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl;
+
+ os << "virtual ::Components::CCMHome_ptr" << endl
+ << "get_CCM_home (" << endl
+ << STRS[ENV_SNGL_HDR_NOTUSED] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl ;
+
+ os << "virtual CORBA::Boolean" << endl
+ << "get_rollback_only (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "));" << endl;
+
+ os << "virtual ::Components::Transaction::UserTransaction_ptr" << endl
+ << "get_user_transaction (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "));" << endl;
+
+ os << "virtual CORBA::Boolean" << endl
+ << "is_caller_in_role (" << endl
+ << "const char *role" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl;
+
+ os << "virtual void" << endl
+ << "set_rollback_only (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "));" << endl;
+
+ os << "// Operations from " << STRS[COMP_SC] << " interface."
+ << endl << endl;
+
+ os << "virtual CORBA::Object_ptr" << endl
+ << "get_CCM_object (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "));" << endl;
+
os << "// Operations for " << t.name () << " receptacles"
<< " and event sources," << endl
<< "// defined in " << t.scoped_name ().scope_name () << "::CCM_"
@@ -794,7 +830,9 @@ namespace
component_emitter.traverse (t);
}
- os << "// CIAO-specific." << endl << endl;
+ os << "// CIAO-specific." << endl << endl
+ << "::CIAO::Session_Container *" << endl
+ << "_ciao_the_Container (void) const;" << endl;
os << "static " << t.name () << "_Context *" << endl
<< "_narrow (" << endl
@@ -843,6 +881,11 @@ namespace
virtual void
post (Type& t)
{
+ os << "::Components::CCMHome_var home_;" << endl
+ << "::CIAO::Session_Container *container_;" << endl << endl
+ << t.name () << "_Servant *servant_;" << endl
+ << t.scoped_name () << "_var component_;" << endl;
+
// Component context class closer.
os << "};";
@@ -1146,72 +1189,6 @@ namespace
Traversal::Belongs belongs_;
};
- struct PortsEmitterPrivate : Traversal::EmitterData,
- Traversal::SingleUserData,
- Traversal::MultiUserData,
- Traversal::PublisherData,
- Traversal::ConsumerData,
- Traversal::ProviderData,
- EmitterBase
- {
- PortsEmitterPrivate (Context& c)
- : EmitterBase (c),
- type_name_emitter_ (c.os ()),
- simple_type_name_emitter_ (c.os ()),
- stripped_type_name_emitter_ (c.os ())
- {
- belongs_.node_traverser (type_name_emitter_);
- simple_belongs_.node_traverser (simple_type_name_emitter_);
- stripped_belongs_.node_traverser (stripped_type_name_emitter_);
- }
-
- virtual void
- traverse (SemanticGraph::Provider& p)
- {
- os << "::CORBA::Object_ptr" << endl
- << "provide_" << p.name () << "_i (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- traverse (SemanticGraph::SingleUser& u)
- {
- }
-
- virtual void
- traverse (SemanticGraph::MultiUser& u)
- {
- }
-
- virtual void
- traverse (SemanticGraph::Consumer& c)
- {
- os << "::Components::EventConsumerBase_ptr" << endl
- << "get_consumer_" << c.name () << "_i (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- traverse (SemanticGraph::Emitter& e)
- {
- }
-
- virtual void
- traverse (SemanticGraph::Publisher& p)
- {
- }
-
- private:
- TypeNameEmitter type_name_emitter_;
- SimpleTypeNameEmitter simple_type_name_emitter_;
- StrippedTypeNameEmitter stripped_type_name_emitter_;
- Traversal::Belongs belongs_;
- Traversal::Belongs simple_belongs_;
- Traversal::Belongs stripped_belongs_;
- };
-
public:
virtual void
pre (Type& t)
@@ -1227,39 +1204,35 @@ namespace
<< "_Servant" << endl
<< " : public virtual CIAO::Servant_Impl<" << endl
<< " POA_" << stripped << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
+ << " " << t.scoped_name ().scope_name () << "::CCM_"
<< t.name () << "," << endl
<< " " << t.scoped_name ().scope_name () << "::CCM_"
<< t.name () << "_var," << endl
<< " " << t.name () << "_Context" << endl
- << " >" << endl
+ << " >," << endl
+ << " " << STRS[INH_RCSB] << endl
<< "{"
<< "public:" << endl;
- os << "/// Hack for VC6." << endl
- << "typedef CIAO::Servant_Impl<" << endl
- << " POA_" << stripped << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
+ os << "/// Hack for VC6 the most sucky compiler" << endl
+ << "typedef CIAO::Servant_Impl<" << endl
+ << "POA_" << stripped << "," << endl
+ << " " << t.scoped_name ().scope_name () << "::CCM_"
<< t.name () << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
+ << " " << t.scoped_name ().scope_name () << "::CCM_"
<< t.name () << "_var," << endl
- << " " << t.name () << "_Context" << endl
- << " > comp_svnt_base;" << endl << endl;
+ << " " << t.name () << "_Context" << endl
+ << " > our_base;" << endl;
os << t.name () << "_Servant (" << endl
<< t.scoped_name ().scope_name () << "::CCM_" << t.name ()
<< "_ptr executor," << endl
<< "::Components::CCMHome_ptr home," << endl
- << "::CIAO::Session_Container *c);" << endl << endl;
+ << "::CIAO::Session_Container *c);" << endl;
os << "virtual ~" << t.name () << "_Servant (void);"
<< endl << endl;
- os << "virtual void" << endl
- << "set_attributes (" << endl
- << "const ::Components::ConfigValues &descr" << endl
- << STRS[ENV_SRC] << ");" << endl << endl;
-
os << "// Supported operations." << endl << endl;
// Generate operations for all supported interfaces.
@@ -1364,6 +1337,24 @@ namespace
component_emitter.traverse (t);
}
+ os << "// Operations for Navigation interface." << endl << endl;
+
+ os << "virtual CORBA::Object_ptr" << endl
+ << "provide_facet (" << endl
+ << "const char *name" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
+
+ os << "virtual ::Components::FacetDescriptions *" << endl
+ << "get_named_facets (" << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
+
os << "// Operations for Receptacles interface." << endl << endl;
os << "virtual " << STRS[COMP_CK] << " *" << endl
@@ -1390,8 +1381,37 @@ namespace
<< STRS[EXCP_CR] << "," << endl
<< STRS[EXCP_NC] << "));" << endl << endl;
+ os << "virtual ::Components::ConnectionDescriptions *" << endl
+ << "get_connections (" << endl
+ << "const char *name" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
+
+ os << "virtual ::Components::ReceptacleDescriptions *" << endl
+ << "get_all_receptacles (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "virtual ::Components::ReceptacleDescriptions *" << endl
+ << "get_named_receptacles (" << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
+
os << "// Operations for Events interface." << endl << endl;
+ os << "virtual " << STRS[COMP_ECB] << "_ptr" << endl
+ << "get_consumer (" << endl
+ << "const char *sink_name" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
+
os << "virtual " << STRS[COMP_CK] << " *" << endl
<< "subscribe (" << endl
<< "const char *publisher_name," << endl
@@ -1424,39 +1444,118 @@ namespace
<< STRS[EXCP_AC] << "," << endl
<< STRS[EXCP_IC] << "));" << endl << endl;
- os << "// CIAO specific operations on the servant " << endl
- << "CORBA::Object_ptr" << endl
- << "get_facet_executor (const char *name" << endl
+ os << "virtual " << STRS[COMP_ECB] << "_ptr" << endl
+ << "disconnect_consumer (" << endl
+ << "const char *source_name" << endl
<< STRS[ENV_HDR] << ")" << endl
<< STRS[EXCP_START] << endl
- << STRS[EXCP_SYS]<< "));" << endl << endl;
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "," << endl
+ << STRS[EXCP_NC] << "));" << endl << endl;
- os << "private:" << endl << endl;
+ os << "virtual ::Components::ConsumerDescriptions *" << endl
+ << "get_named_consumers (" << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
- // Generate protected operations for facets and event sinks.
- {
- Traversal::Component component_emitter;
+ os << "virtual ::Components::EmitterDescriptions *" << endl
+ << "get_all_emitters (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
- Traversal::Inherits component_inherits;
- component_inherits.node_traverser (component_emitter);
+ os << "virtual ::Components::EmitterDescriptions *" << endl
+ << "get_named_emitters(" << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
- Traversal::Defines defines;
- component_emitter.edge_traverser (defines);
- component_emitter.edge_traverser (component_inherits);
+ os << "virtual ::Components::PublisherDescriptions *" << endl
+ << "get_all_publishers (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
- PortsEmitterProtected ports_emitter (ctx);
- defines.node_traverser (ports_emitter);
+ os << "virtual ::Components::PublisherDescriptions *" << endl
+ << "get_named_publishers(" << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "));" << endl << endl;
- component_emitter.traverse (t);
- }
+ os << "// Operations for CCMObject interface." << endl << endl;
- os << "private:" << endl << endl
- << "void" << endl
- << "populate_port_tables (" << endl
+ os << "virtual CORBA::IRObject_ptr" << endl
+ << "get_component_def (" << endl
<< STRS[ENV_SNGL_HDR] << ")" << endl
<< STRS[EXCP_SNGL] << ";" << endl << endl;
- // Generate private operations for ports.
+ os << "virtual ::Components::CCMHome_ptr" << endl
+ << "get_ccm_home (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "virtual ::Components::PrimaryKeyBase *" << endl
+ << "get_primary_key (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_NKA] << "));" << endl << endl;
+
+ os << "virtual void" << endl
+ << "configuration_complete (" << endl
+ << STRS[ENV_SNGL_HDR_NOTUSED] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_ICF] << "));" << endl << endl;
+
+ os << "virtual void" << endl
+ << "remove (" << endl
+ << STRS[ENV_SNGL_HDR_NOTUSED] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_RF] << "));" << endl << endl;
+
+ os << "virtual ::Components::ComponentPortDescription *" << endl
+ << "get_all_ports(" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "// Get component implementation." << endl
+ << "virtual CORBA::Object_ptr" << endl
+ << "_get_component (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "// CIAO-specific operations." << endl << endl;
+
+ os << "void" << endl
+ << "ciao_preactivate (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "void" << endl
+ << "ciao_activate (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "void" << endl
+ << "ciao_postactivate (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "/// @@NOTE: The busted operation." << endl;
+
+ os << "void" << endl
+ << "_ciao_passivate (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ // Generate protected operations for facets and event sinks.
{
Traversal::Component component_emitter;
@@ -1467,11 +1566,16 @@ namespace
component_emitter.edge_traverser (defines);
component_emitter.edge_traverser (component_inherits);
- PortsEmitterPrivate ports_emitter (ctx);
+ PortsEmitterProtected ports_emitter (ctx);
defines.node_traverser (ports_emitter);
component_emitter.traverse (t);
}
+
+ os << "private:" << endl << endl
+ << "void populate_port_tables (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
}
virtual void
@@ -1687,7 +1791,7 @@ namespace
{
os << "," << endl;
}
-
+
private:
ReturnTypeNameEmitter returns_emitter_;
Traversal::Returns returns_;
@@ -1705,94 +1809,15 @@ namespace
os << "class " << ctx.export_macro () << " " << t.name ()
<< "_Servant" << endl
- << " : public virtual CIAO::Home_Servant_Impl<" << endl
- << " POA_" << stripped << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
- << t.name () << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
- << t.name () << "_var," << endl
- << " ";
-
- Traversal::Home::manages (t, manages_);
-
- os << "," << endl
- << " ";
-
- Traversal::Home::manages (t, manages_);
-
- os << "_var," << endl
- << " ";
-
- Traversal::Home::manages (t, enclosing_manages_);
-
- os << "::CCM_";
-
- Traversal::Home::manages (t, simple_manages_);
-
- os << "," << endl
- << " ";
-
- Traversal::Home::manages (t, enclosing_manages_);
-
- os << "::CCM_";
-
- Traversal::Home::manages (t, simple_manages_);
-
- os << "_var," << endl
- << " ";
-
- Traversal::Home::manages (t, simple_manages_);
-
- os << "_Servant" << endl
- << " >" << endl
+ << ": public virtual POA_" << stripped << "," << endl
+ << STRS[INH_RCSB] << endl
<< "{"
- << "public:" << endl
- << "/// Hack for VC6." << endl
- << "typedef CIAO::Home_Servant_Impl<" << endl
- << " POA_" << stripped << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
- << t.name () << "," << endl
- << " " << t.scoped_name ().scope_name () << "::CCM_"
- << t.name () << "_var," << endl
- << " ";
-
- Traversal::Home::manages (t, manages_);
-
- os << "," << endl
- << " ";
-
- Traversal::Home::manages (t, manages_);
-
- os << "_var," << endl
- << " ";
-
- Traversal::Home::manages (t, enclosing_manages_);
-
- os << "::CCM_";
-
- Traversal::Home::manages (t, simple_manages_);
-
- os << "," << endl
- << " ";
-
- Traversal::Home::manages (t, enclosing_manages_);
-
- os << "::CCM_";
-
- Traversal::Home::manages (t, simple_manages_);
-
- os << "_var," << endl
- << " ";
-
- Traversal::Home::manages (t, simple_manages_);
-
- os << "_Servant" << endl
- << " > home_svnt_base;" << endl << endl;
+ << "public:" << endl;
os << t.name () << "_Servant (" << endl
<< t.scoped_name ().scope_name () << "::CCM_" << t.name ()
<< "_ptr exe," << endl
- << "::CIAO::Session_Container *c);" << endl << endl;
+ << "::CIAO::Session_Container *c);" << endl;
os << "virtual ~" << t.name () << "_Servant (void);"
<< endl << endl;
@@ -1925,6 +1950,51 @@ namespace
home_emitter.traverse (t);
}
+ // @@@ (JP) Need primary key support.
+ os << "// Operations for keyless home interface." << endl << endl;
+
+ os << "virtual ::Components::CCMObject_ptr" << endl
+ << "create_component (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << "::Components::CreateFailure));" << endl << endl;
+
+ os << "// Operations for implicit home interface." << endl << endl;
+
+ os << "virtual ";
+
+ Traversal::Home::manages (t, manages_);
+
+ os << "_ptr" << endl
+ << "create (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << "::Components::CreateFailure));" << endl << endl;
+
+ os << "// Operations for CCMHome interface." << endl << endl;
+
+ os << "virtual ::CORBA::IRObject_ptr" << endl
+ << "get_component_def (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "virtual ::CORBA::IRObject_ptr" << endl
+ << "get_home_def (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "virtual void" << endl
+ << "remove_component (" << endl
+ << "::Components::CCMObject_ptr comp" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_RF] << "));" << endl << endl;
+
+ os << "// Supported operations." << endl << endl;
+
// Generate operations for all supported interfaces.
{
Traversal::Home home_emitter;
@@ -1987,10 +2057,57 @@ namespace
home_emitter.traverse (t);
}
+ os << "protected:" << endl
+ << "// CIAO-specific operations." << endl << endl;
+
+ Traversal::Home::manages (t, manages_);
+
+ os << "_ptr" << endl
+ << "_ciao_activate_component (" << endl;
+
+ Traversal::Home::manages (t, enclosing_manages_);
+
+ os << "::CCM_";
+
+ Traversal::Home::manages (t, simple_manages_);
+
+ os << "_ptr exe" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "void" << endl
+ << "_ciao_passivate_component (" << endl;
+
+ Traversal::Home::manages (t, manages_);
+
+ os << "_ptr comp" << endl
+ << STRS[ENV_HDR] << ")" << endl
+ << STRS[EXCP_SNGL] << ";" << endl << endl;
+
+ os << "protected:" << endl;
+
+ os << t.scoped_name ().scope_name () << "::CCM_"
+ << t.name () << "_var" << endl
+ << "executor_;" << endl << endl;
+
+ os << "::CIAO::Session_Container *" << endl
+ << "container_;" << endl << endl;
+
+ os << "ACE_Hash_Map_Manager_Ex<" << endl
+ << "PortableServer::ObjectId," << endl;
+
+ Traversal::Home::manages (t, simple_manages_);
+
+ os << "_Servant *," << endl
+ << "TAO_ObjectId_Hash," << endl
+ << "ACE_Equal_To<PortableServer::ObjectId>," << endl
+ << "ACE_SYNCH_MUTEX>" << endl
+ << "component_map_;" << endl << endl;
+
// Home servant class closer.
os << "};";
- os << "extern \"C\" " << ctx.export_macro ()
+ os << "extern \"C\" " << ctx.export_macro ()
<< " ::PortableServer::Servant" << endl
<< "create" << t.name () << "_Servant (" << endl
<< "::Components::HomeExecutorBase_ptr p," << endl
@@ -2003,7 +2120,7 @@ namespace
// Namespace closer.
os << "}";
}
-
+
private:
TypeNameEmitter type_name_emitter_;
SimpleTypeNameEmitter simple_type_name_emitter_;
@@ -2145,8 +2262,8 @@ ServantHeaderEmitter::pre (TranslationUnit& u)
os << "#include \"ciao/Container_Base.h\"" << endl
<< "#include \"ciao/Servant_Impl_T.h\"" << endl
- << "#include \"ciao/Context_Impl_T.h\"" << endl
- << "#include \"ciao/Home_Servant_Impl_T.h\"" << endl
+ << "#include \"tao/LocalObject.h\"" << endl
+ << "#include \"tao/PortableServer/Key_Adapters.h\"" << endl
<< "#include \"ace/Active_Map_Manager_T.h\"" << endl << endl;
}
diff --git a/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp b/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp
index ed7ea448eae..fae9db4bad2 100644
--- a/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp
+++ b/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp
@@ -305,40 +305,6 @@ namespace
std::ostream& os;
};
- struct RepoIdEmitter : Traversal::Type
- {
- RepoIdEmitter (std::ostream& os_)
- : os (os_)
- {}
-
- virtual void
- traverse (SemanticGraph::Type& t)
- {
- os << "\"" << t.context ().get<string> (STRS[REPO_ID]) << "\"";
- }
-
- private:
- std::ostream& os;
- };
-
- struct ConsumerRepoIdEmitter : Traversal::Type
- {
- ConsumerRepoIdEmitter (std::ostream& os_)
- : os (os_)
- {}
-
- virtual void
- traverse (SemanticGraph::Type& t)
- {
- string holder (t.context ().get<string> (STRS[REPO_ID]));
- os << "\"" << holder.substr (0, holder.rfind (':'))
- << "Consumer:1.0\"";
- }
-
- private:
- std::ostream& os;
- };
-
struct InterfaceEmitter : Traversal::UnconstrainedInterface,
EmitterBase
{
@@ -664,7 +630,7 @@ namespace
<< STRS[ENV_SNGL_ARG] << ");" << endl
<< "}"
<< "ACE_THROW_RETURN (CORBA::INTERNAL (), 0);" << endl
- << "}" << endl;
+ << "}";
// Close the CIAO_GLUE namespace.
os << "}";
@@ -1166,8 +1132,9 @@ namespace
<< "::Components::CCMHome_ptr home," << endl
<< "::CIAO::Session_Container *c," << endl
<< t.name () << "_Servant *sv)" << endl
- << " : Context_Impl_Base (home, c)," << endl
- << " ctx_svnt_base (home, c, sv)" << endl
+ << ": home_ (::Components::CCMHome::_duplicate (home))," << endl
+ << "container_ (c)," << endl
+ << "servant_ (sv)" << endl
<< "{"
<< "}";
@@ -1176,6 +1143,108 @@ namespace
<< "{"
<< "}";
+ os << "// Operations from ::Components::CCMContext." << endl << endl;
+
+ os << "::Components::Principal_ptr" << endl
+ << t.name () << "_Context::"
+ << "get_caller_principal (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::NO_IMPLEMENT ()," << endl
+ << "::Components::Principal::_nil ());" << endl
+ << "}";
+
+ os << "::Components::CCMHome_ptr" << endl
+ << t.name () << "_Context::"
+ << "get_CCM_home (" << endl
+ << STRS[ENV_SNGL_SRC_NOTUSED] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "return ::Components::CCMHome::_duplicate (this->home_.in ());"
+ << endl
+ << "}";
+
+ os << "CORBA::Boolean" << endl
+ << t.name () << "_Context::"
+ << "get_rollback_only (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::Transaction::UserTransaction_ptr" << endl
+ << t.name () << "_Context::"
+ << "get_user_transaction (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::NO_IMPLEMENT ()," << endl
+ << "::Components::Transaction::UserTransaction::_nil ());" << endl
+ << "}";
+
+ os << "CORBA::Boolean" << endl
+ << t.name () << "_Context::"
+ << "is_caller_in_role (" << endl
+ << "const char * /* role */" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "void" << endl
+ << t.name () << "_Context::"
+ << "set_rollback_only (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "))" << endl
+ << "{"
+ << "ACE_THROW (CORBA::NO_IMPLEMENT ());" << endl
+ << "}";
+
+ os << "// Operations from " << STRS[COMP_SC] << "interface."
+ << endl << endl;
+
+ os << "CORBA::Object_ptr" << endl
+ << t.name () << "_Context::"
+ << "get_CCM_object (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IS] << "))" << endl
+ << "{"
+ << "if (CORBA::is_nil (this->component_.in ()))" << endl
+ << "{"
+ << "CORBA::Object_var obj =" << endl
+ << "this->container_->get_objref (" << endl
+ << "this->servant_" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (CORBA::Object::_nil ());" << endl
+ << "this->component_ =" << endl
+ << t.scoped_name () << "::_narrow (" << endl
+ << "obj.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (CORBA::Object::_nil ());" << endl
+ << "if (CORBA::is_nil (this->component_.in ()))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::INTERNAL ()," << endl
+ << "::CORBA::Object::_nil ());" << endl
+ << "}"
+ << "}"
+ << "return " << t.scoped_name () << "::_duplicate (" << endl
+ << "this->component_.in ());" << endl
+ << "}";
+
os << "// Operations for " << t.name () << " receptacles"
<< " and event sources," << endl
<< "// defined in " << t.scoped_name ().scope_name () << "::CCM_"
@@ -1199,7 +1268,13 @@ namespace
component_emitter.traverse (t);
}
- os << "// CIAO-specific." << endl << endl;
+ os << "// CIAO-specific." << endl << endl
+ << "::CIAO::Session_Container *" << endl
+ << t.name () << "_Context::"
+ << "_ciao_the_Container (void) const" << endl
+ << "{"
+ << "return this->container_;" << endl
+ << "}";
os << t.name () << "_Context *" << endl
<< t.name () << "_Context::_narrow (" << endl
@@ -1272,10 +1347,10 @@ namespace
Traversal::Belongs belongs_;
};
- struct NavigationGetFacetExecEmitter : Traversal::ProviderData,
- EmitterBase
+ struct NavigationProvidesEmitter : Traversal::ProviderData,
+ EmitterBase
{
- NavigationGetFacetExecEmitter (Context& c)
+ NavigationProvidesEmitter (Context& c)
: EmitterBase (c)
{}
@@ -1285,7 +1360,7 @@ namespace
os << "if (ACE_OS::strcmp (name, \""
<< t.name () << "\") == 0)" << endl
<< "{"
- << "return this->executor_->get_" << t.name ()
+ << "return this->provide_" << t.name ()
<< " (" << STRS[ENV_SNGL_ARG] << ");" << endl
<< "}";
}
@@ -1580,6 +1655,25 @@ namespace
SemanticGraph::Component& scope_;
};
+ struct ConsumesGetEmitter : Traversal::ConsumerData,
+ EmitterBase
+ {
+ ConsumesGetEmitter (Context& c)
+ : EmitterBase (c)
+ {}
+
+ virtual void
+ traverse (Type& c)
+ {
+ os << "if (ACE_OS::strcmp (sink_name, \""
+ << c.name () << "\") == 0)" << endl
+ << "{"
+ << "return this->get_consumer_" << c.name ()
+ << " (" << STRS[ENV_SNGL_ARG] << ");" << endl
+ << "}";
+ }
+ };
+
struct PublishesSubscribeEmitter : Traversal::PublisherData,
EmitterBase
{
@@ -1736,14 +1830,12 @@ namespace
simple_type_name_emitter_ (c.os ()),
servant_type_name_emitter_ (c.os ()),
enclosing_type_name_emitter_ (c.os ()),
- repo_id_emitter_ (c.os ()),
scope_ (scope)
{
belongs_.node_traverser (type_name_emitter_);
simple_belongs_.node_traverser (simple_type_name_emitter_);
servant_belongs_.node_traverser (servant_type_name_emitter_);
enclosing_belongs_.node_traverser (enclosing_type_name_emitter_);
- repo_id_belongs_.node_traverser (repo_id_emitter_);
}
virtual void
@@ -1757,17 +1849,10 @@ namespace
<< STRS[ENV_SNGL_SRC] << ")" << endl
<< STRS[EXCP_SNGL] << endl
<< "{"
- << "if (! ::CORBA::is_nil (this->provide_"
+ << "if (::CORBA::is_nil (this->provide_"
<< p.name () << "_.in ()))" << endl
- << "{"
- << "return ";
-
- Traversal::ProviderData::belongs (p, belongs_);
-
- os << "::_duplicate (this->provide_" << p.name () << "_.in ());"
- << "}";
+ << "{";
- /*
Traversal::ProviderData::belongs (p, enclosing_belongs_);
os << "::CCM_";
@@ -1792,21 +1877,29 @@ namespace
os << "::_nil ());" << endl
<< "}";
- */
- os << "::CORBA::Object_var obj =" << endl
- << "this->provide_" << p.name () << "_i ("
- << STRS[ENV_SNGL_ARG] << ");"
- << "ACE_CHECK_RETURN (";
- Traversal::ProviderData::belongs (p, belongs_);
+ Traversal::ProviderData::belongs (p, servant_belongs_);
- os << "::_nil ());" << endl;
+ os << " *svt =" << endl
+ << "new ";
- ScopedName scoped (scope_.scoped_name ());
- Name stripped (scoped.begin () + 1, scoped.end ());
- string unique_obj_name =
- regex::perl_s (stripped.str (), "/::/_/") + "_" + p.name ().str ();
+ Traversal::ProviderData::belongs (p, servant_belongs_);
+ os << " (" << endl
+ << "fexe.in ()," << endl
+ << "this->context_);" << endl
+ << "PortableServer::ServantBase_var safe_servant (svt);"
+ << endl
+ << "::CORBA::Object_var obj =" << endl
+ << "this->container_->install_servant (" << endl
+ << "svt" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ Traversal::ProviderData::belongs (p, belongs_);
+
+ os << "::_nil ());"
+ << endl;
Traversal::ProviderData::belongs (p, belongs_);
@@ -1821,8 +1914,10 @@ namespace
Traversal::ProviderData::belongs (p, belongs_);
- os << "::_nil ());" << endl
- << "this->provide_" << p.name () << "_ = fo;"
+ os << "::_nil ());"
+ << endl
+ << "this->provide_" << p.name () << "_ = fo;" << endl
+ << "}"
<< "return ";
Traversal::ProviderData::belongs (p, belongs_);
@@ -1830,99 +1925,6 @@ namespace
os << "::_duplicate (this->provide_"
<< p.name () << "_.in ());" << endl
<< "}";
-
- // Corresponding private provide_*_i() method.
-
- os << "::CORBA::Object_ptr" << endl
- << scope_.name ()
- << "_Servant::provide_" << p.name () << "_i (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{"
- << "::CORBA::Object_ptr ret =" << endl
- << "this->lookup_facet (\"" << p.name () << "\");" << endl;
-
- os << "if (! ::CORBA::is_nil (ret))" << endl
- << "{"
- << "return ret;"
- << "}";
-
- os << "CIAO::Port_Activator_T<" << endl
- << " ";
-
- Traversal::ProviderData::belongs (p, servant_belongs_);
-
- os << "," << endl
- << " ";
-
- Traversal::ProviderData::belongs (p, enclosing_belongs_);
-
- os << "::CCM_";
-
- Traversal::ProviderData::belongs (p, simple_belongs_);
-
- os << "," << endl
- << " ::Components::CCMContext," << endl
- << " " << scope_.name () << "_Servant" << endl
- << " > *tmp = 0;" << endl
- << "typedef CIAO::Port_Activator_T<" << endl
- << " ";
-
- Traversal::ProviderData::belongs (p, servant_belongs_);
-
- os << "," << endl
- << " ";
-
- Traversal::ProviderData::belongs (p, enclosing_belongs_);
-
- os << "::CCM_";
-
- Traversal::ProviderData::belongs (p, simple_belongs_);
-
- os << "," << endl
- << " ::Components::CCMContext," << endl
- << " " << scope_.name () << "_Servant" << endl
- << " >" << endl
- << "MACRO_MADNESS_TYPEDEF;" << endl;
-
- os << "ACE_NEW_THROW_EX ( " << endl
- << "tmp," << endl
- << "MACRO_MADNESS_TYPEDEF (" << endl
- << "\"" << unique_obj_name << "\"," << endl
- << "\"" << p.name () << "\"," << endl
- << "CIAO::Port_Activator::Facet," << endl
- << "0," << endl
- << "this->context_," << endl
- << "this)," << endl
- << "CORBA::NO_MEMORY ());" << endl;
-
- os << "CIAO::Servant_Activator *sa = " << endl
- << "this->container_->ports_servant_activator ();" << endl
- << "if (!sa->register_port_activator (tmp))" << endl
- << "{"
- << "return 0;" << endl
- << "}";
-
- os << "::CORBA::Object_var obj =" << endl
- << "this->container_->generate_reference (" << endl
- << "\"" << unique_obj_name << "\"," << endl;
-
- Traversal::ProviderData::belongs (p, repo_id_belongs_);
-
- os << "," << endl
- << "CIAO::Container::Facet_Consumer" << endl
- << STRS[ENV_ARG] << ");"
- << "ACE_CHECK_RETURN (";
-
- Traversal::ProviderData::belongs (p, belongs_);
-
- os << "::_nil ());" << endl
- << "this->add_facet (" << endl
- << "\"" << p.name () << "\"," << endl
- << "obj.in ());" << endl;
-
- os << "return obj._retn ();" << endl
- << "}";
}
private:
@@ -1930,12 +1932,10 @@ namespace
SimpleTypeNameEmitter simple_type_name_emitter_;
ServantTypeNameEmitter servant_type_name_emitter_;
EnclosingTypeNameEmitter enclosing_type_name_emitter_;
- RepoIdEmitter repo_id_emitter_;
Traversal::Belongs belongs_;
Traversal::Belongs simple_belongs_;
Traversal::Belongs servant_belongs_;
Traversal::Belongs enclosing_belongs_;
- Traversal::Belongs repo_id_belongs_;
SemanticGraph::Component& scope_;
};
@@ -1946,12 +1946,10 @@ namespace
: EmitterBase (c),
type_name_emitter_ (c.os ()),
simple_type_name_emitter_ (c.os ()),
- repo_id_emitter_ (c.os ()),
scope_ (scope)
{
belongs_.node_traverser (type_name_emitter_);
simple_belongs_.node_traverser (simple_type_name_emitter_);
- repo_id_belongs_.node_traverser (repo_id_emitter_);
}
virtual void
@@ -2080,31 +2078,36 @@ namespace
<< STRS[ENV_SNGL_SRC] << ")" << endl
<< STRS[EXCP_SNGL] << endl
<< "{"
- << "if (! ::CORBA::is_nil (this->consumes_" << c.name ()
+ << "if (CORBA::is_nil (this->consumes_" << c.name ()
<< "_.in ()))" << endl
<< "{"
- << "return ";
+ << scope_.name () << "_Servant::";
- Traversal::ConsumerData::belongs (c, belongs_);
+ Traversal::ConsumerData::belongs (c, simple_belongs_);
- os << "Consumer::_duplicate (this->consumes_"
- << c.name () << "_.in ());"
- << "}";
+ os << "Consumer_" << c.name ()
+ << "_Servant *svt =" << endl
+ << "new " << scope_.name ()
+ << "_Servant::";
+
+ Traversal::ConsumerData::belongs (c, simple_belongs_);
- os << "::Components::EventConsumerBase_var obj =" << endl
- << "this->get_consumer_" << c.name () << "_i (" << endl
- << STRS[ENV_SNGL_ARG] << ");"
+ os << "Consumer_" << c.name ()
+ << "_Servant (" << endl
+ << "this->executor_.in ()," << endl
+ << "this->context_);"
+ << "PortableServer::ServantBase_var safe_servant (svt);"
+ << endl
+ << "CORBA::Object_var obj =" << endl
+ << "this->container_->install_servant (" << endl
+ << "svt" << endl
+ << STRS[ENV_ARG] << ");"
<< "ACE_CHECK_RETURN (";
Traversal::ConsumerData::belongs (c, belongs_);
os << "Consumer::_nil ());" << endl;
- ScopedName scoped (scope_.scoped_name ());
- Name stripped (scoped.begin () + 1, scoped.end ());
- string unique_obj_name =
- regex::perl_s (stripped.str (), "/::/_/") + "_" + c.name ().str ();
-
Traversal::ConsumerData::belongs (c, belongs_);
os << "Consumer_var eco =" << endl;
@@ -2118,8 +2121,9 @@ namespace
Traversal::ConsumerData::belongs (c, belongs_);
- os << "Consumer::_nil ());" << endl
- << "this->consumes_" << c.name () << "_ = eco;"
+ os<< "Consumer::_nil ());" << endl
+ << "this->consumes_" << c.name () << "_ = eco;" << endl
+ << "}"
<< "return ";
Traversal::ConsumerData::belongs (c, belongs_);
@@ -2127,118 +2131,13 @@ namespace
os << "Consumer::_duplicate (this->consumes_" << c.name ()
<< "_.in ());" << endl
<< "}";
-
- // Corresponding private get_consumer_*_i() method.
-
- os << "::Components::EventConsumerBase_ptr" << endl
- << scope_.name () << "_Servant::"
- << "get_consumer_" << c.name () << "_i (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{"
- << "::Components::EventConsumerBase_ptr ret =" << endl
- << "this->lookup_consumer (\"" << c.name () << "\");" << endl;
-
- os << "if (! ::CORBA::is_nil (ret))" << endl
- << "{"
- << "return ret;"
- << "}";
-
- os << "CIAO::Port_Activator_T<" << endl;
-
- os << scope_.name () << "_Servant::";
-
- Traversal::ConsumerData::belongs (c, simple_belongs_);
-
- os << "Consumer_" << c.name ()
- << "_Servant," << endl
- << c.scoped_name ().scope_name ().scope_name ()
- << "::CCM_"
- << c.scoped_name ().scope_name ().simple_name ()
- << "," << endl
- << c.scoped_name ().scope_name ().scope_name () << "::CCM_"
- << c.scoped_name ().scope_name ().simple_name ()
- << "_Context," << endl
- << scope_.name () << "_Servant"
- << " > *tmp = 0;" << endl
- << "typedef CIAO::Port_Activator_T<" << endl;
-
- os << scope_.name () << "_Servant::";
-
- Traversal::ConsumerData::belongs (c, simple_belongs_);
-
- os << "Consumer_" << c.name ()
- << "_Servant," << endl
- << c.scoped_name ().scope_name ().scope_name ()
- << "::CCM_"
- << c.scoped_name ().scope_name ().simple_name ()
- << "," << endl
- << c.scoped_name ().scope_name ().scope_name () << "::CCM_"
- << c.scoped_name ().scope_name ().simple_name ()
- << "_Context, " << endl
- << scope_.name () << "_Servant"
- << " > " << endl
- << " MACRO_MADNESS_TYPEDEF;"
- << endl << endl;
-
- os << "ACE_NEW_THROW_EX ( " << endl
- << " tmp," << endl
- << " MACRO_MADNESS_TYPEDEF (" << endl
- << "\"" << unique_obj_name << "\"," << endl
- << "\"" << c.name () << "\"," << endl
- << "CIAO::Port_Activator::Sink," << endl
- << "this->executor_.in ()," << endl
- << "this->context_," << endl
- << "this)," << endl
- << "CORBA::NO_MEMORY ());" << endl << endl;
-
- os << "CIAO::Servant_Activator *sa = " << endl
- << "this->container_->ports_servant_activator ();" <<endl
- << "if (!sa->register_port_activator (tmp))" << endl
- << "{"
- << "return 0;" << endl
- << "}";
-
- os << "::CORBA::Object_var obj =" << endl
- << "this->container_->generate_reference (" << endl
- << "\"" << unique_obj_name << "\"," << endl;
-
- Traversal::ConsumerData::belongs (c, repo_id_belongs_);
-
- os << "," << endl
- << "CIAO::Container::Facet_Consumer" << endl
- << STRS[ENV_ARG] << ");"
- << "ACE_CHECK_RETURN (";
-
- Traversal::ConsumerData::belongs (c, belongs_);
-
- os << "Consumer::_nil ());" << endl;
-
- os << "::Components::EventConsumerBase_var ecb =" << endl
- << "::Components::EventConsumerBase::_narrow (" << endl
- << "obj.in ()" << endl
- << STRS[ENV_ARG] << ");"
- << "ACE_CHECK_RETURN (";
-
- Traversal::ConsumerData::belongs (c, belongs_);
-
- os << "Consumer::_nil ());" << endl;
-
- os << "this->add_consumer (" << endl
- << "\"" << c.name () << "\"," << endl
- << "ecb.in ());" << endl;
-
- os << "return ecb._retn ();" << endl
- << "}";
- }
+ }
private:
TypeNameEmitter type_name_emitter_;
SimpleTypeNameEmitter simple_type_name_emitter_;
- ConsumerRepoIdEmitter repo_id_emitter_;
Traversal::Belongs belongs_;
Traversal::Belongs simple_belongs_;
- Traversal::Belongs repo_id_belongs_;
SemanticGraph::Component& scope_;
};
@@ -2287,9 +2186,13 @@ namespace
traverse (SemanticGraph::Provider& p)
{
os << "obj_var =" << endl
- << "this->provide_" << p.name () << "_i (" << endl
- << STRS[ENV_SNGL_ARG] << ");"
+ << " this->provide_" << p.name () << " (" << endl
+ << " " << STRS[ENV_SNGL_ARG] << ");"
<< "ACE_CHECK;" << endl;
+
+ os << "this->add_facet (" << endl
+ << "\"" << p.name () << "\"," << endl
+ << "obj_var.in ());" << endl;
}
virtual void
@@ -2310,49 +2213,15 @@ namespace
virtual void
traverse (SemanticGraph::Consumer& p)
{
- os << "ecb_var =" << endl
- << "this->get_consumer_" << p.name () << "_i (" << endl
- << STRS[ENV_SNGL_ARG] << ");"
+ os << "ec_base_var =" << endl
+ << " this->get_consumer_" << p.name () << " (" << endl
+ << " " << STRS[ENV_SNGL_ARG] << ");"
<< "ACE_CHECK;" << endl;
- }
- };
- struct SetAttributesEmitter : Traversal::ReadWriteAttribute,
- EmitterBase
- {
- SetAttributesEmitter (Context& c)
- : EmitterBase (c),
- extract_emitter_ (c.os ()),
- assign_emitter_ (c.os ())
- {
- extract_belongs_.node_traverser (extract_emitter_);
- assign_belongs_.node_traverser (assign_emitter_);
- }
-
- virtual void
- pre (SemanticGraph::ReadWriteAttribute& a)
- {
- os << "if (ACE_OS::strcmp (descr_name, \""
- << a.name () << "\") == 0)" << endl
- << "{";
-
- Traversal::ReadWriteAttribute::belongs (a, extract_belongs_);
-
- os << "descr_value >>= " << STRS[EXTRACT] << ";"
- << "this->" << a.name () << " (";
-
- Traversal::ReadWriteAttribute::belongs (a, assign_belongs_);
-
- os << ");"
- << "continue;"
- << "}";
+ os << "this->add_consumer (" << endl
+ << "\"" << p.name () << "\"," << endl
+ << "ec_base_var.in ());" << endl;
}
-
- private:
- ExtractedTypeDeclEmitter extract_emitter_;
- AssignFromExtractedEmitter assign_emitter_;
- Traversal::Belongs extract_belongs_;
- Traversal::Belongs assign_belongs_;
};
public:
@@ -2373,31 +2242,12 @@ namespace
<< "_ptr exe," << endl
<< "::Components::CCMHome_ptr h," << endl
<< "::CIAO::Session_Container *c)" << endl
- << " : Servant_Impl_Base (c)," << endl
- << " comp_svnt_base (exe, c)" << endl
+ << " : our_base (exe, c)" << endl
<< "{"
<< "this->context_ = "
- << "new " << t.name () << "_Context (h, c, this);" << endl;
-
- // Generate the macro to register a value factory for each
- // eventtype consumed.
- {
- Traversal::Component component_emitter;
-
- Traversal::Inherits inherits;
- inherits.node_traverser (component_emitter);
-
- Traversal::Defines defines;
- component_emitter.edge_traverser (defines);
- component_emitter.edge_traverser (inherits);
-
- RegisterValueFactoryEmitter factory_emitter (ctx);
- defines.node_traverser (factory_emitter);
-
- component_emitter.traverse (t);
- }
-
- os << "ACE_TRY_NEW_ENV" << endl
+ << "new " << t.name () << "_Context (h, c, this);"
+ << endl
+ << "ACE_TRY_NEW_ENV" << endl
<< "{"
<< "::Components::SessionComponent_var scom =" << endl
<< "::Components::SessionComponent::_narrow (" << endl
@@ -2411,9 +2261,6 @@ namespace
<< STRS[ENV_ARG] << ");"
<< "ACE_TRY_CHECK;"
<< "}"
- << "this->populate_port_tables (" << endl
- << STRS[ENV_SNGL_ARG] << ");"
- << "ACE_TRY_CHECK;"
<< "}"
<< "ACE_CATCHANY" << endl
<< "{"
@@ -2427,18 +2274,7 @@ namespace
<< "{"
<< "}";
- // Override pure virtual set_attributes() operation.
- os << "void" << endl
- << t.name () << "_Servant::set_attributes (" << endl
- << "const ::Components::ConfigValues &descr" << endl
- << STRS[ENV_SRC_NOTUSED] << ")" << endl
- << "{"
- << "for (CORBA::ULong i = 0; i < descr.length (); ++i)" << endl
- << "{"
- << "const char *descr_name = descr[i]->name ();"
- << "::CORBA::Any &descr_value = descr[i]->value ();" << endl;
-
- // Generate string compare and set for each attribute.
+ // Generate provides_<facet> operation.
{
Traversal::Component component_emitter;
@@ -2449,20 +2285,30 @@ namespace
component_emitter.edge_traverser (defines);
component_emitter.edge_traverser (inherits);
- SetAttributesEmitter set_attributes_emitter (ctx);
- defines.node_traverser (set_attributes_emitter);
+ FacetProvidesEmitter provides_emitter (ctx, t);
+ defines.node_traverser (provides_emitter);
component_emitter.traverse (t);
}
+ os << "// Operations for Navigation interface." << endl << endl;
- os << "ACE_UNUSED_ARG (descr_name);"
- << "ACE_UNUSED_ARG (descr_value);" << endl;
-
- os << "}"
+ os << "CORBA::Object_ptr" << endl
+ << t.name () << "_Servant::provide_facet (" << endl
+ << "const char *name" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "if (name == 0)" << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::BAD_PARAM ()," << endl
+ << "::CORBA::Object::_nil ());" << endl
<< "}";
- // Generate provides_<facet> operation.
+ // Generate an IF block for each facet inside provide_facet().
{
Traversal::Component component_emitter;
@@ -2473,12 +2319,49 @@ namespace
component_emitter.edge_traverser (defines);
component_emitter.edge_traverser (inherits);
- FacetProvidesEmitter provides_emitter (ctx, t);
- defines.node_traverser (provides_emitter);
+ NavigationProvidesEmitter navigation_provides_emitter (ctx);
+ defines.node_traverser (navigation_provides_emitter);
component_emitter.traverse (t);
}
+ os << "ACE_THROW_RETURN (" << endl
+ << STRS[EXCP_IN] << " ()," << endl
+ << "::CORBA::Object::_nil ());" << endl
+ << "}";
+
+ os << "::Components::FacetDescriptions *" << endl
+ << t.name () << "_Servant::get_named_facets (" << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::EmitterDescriptions *" << endl
+ << t.name () << "_Servant::get_all_emitters ("
+ << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::EmitterDescriptions *" << endl
+ << t.name () << "_Servant::get_named_emitters ("
+ << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
// Generate subscribe_* and unsubscribe_* operations.
{
Traversal::Component component_emitter;
@@ -2595,6 +2478,39 @@ namespace
<< "ACE_UNUSED_ARG (ck);" << endl
<< "}";
+ os << "::Components::ConnectionDescriptions *" << endl
+ << t.name () << "_Servant::get_connections ("
+ << endl
+ << "const char * /* name */" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::ReceptacleDescriptions *" << endl
+ << t.name () << "_Servant::get_all_receptacles ("
+ << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::ReceptacleDescriptions *" << endl
+ << t.name () << "_Servant::get_named_receptacles ("
+ << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
// Generate generic operations for receptacles.
{
Traversal::Component component_emitter;
@@ -2612,6 +2528,43 @@ namespace
component_emitter.traverse (t);
}
+ os << STRS[COMP_ECB] << "_ptr" << endl
+ << t.name () << "_Servant::get_consumer (" << endl
+ << "const char *sink_name" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "if (sink_name == 0)" << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << STRS[EXCP_IN] << " ()," << endl
+ << STRS[COMP_ECB] << "::_nil ());" << endl
+ << "}";
+
+ // Generate an IF block in for each consumer in get_consumer().
+ {
+ Traversal::Component component_emitter;
+
+ Traversal::Inherits inherits;
+ inherits.node_traverser (component_emitter);
+
+ Traversal::Defines defines;
+ component_emitter.edge_traverser (defines);
+ component_emitter.edge_traverser (inherits);
+
+ ConsumesGetEmitter consumes_emitter (ctx);
+ defines.node_traverser (consumes_emitter);
+
+ component_emitter.traverse (t);
+ }
+
+ os << "ACE_THROW_RETURN (" << endl
+ << STRS[EXCP_IN] << " ()," << endl
+ << STRS[COMP_ECB] << "::_nil ());" << endl
+ << "}";
+
os << "void" << endl
<< t.name () << "_Servant::connect_consumer ("
<< endl
@@ -2651,6 +2604,31 @@ namespace
<< STRS[EXCP_IN] << " ());" << endl
<< "}";
+ os << STRS[COMP_ECB] << "_ptr" << endl
+ << t.name () << "_Servant::disconnect_consumer ("
+ << endl
+ << "const char * /* source_name */" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "," << endl
+ << STRS[EXCP_NC] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::ConsumerDescriptions *" << endl
+ << t.name () << "_Servant::get_named_consumers ("
+ << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
os << STRS[COMP_CK] << " *" << endl
<< t.name () << "_Servant::subscribe (" << endl
<< "const char *publisher_name," << endl
@@ -2732,6 +2710,30 @@ namespace
<< STRS[COMP_ECB] << "::_nil ());" << endl
<< "}";
+ // @@ (diego) These are not implemented. Whenever they are,
+ // they'll require a treatment as all the other ports above.
+
+ os << "::Components::PublisherDescriptions *" << endl
+ << t.name () << "_Servant::get_all_publishers ("
+ << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
+ os << "::Components::PublisherDescriptions *" << endl
+ << t.name () << "_Servant::get_named_publishers ("
+ << endl
+ << "const " << STRS[COMP_NAMES] << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_IN] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
+ << "}";
+
// Generate connect() and disconnect() for each emits declaration.
{
Traversal::Component component_emitter;
@@ -2749,21 +2751,146 @@ namespace
component_emitter.traverse (t);
}
- os << "CORBA::Object_ptr" << endl
+ os << "// Operations for CCMObject interface." << endl << endl;
+
+ os << "CORBA::IRObject_ptr" << endl
+ << t.name () << "_Servant::get_component_def (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::NO_IMPLEMENT ()," << endl
+ << "::CORBA::IRObject::_nil ());" << endl
+ << "}";
+
+ os << "::Components::CCMHome_ptr" << endl
+ << t.name () << "_Servant::get_ccm_home (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "return this->context_->get_CCM_home "
+ << "(ACE_ENV_SINGLE_ARG_PARAMETER);" << endl
+ << "}";
+
+ os << "::Components::PrimaryKeyBase *" << endl
+ << t.name () << "_Servant::get_primary_key (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_NKA] << "))" << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << STRS[EXCP_NKA] << " (), 0);" << endl
+ << "}";
+
+ os << "void" << endl
<< t.name ()
- << "_Servant::get_facet_executor (const char *name" << endl
- << STRS[ENV_SRC] << ")" << endl
+ << "_Servant::configuration_complete (" << endl
+ << STRS[ENV_SNGL_SRC_NOTUSED] << ")" << endl
<< STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "))" << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_ICF] << "))" << endl
<< "{"
- << "if (name == 0)" << endl
+ << "// CIAO to-do" << endl
+ << "}";
+
+ os << "void" << endl
+ << t.name () << "_Servant::remove (" << endl
+ << STRS[ENV_SNGL_SRC_NOTUSED] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_RF] << "))" << endl
<< "{"
+ << "// CIAO to-do" << endl
+ << "}";
+
+ os << "::Components::ComponentPortDescription *" << endl
+ << t.name () << "_Servant::get_all_ports (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "::Components::ComponentPortDescription_var retv =" << endl
+ << "new OBV_Components::ComponentPortDescription;" << endl
+ << "::Components::FacetDescriptions_var facets_desc =" << endl
+ << "this->get_all_facets (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK_RETURN (0);" << endl
+ << "::Components::ReceptacleDescriptions_var receptacle_desc ="
+ << endl
+ << "this->get_all_receptacles (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK_RETURN (0);" << endl
+ << "::Components::ConsumerDescriptions_var consumer_desc =" << endl
+ << "this->get_all_consumers (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK_RETURN (0);" << endl
+ << "::Components::EmitterDescriptions_var emitter_desc =" << endl
+ << "this->get_all_emitters (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK_RETURN (0);" << endl
+ << "::Components::PublisherDescriptions_var publisher_desc ="
+ << endl
+ << "this->get_all_publishers (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK_RETURN (0);" << endl
+ << "retv->facets (facets_desc.in ());"
+ << "retv->receptacles (receptacle_desc.in ());"
+ << "retv->consumers (consumer_desc.in ());"
+ << "retv->emitters (emitter_desc.in ());"
+ << "retv->publishers (publisher_desc.in ());" << endl
+ << "return retv._retn ();" << endl
+ << "}";
+
+ os << "CORBA::Object_ptr" << endl
+ << t.name () << "_Servant::_get_component (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << STRS[COMP_SC] << "_var sc =" << endl
+ << STRS[COMP_SC] << "::_narrow (" << endl
+ << "this->context_" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (::CORBA::Object::_nil ());" << endl
+ << "if (! ::CORBA::is_nil (sc.in ()))" << endl
+ << "{"
+ << "return sc->get_CCM_object (" << STRS[ENV_SNGL_ARG] << ");"
+ << endl
+ << "}"
+ << "::Components::EntityContext_var ec =" << endl
+ << "::Components::EntityContext::_narrow (" << endl
+ << "this->context_" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (::CORBA::Object::_nil ());" << endl
+ << "if (! ::CORBA::is_nil (ec.in ()))" << endl
+ << "{"
+ << "return ec->get_CCM_object (" << STRS[ENV_SNGL_ARG] << ");"
+ << endl
+ << "}"
<< "ACE_THROW_RETURN (" << endl
- << "::CORBA::BAD_PARAM ()," << endl
+ << "::CORBA::INTERNAL ()," << endl
<< "::CORBA::Object::_nil ());" << endl
<< "}";
- // Generate an IF block for each facet inside provide_facet().
+ os << "// CIAO-specific operations." << endl << endl;
+
+ os << "void" << endl
+ << t.name () << "_Servant::ciao_preactivate (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "::Components::SessionComponent_var temp =" << endl
+ << "::Components::SessionComponent::_narrow (" << endl
+ << "this->executor_.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "if (! ::CORBA::is_nil (temp.in ()))" << endl
+ << "{"
+ << "temp->ciao_preactivate (" << STRS[ENV_SNGL_ARG] << ");" << endl
+ << "}"
+ << "}";
+
+ os << "void" << endl
+ << t.name () << "_Servant::ciao_activate (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{";
+
+ // Generate the macro to register a value factory for each
+ // eventtype consumed.
{
Traversal::Component component_emitter;
@@ -2774,14 +2901,60 @@ namespace
component_emitter.edge_traverser (defines);
component_emitter.edge_traverser (inherits);
- NavigationGetFacetExecEmitter navigation_facet_exec_emitter (ctx);
- defines.node_traverser (navigation_facet_exec_emitter);
+ RegisterValueFactoryEmitter factory_emitter (ctx);
+ defines.node_traverser (factory_emitter);
component_emitter.traverse (t);
}
- os << " return CORBA::Object::_nil ();"
+ os << "::Components::SessionComponent_var temp =" << endl
+ << "::Components::SessionComponent::_narrow (" << endl
+ << "this->executor_.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "if (! ::CORBA::is_nil (temp.in ()))" << endl
+ << "{"
+ << "temp->ccm_activate (" << STRS[ENV_SNGL_ARG] << ");" << endl
+ << "}"
+ << "}";
+
+ os << "void" << endl
+ << t.name () << "_Servant::ciao_postactivate (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "::Components::SessionComponent_var temp =" << endl
+ << "::Components::SessionComponent::_narrow (" << endl
+ << "this->executor_.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "if (! ::CORBA::is_nil (temp.in ()))" << endl
+ << "{"
+ << "temp->ciao_postactivate (" << STRS[ENV_SNGL_ARG] << ");"
+// << "ACE_CHECK;"
+ << "}"
+// @@@ JP - This is commented out for now until other issues in
+// DaNCe get resolved
+// << "this->populate_port_tables (" << STRS[ENV_SNGL_ARG]
+// << ");"
<< "}";
+
+ os << "void" << endl
+ << t.name () << "_Servant::_ciao_passivate (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "::Components::SessionComponent_var temp =" << endl
+ << "::Components::SessionComponent::_narrow (" << endl
+ << "this->executor_.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "if (! ::CORBA::is_nil (temp.in ()))" << endl
+ << "{"
+ << "temp->ccm_passivate (" << STRS[ENV_SNGL_ARG] << ");" << endl
+ << "}"
+ << "}";
+
os << "// Supported operations." << endl << endl;
// Generate operations for all supported interfaces.
@@ -2870,7 +3043,7 @@ namespace
}
os << "// Private method to populate the port tables."
- << endl;
+ << endl << endl;
os << "void" << endl
<< t.name () << "_Servant::populate_port_tables (" << endl
@@ -2878,7 +3051,7 @@ namespace
<< STRS[EXCP_SNGL] << endl
<< "{"
<< "::CORBA::Object_var obj_var;"
- << "::Components::EventConsumerBase_var ecb_var;" << endl;
+ << "::Components::EventConsumerBase_var ec_base_var;" << endl;
{
Traversal::Component component_emitter;
@@ -3181,7 +3354,7 @@ namespace
os << "{"
<< "ACE_THROW_RETURN (" << endl
<< "::CORBA::NO_IMPLEMENT ()," << endl;
-
+
Traversal::HomeFinder::returns (hf, simple_returns_);
os << "::_nil ());"
@@ -3219,8 +3392,9 @@ namespace
<< t.scoped_name ().scope_name () << "::CCM_" << t.name ()
<< "_ptr exe," << endl
<< "::CIAO::Session_Container *c)" << endl
- << " : CIAO::Home_Servant_Impl_Base (c)," << endl
- << " " << "home_svnt_base (exe, c)" << endl
+ << ": executor_ (" << t.scoped_name ().scope_name () << "::CCM_"
+ << t.name () << "::_duplicate (exe))," << endl
+ << "container_ (c)" << endl
<< "{"
<< "}";
@@ -3417,6 +3591,380 @@ namespace
home_emitter.traverse (t);
}
+
+ os << "// Operations for keyless home interface." << endl << endl;
+
+ os << "::Components::CCMObject_ptr" << endl
+ << t.name () << "_Servant::create_component (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << "::Components::CreateFailure))" << endl
+ << "{"
+ << "return this->create (" << STRS[ENV_SNGL_ARG] << ");" << endl
+ << "}";
+
+ os << "// Operations for implicit home interface." << endl << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_ptr" << endl
+ << t.name () << "_Servant::create (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << "::Components::CreateFailure))" << endl
+ << "{"
+ << "if (this->executor_.in () == 0)" << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::INTERNAL ()," << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());" << endl
+ << "}"
+ << STRS[COMP_EC] << "_var _ciao_ec =" << endl
+ << "this->executor_->create (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());" << endl;
+
+ {
+ EnclosingTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::CCM_";
+
+ {
+ SimpleTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_var _ciao_comp =" << endl;
+
+ {
+ EnclosingTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::CCM_";
+
+ {
+ SimpleTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_narrow (" << endl
+ << "_ciao_ec.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());" << endl
+ << "return this->_ciao_activate_component (" << endl
+ << "_ciao_comp.in ()" << endl
+ << STRS[ENV_ARG] << ");" << endl
+ << "}";
+
+ os << "// Operations for CCMHome interface." << endl << endl;
+
+ os << "::CORBA::IRObject_ptr" << endl
+ << t.name () << "_Servant::get_component_def (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::NO_IMPLEMENT ()," << endl
+ << "::CORBA::IRObject::_nil ());" << endl
+ << "}";
+
+ os << "::CORBA::IRObject_ptr" << endl
+ << t.name () << "_Servant::get_home_def (" << endl
+ << STRS[ENV_SNGL_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "ACE_THROW_RETURN (" << endl
+ << "::CORBA::NO_IMPLEMENT ()," << endl
+ << "::CORBA::IRObject::_nil ());" << endl
+ << "}";
+
+ os << "void" << endl
+ << t.name () << "_Servant::remove_component (" << endl
+ << "::Components::CCMObject_ptr comp" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_START] << endl
+ << STRS[EXCP_SYS] << "," << endl
+ << STRS[EXCP_RF] << "))" << endl
+ << "{";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_var _ciao_comp =" << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_narrow (" << endl
+ << "comp" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "if (CORBA::is_nil (_ciao_comp.in ()))" << endl
+ << "{"
+ << "ACE_THROW (CORBA::INTERNAL ());" << endl
+ << "}"
+ << "_ciao_comp->remove (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "this->_ciao_passivate_component (" << endl
+ << "_ciao_comp.in ()" << endl
+ << STRS[ENV_ARG] << ");" << endl
+ << "}";
+
+ os << "// CIAO-specific operations." << endl << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_ptr" << endl
+ << t.name ()
+ << "_Servant::_ciao_activate_component (" << endl;
+
+ {
+ EnclosingTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::CCM_";
+
+ {
+ SimpleTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_ptr exe" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "::CORBA::Object_var hobj =" << endl
+ << "this->container_->get_objref (" << endl
+ << "this" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());"
+ << endl
+ << "::Components::CCMHome_var home =" << endl
+ << "::Components::CCMHome::_narrow (" << endl
+ << "hobj.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());"
+ << endl;
+
+ {
+ SimpleTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_Servant *svt =" << endl
+ << "new ";
+
+ {
+ SimpleTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_Servant ("
+ << endl
+ << "exe," << endl
+ << "home.in ()," << endl
+ << "this->container_);" << endl
+ << "PortableServer::ServantBase_var safe (svt);"
+ << "PortableServer::ObjectId_var oid;" << endl
+ << "CORBA::Object_var objref =" << endl
+ << "this->container_->install_component (" << endl
+ << "svt," << endl
+ << "oid.out ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());"
+ << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_var ho =" << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_narrow (" << endl
+ << "objref.in ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK_RETURN (";
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "::_nil ());"
+ << endl
+ << "if (this->component_map_.bind (oid.in (), svt) == 0)" << endl
+ << "{"
+ << "safe._retn ();" << endl
+ << "}"
+ << "return ho._retn ();" << endl
+ << "}";
+
+ os << "void" << endl
+ << t.name ()
+ << "_Servant::_ciao_passivate_component (" << endl;
+
+ {
+ TypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_ptr comp" << endl
+ << STRS[ENV_SRC] << ")" << endl
+ << STRS[EXCP_SNGL] << endl
+ << "{"
+ << "PortableServer::ObjectId_var oid;" << endl
+ << "this->container_->uninstall_component (" << endl
+ << "comp," << endl
+ << "oid.out ()" << endl
+ << STRS[ENV_ARG] << ");"
+ << "ACE_CHECK;" << endl;
+
+ {
+ SimpleTypeNameEmitter name_emitter (os);
+ Traversal::Manages manages_;
+ manages_.node_traverser (name_emitter);
+
+ manages (t, manages_);
+ }
+
+ os << "_Servant *servant = 0;"
+ << endl
+ << "if (this->component_map_.unbind (oid.in (), servant) == 0)"
+ << endl
+ << "{"
+ << "PortableServer::ServantBase_var safe (servant);" << endl
+ << "servant->_ciao_passivate (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK;" << endl
+ << "}"
+ << "}";
}
virtual void
@@ -3513,9 +4061,7 @@ ServantSourceEmitter::pre (TranslationUnit& u)
+ "/");
os << "#include \"" << file_name << "\"" << endl
- << "#include \"Cookies.h\"" << endl
- << "#include \"ciao/Servant_Activator.h\"" << endl
- << "#include \"ciao/Port_Activator_T.h\"" << endl << endl;
+ << "#include \"Cookies.h\"" << endl << endl;
}
void
diff --git a/TAO/CIAO/CIDLC/TypeNameEmitter.cpp b/TAO/CIAO/CIDLC/TypeNameEmitter.cpp
index 6603518da0c..863a7813d78 100644
--- a/TAO/CIAO/CIDLC/TypeNameEmitter.cpp
+++ b/TAO/CIAO/CIDLC/TypeNameEmitter.cpp
@@ -15,141 +15,6 @@ TypeNameEmitter::TypeNameEmitter (ostream& os_)
{
}
-void
-TypeNameEmitter::traverse (Void&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Boolean&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Octet&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Char&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Wchar&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Short&)
-{
-}
-
-void
-TypeNameEmitter::traverse (UnsignedShort&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Long&)
-{
-}
-
-void
-TypeNameEmitter::traverse (UnsignedLong&)
-{
-}
-
-void
-TypeNameEmitter::traverse (LongLong&)
-{
-}
-
-void
-TypeNameEmitter::traverse (UnsignedLongLong&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Float&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Double&)
-{
-}
-
-void
-TypeNameEmitter::traverse (String&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Wstring&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Object&)
-{
-}
-
-void
-TypeNameEmitter::traverse (ValueBase&)
-{
-}
-
-void
-TypeNameEmitter::traverse (Any&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::Enum&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::Struct&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::Union&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::UnboundedSequence&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::Interface&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::ValueType&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::EventType&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::Component&)
-{
-}
-
-void
-TypeNameEmitter::traverse (SemanticGraph::Home&)
-{
-}
-
// ====================================================================
ReturnTypeNameEmitter::ReturnTypeNameEmitter (ostream& os_)
@@ -345,6 +210,12 @@ INArgTypeNameEmitter::INArgTypeNameEmitter (ostream& os_)
}
void
+INArgTypeNameEmitter::traverse (Void&)
+{
+ // No-op, but the base class method is pure virtual.
+}
+
+void
INArgTypeNameEmitter::traverse (Boolean&)
{
os << "::CORBA::Boolean";
@@ -508,6 +379,12 @@ INOUTArgTypeNameEmitter::INOUTArgTypeNameEmitter (ostream& os_)
}
void
+INOUTArgTypeNameEmitter::traverse (Void&)
+{
+ // No-op, but the base class method is pure virtual.
+}
+
+void
INOUTArgTypeNameEmitter::traverse (Boolean&)
{
os << "::CORBA::Boolean &";
@@ -671,6 +548,12 @@ OUTArgTypeNameEmitter::OUTArgTypeNameEmitter (ostream& os_)
}
void
+OUTArgTypeNameEmitter::traverse (Void&)
+{
+ // No-op, but the base class method is pure virtual.
+}
+
+void
OUTArgTypeNameEmitter::traverse (Boolean&)
{
os << "::CORBA::Boolean_out";
@@ -834,6 +717,11 @@ NullReturnEmitter::NullReturnEmitter (ostream& os_)
}
void
+NullReturnEmitter::traverse (Void&)
+{
+}
+
+void
NullReturnEmitter::traverse (Boolean&)
{
os << "return false;";
@@ -938,8 +826,7 @@ NullReturnEmitter::traverse (Any&)
void
NullReturnEmitter::traverse (SemanticGraph::Enum& e)
{
- os << e.scoped_name () << " retval;" << endl
- << "return retval;";
+ os << e.scoped_name ();
}
void
@@ -1014,529 +901,4 @@ NullReturnEmitter::traverse (SemanticGraph::Home& h)
os << "return " << h.scoped_name () << "::_nil ();";
}
-// ====================================================================
-
-NullRHSEmitter::NullRHSEmitter (ostream& os_)
- : TypeNameEmitter (os_)
-{
-}
-
-void
-NullRHSEmitter::traverse (Boolean&)
-{
- os << "= false;";
-}
-
-void
-NullRHSEmitter::traverse (Octet&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Char&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Wchar&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Short&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (UnsignedShort&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Long&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (UnsignedLong&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (LongLong&)
-{
- os << "= ACE_CDR_LONGLONG_INITIALIZER;";
-}
-
-void
-NullRHSEmitter::traverse (UnsignedLongLong&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Float&)
-{
- os << "= 0.0f;";
-}
-
-void
-NullRHSEmitter::traverse (Double&)
-{
- os << "= 0.0;";
-}
-
-void
-NullRHSEmitter::traverse (String&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Wstring&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Object&)
-{
- os << "= ::CORBA::Object::_nil ();";
-}
-
-void
-NullRHSEmitter::traverse (ValueBase&)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (Any&)
-{
- // This will hopefully work both if the lhs is a pointer (for example
- // RetunrTypeNameEmitter) or not (for example INArgTypeNameEmitter).
- os << ";";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::Enum& e)
-{
- os << ";";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::Struct& s)
-{
- // This should always be in the context, since the SizeTypeCalculator
- // is executed before the servant code generators.
- bool var_size = s.context ().get<bool> (STRS[VAR_SIZE]);
-
- if (var_size)
- {
- os << "= 0;";
- }
- else
- {
- os << ";";
- }
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::Union& u)
-{
- // This should always be in the context, since the SizeTypeCalculator
- // is executed before the servant code generators.
- bool var_size = u.context ().get<bool> (STRS[VAR_SIZE]);
-
- if (var_size)
- {
- os << "= 0;";
- }
- else
- {
- os << ";";
- }
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::UnboundedSequence& s)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::Interface& i)
-{
- os << "= " << i.scoped_name () << "::_nil ();";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::ValueType& v)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::EventType& e)
-{
- os << "= 0;";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::Component& c)
-{
- os << "= " << c.scoped_name () << "::_nil ();";
-}
-
-void
-NullRHSEmitter::traverse (SemanticGraph::Home& h)
-{
- os << "= " << h.scoped_name () << "::_nil ();";
-}
-
-// ====================================================================
-
-ExtractedTypeDeclEmitter::ExtractedTypeDeclEmitter (ostream& os_)
- : TypeNameEmitter (os_)
-{
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Boolean&)
-{
- os << "::CORBA::Boolean " << STRS[EXTRACT_TMP] << " = false;"
- << "::CORBA::Any::to_boolean " << STRS[EXTRACT]
- << " (" << STRS[EXTRACT_TMP] << ");";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Octet&)
-{
- os << "::CORBA::Octet " << STRS[EXTRACT_TMP] << " = 0;"
- << "::CORBA::Any::to_octet " << STRS[EXTRACT]
- << " (" << STRS[EXTRACT_TMP] << ");";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Char&)
-{
- os << "::CORBA::Char " << STRS[EXTRACT_TMP] << " = 0;"
- << "::CORBA::Any::to_char " << STRS[EXTRACT]
- << " (" << STRS[EXTRACT_TMP] << ");";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Wchar&)
-{
- os << "::CORBA::WChar " << STRS[EXTRACT_TMP] << " = 0;"
- << "::CORBA::Any::to_wchar " << STRS[EXTRACT]
- << " (" << STRS[EXTRACT_TMP] << ");";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Short&)
-{
- os << "::CORBA::Short " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (UnsignedShort&)
-{
- os << "::CORBA::UShort " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Long&)
-{
- os << "::CORBA::Long " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (UnsignedLong&)
-{
- os << "::CORBA::ULong " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (LongLong&)
-{
- os << "::CORBA::LongLong " << STRS[EXTRACT]
- << " = ACE_CDR_LONGLONG_INITIALIZER;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (UnsignedLongLong&)
-{
- os << "::CORBA::ULongLong " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Float&)
-{
- os << "::CORBA::Float " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Double&)
-{
- os << "::CORBA::Double " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (String&)
-{
- os << "const char * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Wstring&)
-{
- os << "::CORBA::WChar * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Object&)
-{
- os << "::CORBA::Object_ptr " << STRS[EXTRACT]
- << " = ::CORBA::Object::_nil ();";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (ValueBase&)
-{
- os << "::CORBA::ValueBase * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (Any&)
-{
- os << "::CORBA::Any * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::Enum& e)
-{
- os << e.scoped_name () << "" << STRS[EXTRACT] << ";";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::Struct& s)
-{
- os << s.scoped_name () << "" << STRS[EXTRACT] << ";";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::Union& u)
-{
- os << u.scoped_name () << "" << STRS[EXTRACT] << ";";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::UnboundedSequence& s)
-{
- os << s.scoped_name () << " * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::Interface& i)
-{
- os << i.scoped_name () << "_ptr " << STRS[EXTRACT] << " = "
- << i.scoped_name () << "::_nil ();";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::ValueType& v)
-{
- os << v.scoped_name () << " * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::EventType& e)
-{
- os << e.scoped_name () << " * " << STRS[EXTRACT] << " = 0;";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::Component& c)
-{
- os << c.scoped_name () << "_ptr " << STRS[EXTRACT] << " = "
- << c.scoped_name () << "::_nil ();";
-}
-
-void
-ExtractedTypeDeclEmitter::traverse (SemanticGraph::Home& h)
-{
- os << h.scoped_name () << "_ptr " << STRS[EXTRACT] << " = "
- << h.scoped_name () << "::_nil ();";
-}
-
-// ====================================================================
-
-AssignFromExtractedEmitter::AssignFromExtractedEmitter (ostream& os_)
- : TypeNameEmitter (os_)
-{
-}
-
-void
-AssignFromExtractedEmitter::traverse (Boolean&)
-{
- os << STRS[EXTRACT] << ".ref_";
-}
-
-void
-AssignFromExtractedEmitter::traverse (Octet&)
-{
- os << STRS[EXTRACT] << ".ref_";
-}
-
-void
-AssignFromExtractedEmitter::traverse (Char&)
-{
- os << STRS[EXTRACT] << ".ref_";
-}
-
-void
-AssignFromExtractedEmitter::traverse (Wchar&)
-{
- os << STRS[EXTRACT] << ".ref_";
-}
-
-void
-AssignFromExtractedEmitter::traverse (Short&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (UnsignedShort&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (Long&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (UnsignedLong&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (LongLong&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (UnsignedLongLong&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (Float&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (Double&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (String&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (Wstring&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (Object&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (ValueBase&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (Any&)
-{
- os << "*" << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::Enum&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::Struct&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::Union&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::UnboundedSequence&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::Interface&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::ValueType&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::EventType&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::Component&)
-{
- os << STRS[EXTRACT];
-}
-
-void
-AssignFromExtractedEmitter::traverse (SemanticGraph::Home&)
-{
- os << STRS[EXTRACT];
-}
diff --git a/TAO/CIAO/CIDLC/TypeNameEmitter.hpp b/TAO/CIAO/CIDLC/TypeNameEmitter.hpp
index cab1c29e1b8..8a66e400d53 100644
--- a/TAO/CIAO/CIDLC/TypeNameEmitter.hpp
+++ b/TAO/CIAO/CIDLC/TypeNameEmitter.hpp
@@ -43,35 +43,6 @@ class TypeNameEmitter : public Traversal::Void,
public Traversal::Component,
public Traversal::Home
{
-public:
- virtual void traverse (Void&);
- virtual void traverse (Boolean&);
- virtual void traverse (Octet&);
- virtual void traverse (Char&);
- virtual void traverse (Wchar&);
- virtual void traverse (Short&);
- virtual void traverse (UnsignedShort&);
- virtual void traverse (Long&);
- virtual void traverse (UnsignedLong&);
- virtual void traverse (LongLong&);
- virtual void traverse (UnsignedLongLong&);
- virtual void traverse (Float&);
- virtual void traverse (Double&);
- virtual void traverse (String&);
- virtual void traverse (Wstring&);
- virtual void traverse (Object&);
- virtual void traverse (ValueBase&);
- virtual void traverse (Any&);
- virtual void traverse (SemanticGraph::Enum&);
- virtual void traverse (SemanticGraph::Struct&);
- virtual void traverse (SemanticGraph::Union&);
- virtual void traverse (SemanticGraph::UnboundedSequence&);
- virtual void traverse (SemanticGraph::Interface&);
- virtual void traverse (SemanticGraph::ValueType&);
- virtual void traverse (SemanticGraph::EventType&);
- virtual void traverse (SemanticGraph::Component&);
- virtual void traverse (SemanticGraph::Home&);
-
protected:
TypeNameEmitter (std::ostream&);
@@ -123,6 +94,7 @@ class INArgTypeNameEmitter : public TypeNameEmitter
public:
INArgTypeNameEmitter (std::ostream&);
+ virtual void traverse (Void&);
virtual void traverse (Boolean&);
virtual void traverse (Octet&);
virtual void traverse (Char&);
@@ -159,6 +131,7 @@ class INOUTArgTypeNameEmitter : public TypeNameEmitter
public:
INOUTArgTypeNameEmitter (std::ostream&);
+ virtual void traverse (Void&);
virtual void traverse (Boolean&);
virtual void traverse (Octet&);
virtual void traverse (Char&);
@@ -195,6 +168,7 @@ class OUTArgTypeNameEmitter : public TypeNameEmitter
public:
OUTArgTypeNameEmitter (std::ostream&);
+ virtual void traverse (Void&);
virtual void traverse (Boolean&);
virtual void traverse (Octet&);
virtual void traverse (Char&);
@@ -232,115 +206,7 @@ class NullReturnEmitter : public TypeNameEmitter
public:
NullReturnEmitter (std::ostream&);
- virtual void traverse (Boolean&);
- virtual void traverse (Octet&);
- virtual void traverse (Char&);
- virtual void traverse (Wchar&);
- virtual void traverse (Short&);
- virtual void traverse (UnsignedShort&);
- virtual void traverse (Long&);
- virtual void traverse (UnsignedLong&);
- virtual void traverse (LongLong&);
- virtual void traverse (UnsignedLongLong&);
- virtual void traverse (Float&);
- virtual void traverse (Double&);
- virtual void traverse (String&);
- virtual void traverse (Wstring&);
- virtual void traverse (Object&);
- virtual void traverse (ValueBase&);
- virtual void traverse (Any&);
- virtual void traverse (SemanticGraph::Enum&);
- virtual void traverse (SemanticGraph::Struct&);
- virtual void traverse (SemanticGraph::Union&);
- virtual void traverse (SemanticGraph::UnboundedSequence&);
- virtual void traverse (SemanticGraph::Interface&);
- virtual void traverse (SemanticGraph::ValueType&);
- virtual void traverse (SemanticGraph::EventType&);
- virtual void traverse (SemanticGraph::Component&);
- virtual void traverse (SemanticGraph::Home&);
-};
-
-// Generates the appropriate NULL value, including the assignment operator,
-// if needed, for the rhs of an assignment statement.
-//
-//
-class NullRHSEmitter : public TypeNameEmitter
-{
-public:
- NullRHSEmitter (std::ostream&);
-
- virtual void traverse (Boolean&);
- virtual void traverse (Octet&);
- virtual void traverse (Char&);
- virtual void traverse (Wchar&);
- virtual void traverse (Short&);
- virtual void traverse (UnsignedShort&);
- virtual void traverse (Long&);
- virtual void traverse (UnsignedLong&);
- virtual void traverse (LongLong&);
- virtual void traverse (UnsignedLongLong&);
- virtual void traverse (Float&);
- virtual void traverse (Double&);
- virtual void traverse (String&);
- virtual void traverse (Wstring&);
- virtual void traverse (Object&);
- virtual void traverse (ValueBase&);
- virtual void traverse (Any&);
- virtual void traverse (SemanticGraph::Enum&);
- virtual void traverse (SemanticGraph::Struct&);
- virtual void traverse (SemanticGraph::Union&);
- virtual void traverse (SemanticGraph::UnboundedSequence&);
- virtual void traverse (SemanticGraph::Interface&);
- virtual void traverse (SemanticGraph::ValueType&);
- virtual void traverse (SemanticGraph::EventType&);
- virtual void traverse (SemanticGraph::Component&);
- virtual void traverse (SemanticGraph::Home&);
-};
-
-// Declares and initializes a variable to use for any extraction.
-//
-//
-class ExtractedTypeDeclEmitter : public TypeNameEmitter
-{
-public:
- ExtractedTypeDeclEmitter (std::ostream&);
-
- virtual void traverse (Boolean&);
- virtual void traverse (Octet&);
- virtual void traverse (Char&);
- virtual void traverse (Wchar&);
- virtual void traverse (Short&);
- virtual void traverse (UnsignedShort&);
- virtual void traverse (Long&);
- virtual void traverse (UnsignedLong&);
- virtual void traverse (LongLong&);
- virtual void traverse (UnsignedLongLong&);
- virtual void traverse (Float&);
- virtual void traverse (Double&);
- virtual void traverse (String&);
- virtual void traverse (Wstring&);
- virtual void traverse (Object&);
- virtual void traverse (ValueBase&);
- virtual void traverse (Any&);
- virtual void traverse (SemanticGraph::Enum&);
- virtual void traverse (SemanticGraph::Struct&);
- virtual void traverse (SemanticGraph::Union&);
- virtual void traverse (SemanticGraph::UnboundedSequence&);
- virtual void traverse (SemanticGraph::Interface&);
- virtual void traverse (SemanticGraph::ValueType&);
- virtual void traverse (SemanticGraph::EventType&);
- virtual void traverse (SemanticGraph::Component&);
- virtual void traverse (SemanticGraph::Home&);
-};
-
-// Declares and initializes a variable to use for any extraction.
-//
-//
-class AssignFromExtractedEmitter : public TypeNameEmitter
-{
-public:
- AssignFromExtractedEmitter (std::ostream&);
-
+ virtual void traverse (Void&);
virtual void traverse (Boolean&);
virtual void traverse (Octet&);
virtual void traverse (Char&);
diff --git a/TAO/CIAO/CIDLC/cidlc.cpp b/TAO/CIAO/CIDLC/cidlc.cpp
index 5961e28869f..d7db7708d53 100644
--- a/TAO/CIAO/CIDLC/cidlc.cpp
+++ b/TAO/CIAO/CIDLC/cidlc.cpp
@@ -23,7 +23,9 @@
#include "ExecutorMappingGenerator.hpp"
#include "ServantGenerator.hpp"
#include "ExecImplGenerator.hpp"
+/*
#include "RepositoryIdGenerator.hpp"
+*/
#include "DescriptorGenerator.hpp"
#include "SizeTypeCalculator.hpp"
@@ -96,7 +98,9 @@ main (int argc, char* argv[])
ExecutorMappingGenerator lem_gen;
ServantGenerator svnt_gen (cl);
ExecImplGenerator impl_gen (cl);
+ /*
RepositoryIdGenerator repid_gen;
+ */
DescriptorGenerator desc_gen;
SizeTypeCalculator sizetype_calc;
@@ -194,6 +198,8 @@ main (int argc, char* argv[])
return 0;
}
+ //}
+
Diagnostic::Stream dout;
ErrorDetector detector (cerr.rdbuf ());
cerr.rdbuf (&detector);
@@ -281,11 +287,6 @@ main (int argc, char* argv[])
sizetype_calc.calculate (tu);
}
- // Compute repository IDs in a separate pass.
- {
- if (!repid_gen.generate (tu)) return 1;
- }
-
// Generate servant code.
{
svnt_gen.generate (tu, file_path);
@@ -297,6 +298,14 @@ main (int argc, char* argv[])
impl_gen.generate (tu, file_path);
}
+ /*
+
+ // Compute repository IDs in a separate pass.
+ {
+ repid_gen.generate (tu);
+ }
+
+ */
// Generate descriptor code.
{
desc_gen.generate (cl, tu);
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index 359c70cc43b..3666fb33f71 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,958 +1,3 @@
-Thu Sep 16 10:15:04 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * DAnCE/ciao/Servant_Impl_Base.h:
-
- Added inheritance to Servant_Impl_Base of
- POA_Components::CCMObject to bring it in sync with the
- version in regular CIAO/ciao.
-
- * DAnCE/ciao/Servant_Impl_T.h:
-
- Made inheritance of Servant_Impl_Base virtual, to bring it
- in sync with the version in regular CIAO/ciao.
-
-Thu Sep 16 08:44:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * DAnCE/ciao/Servant_Activator.cpp:
- * CIAO/ciao/Servant_Activator.cpp:
- Fixed compile errors in Borland build
-
-Tue Sep 14 20:43:31 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ciao/Context_Impl_Base.h:
- * DAnCE/ciao/Context_Impl_Base.h:
-
- Moved a sufficiently substantial included file above the
- #pragma once directive, so that some compilers will not
- complain that it's obsolete.
-
-Tue Sep 14 15:02:24 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * DAnCE/ciao/Context_Impl_Base.cpp:
- * DAnCE/ciao/Context_Impl_Base.h:
- * DAnCE/ciao/Context_Impl_T.cpp:
- * DAnCE/ciao/Context_Impl_T.h:
- * DAnCE/ciao/Home_Servant_Impl_Base.cpp:
- * DAnCE/ciao/Home_Servant_Impl_Base.h:
- * DAnCE/ciao/Home_Servant_Impl_T.cpp:
- * DAnCE/ciao/Home_Servant_Impl_T.h:
- * ciao/Context_Impl_Base.cpp:
- * ciao/Context_Impl_Base.h:
- * ciao/Context_Impl_T.cpp:
- * ciao/Context_Impl_T.h:
- * ciao/Home_Servant_Impl_Base.cpp:
- * ciao/Home_Servant_Impl_Base.h:
- * ciao/Home_Servant_Impl_T.cpp:
- * ciao/Home_Servant_Impl_T.h:
-
- New files, duplicated in CIAO/ciao and
- CIAO/DAnCE/ciao, containing base classes
- for the CIDL-compiler-generated context
- and home servant classes. A template class
- sits in the hierarchy between the generated
- class and its skeleton base class (in the
- case of the home servant) or its executor
- base (in the case of the context). The
- template class also inherits from a
- non-template class which is used to hold
- members and operations not using any template
- parameters.
-
- * CIDLC/ServantHeaderGenerator.cpp:
- * CIDLC/ServantSourceGenerator.cpp:
- * DAnCE/ciao/CCM_Core.mpc:
- * DAnCE/ciao/Servant_Impl_Base.cpp:
- * DAnCE/ciao/Servant_Impl_Base.h:
- * DAnCE/ciao/Servant_Impl_T.cpp:
- * DAnCE/ciao/Servant_Impl_T.h:
- * ciao/CCM_Core.mpc:
- * ciao/Servant_Impl_Base.cpp:
- * ciao/Servant_Impl_Base.h:
- * ciao/Servant_Impl_T.cpp:
- * ciao/Servant_Impl_T.h:
-
- Modified existing files to correspond with the
- new files described above and:
-
- - Added implementations for the component servant
- operations provide_facet(), get_named_facets(),
- get_consumer() and get_named_consumers().
-
- - Added inheritance of CCMObject to the non-template
- base class, to enable operations in the template
- base class, which used no template parameters but
- which were there only to be in the inheritance
- hierarchy from skeleton to generated servant, to
- be moved to the non-template base class, and
- thus not be reinstantiated with every new type.
-
- - Moved operations from generated code to one of
- the two base classes.
-
-Mon Sep 13 13:18:33 2004 Gan Deng <gan.deng@vanderbilt.edu>
-
- * RepositoryManager/Update_Plan.h
-
- Fixed a waring in Windows build by changing "class" to "struct"
- in forward declaration.
-
- * examples/BasicSP/BasicSP.mpc
- * examples/BasicSP/BMClosedED/BMClosedED.mpc
- * examples/BasicSP/BMDevice/BMDevice.mpc
- * examples/BasicSP/BMDisplay/BMDisplay.mpc
- * examples/BasicSP/EC/EC.mpc
-
- Changed the output stub, servant, and executor library names
- for all the components in BasicSP example. The reason is
- becasue all the DnC descriptors are tightly coupled with the
- output library names. I might come back switch this change
- back since this will conflict with the BasicSP example in
- CIAO_ROOT/examples.
-
-Mon Sep 13 13:07:33 2004 Gan Deng <gan.deng@vanderbilt.edu>
-
- * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
-
- Fixed a bug inside create_connections () method.
-
-Mon Sep 13 15:16:33 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/NodeApplicationTest/run_test.pl:
- * DAnCE/tests/NodeApplicationTest/run_test_ex.pl:
- * DAnCE/tests/NodeApplicationTest/run_test_simple.pl:
-
- Fixed the paths in the scripts.
-
-Mon Sep 13 07:11:06 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Port_Activator.h:
- * DAnCE/ciao/Servant_Activator.cpp:
- * ciao/Port_Activator.h:
- * ciao/Servant_Activator.cpp:
-
- Fixes for MSVC++ compilation errors. Inspite of being careful I
- introduced a couple of VC++ anathemas.
-
-Mon Sep 13 06:16:31 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Container_Base.cpp:
- * ciao/Container_Base.cpp:
-
- Fixed wrong ACE_CHECK usage. This should fix compilation errors
- in Full_Reactors build.
-
-Mon Sep 13 04:20:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/CCM_Core.mpc:
-
- Removed iorinterceptor and objreftemplate from CIAO_DnC_Server
- project. No reason to believe that they need thes. This should
- hopefully remove the warnings in our daily builds.
-
- * examples/Hello/Sender/Sender_exec.cpp:
-
- Added a simple debug statement.
-
- * performance-tests/Benchmark/Benchmark.mpc:
-
- Tried fixing the link errors on the scoreboard.
-
-Mon Sep 13 03:50:08 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/CCM_Core.mpc:
- * DAnCE/ciao/Container_Base.cpp:
- * DAnCE/ciao/Container_Base.h:
- * DAnCE/ciao/Container_Base.inl:
- * DAnCE/ciao/Port_Activator.cpp:
- * DAnCE/ciao/Port_Activator.h:
- * DAnCE/ciao/Port_Activator_T.cpp:
- * DAnCE/ciao/Port_Activator_T.h:
- * DAnCE/ciao/Servant_Activator.cpp:
- * DAnCE/ciao/Servant_Activator.h:
-
- Replicated changes to DAnCE. DAnCE testing hasn't been completed
- yet.
-
-Sun Sep 12 22:10:38 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * CIDLC/ServantHeaderGenerator.cpp:
- * CIDLC/ServantSourceGenerator.cpp:
-
- Changes to the CIDL which uses the servant and port activators
- checked in now.
-
-Mon Sep 13 03:00:52 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- To overcome the long standing problem in DAnCE, we are now making
- the facet and consumer servants to be on demand activatable. This
- would make sure that application level ports are not activated
- until used. This should help address the problems between DAnCE
- and existing way of doing things. These changes should be useful
- even after old CIAO is removed since we want to give existing
- component applications the same activation semantics with DAnCE.
-
- This checkin addresses old CIAO. DAnCE and CIDLC changes will come
- in soon.
-
- * ciao/Servant_Activator.cpp:
- * ciao/Servant_Activator.h:
-
- New files for facet and consumer activations. We now have a
- seperate servant activator for facet and consumer ports. The
- servant activator acts like a factory activating the right port
- activators which can create the right servant for every port.
-
- * ciao/Port_Activator.cpp:
- * ciao/Port_Activator.h:
- * ciao/Port_Activator_T.cpp:
- * ciao/Port_Activator_T.h:
-
- Concrete port activators for every port.
-
- * ciao/CCM_Core.mpc:
-
- Added the new files for building.
-
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
- * ciao/Container_Base.inl:
-
- Changes to the Container to use the above servant activator. The
- continer creates the servant activator and sets that in the POA
- meant for facet and consumers.
-
-Fri Sep 10 23:08:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Container_Base.cpp:
- * DAnCE/ciao/Container_Base.h:
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
-
- Reverted this change "Sat Sep 11 03:35:24 2004 Balachandran
- Natarajan <bala@dre.vanderbilt.edu>"
-
-Fri Sep 10 22:53:58 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/CCM_Core.mpc:
- * ciao/CCM_Core.mpc:
-
- Linked with TAO_Utils library
-
-Sat Sep 11 03:35:24 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Container_Base.cpp:
- * DAnCE/ciao/Container_Base.h:
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
-
- Removed install_servant () since it is not used.
-
-Fri Sep 10 22:28:45 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * CIDLC/ServantSourceGenerator.cpp:
-
- Changes to accomodate the accessor renaming.
-
-Sat Sep 11 03:22:06 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
- * ciao/Container_Base.inl:
- * DAnCE/ciao/Container_Base.cpp:
- * DAnCE/ciao/Container_Base.h:
- * DAnCE/ciao/Container_Base.inl:
-
- Made a few changes. They are
-
- . Added a second POA into the container. One of the POA's will
- host the component and the other POA will host the facet and
- consumer servants. Obviously the two POA's have different sets
- of policies. The new POA is primarily targeted to activate
- facet and consumer servants on demand.
-
- . Renamed the accessor to the ORB and POA. Made them const
- methods
-
- . Improved documentation and a number of costeic changes.
-
-
- * DAnCE/RepositoryManager/Repository_Manager.cpp:
- * DAnCE/RepositoryManager/Update_Plan.cpp:
- * DAnCE/RepositoryManager/Update_Plan.h:
-
- BUnch of cosmetic changes to be conformant with ACE+TAI coding
- guidelines.
-
- * DAnCE/ciao/Servant_Impl_Base.cpp:
- * DAnCE/ciao/Servant_Impl_T.cpp:
- * ciao/Servant_Impl_Base.cpp:
- * ciao/Servant_Impl_T.cpp:
-
- Fixed simple compilation errors and warnings.
-
-Thu Sep 9 17:07:59 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tests/IDL3/Events/Abstract/Abstract.idl:
-
- Uncommented IDL testing multiple inheritance of eventtypes.
-
-Thu Sep 9 10:30:22 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * DAnCE/ciao/Container_Base.cpp:
- * DAnCE/ciao/Container_Base.h:
- * ciao/Container_Base.cpp:
-
- Added generate_reference() method to DAnCE version of
- Container_Base, and fixed ACE_CHECK macro mistake in
- both versions.
-
-Wed Sep 8 11:52:45 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * DAnCE/ciao/Servant_Impl_Base.h:
- * DAnCE/ciao/Servant_Impl_Base.cpp:
-
- Updated files with changes made to the corresponding files
- in regular CIAO/ciao.
-
-Tue Sep 7 22:14:43 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
-
- * CCF/CCF/IDL2/SemanticGraph/Elements.hpp:
- * CCF/CCF/IDL2/Traversal/Elements.hpp:
- * CIDLC/ExecutorMappingGenerator.cpp:
-
- Fixed unused argument warnings.
-
-Tue Sep 7 15:48:19 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * DAnCE/ciao/Servant_Impl_Base.cpp:
- * ciao/Servant_Impl_Base.cpp:
-
- Cosmetic changes.
-
- * CIDLC/ServantHeaderGenerator.cpp:
- * CIDLC/ServantSourceGenerator.cpp:
- * DAnCE/ciao/Servant_Impl_T.cpp:
- * DAnCE/ciao/Servant_Impl_T.h:
- * ciao/Servant_Impl_T.cpp:
- * ciao/Servant_Impl_T.h:
-
- Moved several methods from the generated servant class to the
- template Servant_Impl base class.
-
-Tue Sep 7 10:44:10 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/CIDLC.mpc:
- * CIDLC/CIDLC.vcproj:
- * CIDLC/RepositoryIdGenerator.cpp:
- * CIDLC/RepositoryIdGenerator.hpp:
- * CIDLC/ServantHeaderGenerator.cpp:
- * CIDLC/ServantSourceGenerator.cpp:
- * CIDLC/cidlc.cpp:
-
- - Updated the RepositoryIdGenerator and re-added the source
- and header files to the build. This generator creates
- repository ids for interfaces and eventtypes, and stores
- them internally in a context variable for later access
- in code generation. It also handles modifications to the
- repository ids stemming from 'typeprefix' or 'typeid'
- declarations.
-
- - Added generation of 'provide_<facet name>_i' and
- 'get_consumer_<event consumer name>_i' methods in the servant,
- which create dummy object references and store them in the
- appropriate port table in the servant base class.
-
- - Re-implemented the generated 'provide_<facet name>' and
- 'get_consumer_<event consumer name>' methods. They now
- use the container's POA to activate the dummy objects
- created by the corresponding _i methods described above.
- The activation takes place upon the first outside access
- of these objects. If an object has already been activated,
- it will simply be found in its port table and returned.
- Thanks to Bala for the prototype code for this feature.
-
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
-
- Added 'generate_reference' utility method called by the
- '_i' methods described above.
-
- * ciao/Servant_Impl_Base.cpp:
- * ciao/Servant_Impl_Base.h:
-
- Added 'lookup_facet' and 'lookup_consumer' methods used in
- generated servant code to determine if a desired object has
- been activated already (and added to a port table) or not.
-
-Mon Aug 30 12:52:28 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * performance-tests/Benchmark/Benchmark.mpc:
-
- Fixes for link errors in the daily builds
-
-Sun Aug 29 19:25:21 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * tools/XML_Helpers/XMLHelpers.mpc:
-
- Fix for link errors in Debian_Core builds.
-
-Sun Aug 29 19:02:42 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/CCM_Core.mpc:
-
- Added valuetype seperately to the Deployment_svnt project.
-
-Sun Aug 29 18:10:13 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/examples/BasicSP/BMClosedED/BMClosedED_svnt.h:
- * DAnCE/examples/BasicSP/BMDevice/BMDevice_svnt.h:
- * DAnCE/examples/BasicSP/BMDisplay/BMDisplay_svnt.h:
- * DAnCE/examples/BasicSP/EC/EC_svnt.h:
-
- These files should not be in the repository.
-
-Sat Aug 28 18:44:00 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/examples/BasicSP/BMDevice/BMDevice.mpc:
-
- Fixed a compile erros in the daily builds.
-
-Sat Aug 28 09:22:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/examples/BasicSP/BasicSP.mpc:
- * DAnCE/examples/BasicSP/BMClosedED/BMClosedED.mpc:
- * DAnCE/examples/BasicSP/BMDevice/BMDevice.mpc:
- * DAnCE/examples/BasicSP/BMDisplay/BMDisplay.mpc:
- * DAnCE/examples/BasicSP/EC/EC.mpc:
-
- Fixed the project names and shared librray names so that they
- don't collide with the regual BasicSP test. Ideally there
- shouldn't be any duplicate code. I waill talk to Gan about
- this.
-
-Thu Aug 26 16:45:10 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tests/IDL3/Lookup/README:
- * tests/IDL3/Lookup/lookup_test.idl:
- * tests/IDL3/Lookup/lookup_test.mpc:
-
- New files, a test for the IDL compiler lookup of declarations
- in base interfaces, valuetypes, components, and homes, and
- in supported interfaces, referenced by the local name in the
- derived IDL type. Thanks to Boris Kolpackov
- <boris@dre.vanderbilt.edu> for reporting the bug and for
- providing an example IDL file that illustrates the various
- cases.
-
-Thu Aug 26 13:24:40 2004 Gan Deng <gan.deng@vanderbilt.edu>
-
- * DAnCE/examples/BaiscSP/*.*:
-
- Created above directory and subdictories to add an example for
- using DAnCE.
-
-Thu Aug 26 12:28:40 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/CIDLC.vcproj:
-
- Added missing files to project.
-
-Thu Aug 26 11:25:39 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tests/CIDL/CodeGen/CodeGen.mpc:
-
- Changed dependency from ciao_server to ciao_servant.
-
-Wed Aug 25 11:28:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * DAnCE/Config_Handlers/DnC_Dump.h:
- Removed not needed qualifier
-
- * DAnCE/RepositoryManager/RepositoryManager_Impl.h:
- Removed not needed ; after namespace closure
-
-Wed Aug 25 11:24:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * DAnCE/Config_Handlers/Config_Error_Handler.h:
- Removed not needed ; after namespace closure
-
-Tue Aug 24 11:31:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * DAnCE/Config_Handlers/Config.h:
- Removed not needed ; after namespace closure
-
-Mon Aug 23 21:47:10 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/Config_Handlers/XSCRT/Elements.hpp:
- * DAnCE/Config_Handlers/XSCRT/Elements.ipp:
- * DAnCE/Config_Handlers/XSCRT/Elements.tpp:
- * DAnCE/Config_Handlers/XSCRT/ExtendedTypeInfo.hpp:
- * DAnCE/Config_Handlers/XSCRT/ExtendedTypeInfo.ipp:
- * DAnCE/Config_Handlers/XSCRT/Parser.hpp:
- * DAnCE/Config_Handlers/XSCRT/Parser.ipp:
- * DAnCE/Config_Handlers/XSCRT/Parser.tpp:
- * DAnCE/Config_Handlers/XSCRT/Traversal.hpp:
- * DAnCE/Config_Handlers/XSCRT/Traversal.ipp:
- * DAnCE/Config_Handlers/XSCRT/Traversal.tpp:
- * DAnCE/Config_Handlers/XSCRT/XMLSchema.hpp:
- * DAnCE/Config_Handlers/XSCRT/XMLSchema.ipp:
- * DAnCE/Config_Handlers/XSCRT/XMLSchema.tpp:
-
- Added XSCRT 0.0.4 into the repository to compile the handlers.
-
-Mon Aug 23 21:32:50 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * CIDLC/TypeNameEmitter.cpp:
-
- Fixed a compiler error in the daily builds showing up from a
- non-const declaration of a char * for extraction into an Any.
-
- * DAnCE/Config_Handlers/Config.h:
-
- Deployment.h has been renamed to Config.h
-
- * DAnCE/Config_Handlers/Process_Element.h:
- * DAnCE/Config_Handlers/Basic_Handler.h:
-
- Include Config.h
-
- * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp:
- * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp:
- * DAnCE/Config_Handlers/Deployment.cpp:
- * DAnCE/Config_Handlers/Deployment.hpp:
- * DAnCE/Config_Handlers/ccd.cpp:
- * DAnCE/Config_Handlers/ccd.hpp:
- * DAnCE/Config_Handlers/cdd.cpp:
- * DAnCE/Config_Handlers/cdd.hpp:
- * DAnCE/Config_Handlers/cdp.cpp:
- * DAnCE/Config_Handlers/cdp.hpp:
- * DAnCE/Config_Handlers/cid.cpp:
- * DAnCE/Config_Handlers/cid.hpp:
- * DAnCE/Config_Handlers/cpd.cpp:
- * DAnCE/Config_Handlers/cpd.hpp:
- * DAnCE/Config_Handlers/iad.cpp:
- * DAnCE/Config_Handlers/iad.hpp:
- * DAnCE/Config_Handlers/pcd.cpp:
- * DAnCE/Config_Handlers/pcd.hpp:
- * DAnCE/Config_Handlers/toplevel.cpp:
- * DAnCE/Config_Handlers/toplevel.hpp:
- * DAnCE/Config_Handlers/Config_Handlers.mpc:
-
- Generated code from XSC which is going to be used for the next
- generation handlers. They have been added in the MPC but guarded
- with requires += dummy_label since they give lot of warnings.
-
-Mon Aug 23 08:02:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tools/IDL3_to_IDL2/IDL3_to_IDL2.mpc:
- Fixed typo in vpath
-
-Sun Aug 22 22:23:12 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/Config_Handlers/Config_Handlers.mpc:
-
- Fixed VC6 compilation errors.
-
-Mon Aug 23 01:07:24 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/StandardConfigurator_Impl.cpp:
- * ciao/StandardConfigurator_Impl.cpp:
-
- Fixed unused variable warnings.
-
-Sun Aug 22 21:28:34 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Servant_Impl_Base.cpp:
- * DAnCE/ciao/Servant_Impl_Base.h:
- * DAnCE/ciao/StandardConfigurator_Impl.cpp:
- * DAnCE/ciao/StandardConfigurator_Impl.h:
- * DAnCE/ciao/CCM_Core.mpc:
-
- Added these files to the DAnCE builds. These were from the
- following change
-
- Tue Aug 17 14:29:00 2004 Jules White <jules@dre.vanderbilt.edu>
-
- * ciao/CCM_Core.mpc:
- * ciao/Servant_Impl_Base.cpp:
- * ciao/Servant_Impl_Base.h:
- * ciao/StandardConfigurator_Impl.cpp:
- * ciao/StandardConfigurator_Impl.h:
-
- Fixed compilation errors in builds where exceptions have been
- turned off.
-
-Sun Aug 22 22:11:49 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
-
- Fixed redeclaration error in VC6 builds.
-
-Sun Aug 22 20:08:10 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * CIDLC/ServantSourceGenerator.cpp:
-
- Fixed unused variable warnings in the generated code.
-
-Sun Aug 22 17:06:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * tools/IDL3_to_IDL2/be_global.cpp:
- * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
-
- Fixed unused variable warnings in our daily builds.
-
-Sun Aug 22 16:26:01 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * performance-tests/Protocols/Receiver/Receiver.mpc:
-
- Fixed a compile error in our daily builds.
-
-Fri Aug 20 16:01:55 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tools/IDL3_to_IDL2/IDL3_to_IDL2.mpc:
-
- Fixed typo in source file name.
-
-Fri Aug 20 10:39:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * DAnCE/ciao/Container_Base.h:
- Fixed compile errors
-
-Fri Aug 20 07:32:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ciao/Container_Base.h:
- Fixed compile errors
-
-Thu Aug 19 17:13:22 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/Literals.cpp:
- * CIDLC/Literals.hpp:
- * CIDLC/ServantHeaderGenerator.cpp:
- * CIDLC/ServantSourceGenerator.cpp:
- * CIDLC/TypeNameEmitter.cpp:
- * CIDLC/TypeNameEmitter.hpp:
-
- Added code generation for the set_attributes() method called
- on the servant by the deployer.
-
-Thu Aug 19 16:09:45 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Container_Base.h:
- * ciao/Container_Base.h:
-
- Fixed a compilation error reported by Roland Schimmack <Roland
- dot Schimmack at gmx dot de>
-
-Thu Aug 19 08:44:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * PROBLEM-REPORT-FORM:
- Ask for the default.features file used by MPC.
-
-Wed Aug 18 14:21:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * DAnCE/NodeManager/NodeDaemon_Impl.h:
- Added missing pragma pop
-
-Tue Aug 17 14:29:00 2004 Jules White <jules@dre.vanderbilt.edu>
-
- * CIAO/ciao/Servant_Impl_Base.h:
- * CIAO/ciao/Servant_Impl_Base.cpp:
- Added a method to create and return the StandardConfigurator for a component.
- Overrided _default_POA so that it returns the POA of the servant's container.
-
- * CIAO/ciao/StandardConfigurator_Impl.h:
- * CIAO/ciao/StandardConfigurator_Impl.cpp:
- Created an implementation of the StandardConfigurator interface.
-
-Mon Aug 16 22:15:52 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp:
- * DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h:
-
- Fixed compilation errors in builds where exceptions have been
- turned off.
-
-Mon Aug 16 22:09:52 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * performance-tests/Protocols/Sender/Sender.mpc:
-
- Fix for link errors on the scoreboard.
-
-Mon Aug 16 21:01:49 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * performance-tests/Benchmark/Benchmark.mpc:
-
- Fix for link errors on the scoreboard.
-
-Mon Aug 16 16:44:13 2004 J.T. Conklin <jtc@acorntoolworks.com>
-
- * CIAO/DAnCE/ExecutionManager/Execution_Manager.cpp:
- * CIAO/DAnCE/NodeManager/Node_Daemon.cpp:
- * CIAO/DAnCE/ciao/CCM_Container.idl:
- * CIAO/ciao/CCM_Container.idl:
- Changed #include "orbsvcs/orbsvcs/..." to #include "orbsvcs/...".
-
-Mon Aug 16 16:36:49 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
-
- Changed conversion for eventtypes to generate, instead of the
- original eventtype, a valuetype with Components::EventBase added
- to its inheritance list. This is completely equivalent to the
- original eventtype and has the advantage that it eliminates the
- need to use the -Sm option (disabling CCM equivalent IDL
- preprocessing) when running the IDL compiler on a converted
- file. Thanks to Bala Natarajan <bala@dre.vanderbilt.edu> for
- the suggestion.
-
-Mon Aug 16 14:14:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl:
-
- Do not do the compile the implied data part of the IDL.
-
-Mon Aug 16 12:42:59 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/Config_Handlers/CAD_Handler.h:
- * DAnCE/Config_Handlers/CEPE_Handler.h:
- * DAnCE/Config_Handlers/CPK_Handler.h:
- * DAnCE/Config_Handlers/CPR_Handler.h:
- * DAnCE/Config_Handlers/Cap_Handler.h:
- * DAnCE/Config_Handlers/CompIntrDesc_Handler.h:
- * DAnCE/Config_Handlers/CompPkgDesc_Handler.h:
- * DAnCE/Config_Handlers/DT_Handler.h:
- * DAnCE/Config_Handlers/Domain_Handler.h:
- * DAnCE/Config_Handlers/ERE_Handler.h:
- * DAnCE/Config_Handlers/IAD_Handler.h:
- * DAnCE/Config_Handlers/ID_Handler.h:
- * DAnCE/Config_Handlers/IR_Handler.h:
- * DAnCE/Config_Handlers/MID_Handler.h:
- * DAnCE/Config_Handlers/NIA_Handler.h:
- * DAnCE/Config_Handlers/PCI_Handler.h:
- * DAnCE/Config_Handlers/PC_Handler.h:
- * DAnCE/Config_Handlers/Plan_Handler.h:
- * DAnCE/Config_Handlers/Process_Element.h:
- * DAnCE/Config_Handlers/Property_Handler.h:
- * DAnCE/Config_Handlers/RS_Handler.h:
- * DAnCE/Config_Handlers/RUK_Handler.h:
- * DAnCE/Config_Handlers/Requirement_Handler.h:
- * DAnCE/Config_Handlers/SPK_Handler.h:
- * DAnCE/Config_Handlers/SP_Handler.h:
- * DAnCE/Config_Handlers/TPD_Handler.h:
- * DAnCE/Config_Handlers/Utils.h:
-
- Use ciao/ to include any header files from core ciao.
-
- * DAnCE/ciao/CCM_Core.mpc:
- * DAnCE/tests/Config_Handlers/handler_test.mpb:
- * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc:
-
- Use the right libraries for linking. This should probably
- address some of the core build errors on the scoreboard.
-
-Sun Aug 15 18:32:49 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tools/IDL3_to_IDL2/IDL3_to_IDL2.mpc:
- * tools/IDL3_to_IDL2/TAO_IDL3_TO_IDL2_BE_Export.h:
- * tools/IDL3_to_IDL2/be_extern.h:
- * tools/IDL3_to_IDL2/be_global.cpp:
- * tools/IDL3_to_IDL2/be_global.h:
- * tools/IDL3_to_IDL2/be_helper.cpp:
- * tools/IDL3_to_IDL2/be_helper.h:
- * tools/IDL3_to_IDL2/be_init.cpp:
- * tools/IDL3_to_IDL2/be_produce.cpp:
- * tools/IDL3_to_IDL2/be_sunsoft.cpp:
- * tools/IDL3_to_IDL2/be_sunsoft.h:
- * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
- * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.h:
- * tools/IDL3_to_IDL2/README:
-
- New files implementing a tool that inputs an IDL file with IDL3
- constructs and generates another IDL file with the IDL3
- constructs converted to the spec-defined IDL2 equivalents. Using
- the generated file instead of the original one in applications
- will allow the developer to reference the IDL2 equivalent types
- in application IDL, rather than just in C++ code as before.
- The generated IDL file has a '_IDL2' suffix added to the
- original file name just before the '.idl' extension.
-
-Sun Aug 15 09:17:59 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * performance-tests/Benchmark/Benchmark.mpc:
-
- Added missing libraries as reported by our daily builds.
-
-Sun Aug 15 09:12:36 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/Config_Handlers/handler_test.mpb:
-
- Fixed the handlers to link in CIAO_DnC_Container too.
-
-Sat Aug 14 14:44:24 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/Config_Handlers/Config_Handlers.mpc:
-
- Do not include /usr/lib to be in libpaths. This is odd and
- shouldn't be there at the application level. Applications should
- only be bothered about using $XERCESCROOT and the like. If the
- application doesn't specify the compiler, linker and the loader
- knows where to pick things from.
-
-Sat Aug 14 14:07:53 2004 Aniruddha Gokhale <a.gokhale@vanderbilt.edu>
-
- * DAnCE/NodeManager/Node_Daemon.cpp:
-
- Included "ace/os_include/os_netdb.h since otherwise the
- MAXHOSTNAMELEN constant was not found.
-
-Sat Aug 14 15:36:28 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/NodeManager/NodeDaemon_Impl.cpp:
- * DAnCE/NodeManager/NodeDaemon_Impl.h:
- * DAnCE/NodeManager/Node_Daemon.cpp:
-
- Cosmetic fixes for fuzz errors and other simple fixes for the
- daily builds.
-
- * DAnCE/NodeManager/README:
-
- Added a README file in the directory.
-
-Sat Aug 14 04:20:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ExecutionManager/ExecutionManager_Impl.h:
- * DAnCE/ciao/ComponentsC.h:
- * ciao/ComponentsC.h:
-
- Removed a trailing ; at the end of namespace closure. g++-3.4.1
- starts getting seizures once it locates a trailing ;.
-
-Sat Aug 14 03:29:18 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/Config_Handlers/handler_test.mpb:
- * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc:
- * tools/XML_Helpers/XMLHelpers.mpc:
-
- Tried fixing some warnings and errors in the builds. I am not
- able to reproduce it and so I am taking a blind shot.
-
-Thu Aug 12 14:14:00 Jules White <jules@dre.vanderbilt.edu>
-
- * docs/schema/cdp.xsd:
- * docs/schema/Modified_Deployment.xsd:
-
- Changed the schema so that it was more compliant with the spec.
-
-Thu Aug 12 15:25:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/NEWS:
- * DAnCE/ciao/Servant_Impl_T.cpp:
- * DAnCE/ciao/Servant_Impl_T.h:
-
- Updates at this
-
-Thu Aug 12 11:35:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ciao/Servant_Impl_T.cpp:
- * DAnCE/ciao/Servant_Impl_T.h:
-
- Propogating the changes from "Mon Aug 9 11:38:04 2004 Jeff
- Parsons <j.parsons@vanderbilt.edu>" to DAnCE.
-
- * DAnCE/tests/Config_Handlers/Handler_Test.cpp:
- * DAnCE/tests/Config_Handlers/Handler_Test.h:
-
- Cleaned up things so that it is more portable.
-
- * DAnCE/tests/Config_Handlers/handler_test.mpb:
-
- Put Handler_Test as a template file.
-
-Thu Aug 12 16:20:19 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/Config_Handlers/Handler_Test.cpp:
- * DAnCE/tests/Config_Handlers/Handler_Test.h:
- * DAnCE/tests/Config_Handlers/Handler_Test.i:
-
- Fixed fuzz errors.
-
-Wed Aug 11 22:37:31 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/NodeManager/Node_Daemon.cpp:
- * tests/RTCCM/DiffServ/Sender/Sender_exec.cpp:
-
- Fixed fuzz errors.
-
-Wed Aug 11 22:15:26 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc:
-
- Fixed yet another problem with MPC file. Should by now compile
- clean on the scoreboard. Let us see hwo it goes.
-
-Wed Aug 11 20:08:58 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * CIDLC/CIDLC.mpc:
-
- Fixed library paths. This seems to have been busted.
-
-Wed Aug 11 14:38:00 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/ExecutionManager/Execution_Manager.cpp:
-
- Made certain parts exception safe and fixed fuzz errors.
-
- * tests/CIDL/CodeGen/CodeGen.mpc:
-
- The MPC file was busted which lead to errors in the daily
- builds.
-
- * tests/RTCCM/DiffServ/Receiver/Receiver.mpc:
-
- Fixed errors in he MPC file.
-
- * tests/RTCCM/DiffServ/Sender/Sender_exec.cpp:
-
- Fixed fuzz errors.
-
-Wed Aug 11 12:45:09 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * CIDLC/CIDLC.mpc:
-
- Added new files startting with Exec* into the CIDLC project.
-
- * CIAOTAO.mwc:
-
- Added tests section to the above file.
-
-Wed Aug 11 15:08:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * tests/CIDL/CodeGen/CodeGen.mpc:
-
- Fix for the compilation errors in the daily builds.
-
-Mon Aug 9 11:38:04 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ciao/Servant_Impl_T.cpp:
- * ciao/Servant_Impl_T.h:
-
- Moved the body of the destructor and the same_component()
- method from the generated servant class to the base class.
-
-Sat Aug 7 17:55:59 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc:
-
- Prevented compilation errors if CIDL is not built.
-
-Sat Aug 7 16:43:45 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * tests/CIDL/CodeGen/CodeGen.mpc:
- * tests/IDL3/Homes/Basic/Basic.mpc:
-
- Changed the name of the stub library and project names. There
- was a clash in project and library names.
-
Thu Aug 5 17:42:56 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
* CIDLC/ExecImplGenerator.cpp:
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Basic_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Basic_Handler.h
index a8d31ea54f1..6c7089915b6 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Basic_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Basic_Handler.h
@@ -11,7 +11,7 @@
#ifndef BASIC_HANDLER_H
#define BASIC_HANDLER_H
-#include "Config.h"
+#include "Deployment.h"
#include "ace/SString.h"
#include "ace/Null_Mutex.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CAD_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CAD_Handler.h
index 515a59d70c2..1e867628279 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/CAD_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CAD_Handler.h
@@ -11,17 +11,18 @@
#define CAD_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
+#include "Config_Handler_export.h"
+#include "ace/SString.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Null_Mutex.h"
+
+#include "Basic_Handler.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "Basic_Handler.h"
-#include "Config_Handler_export.h"
-#include "ace/SString.h"
-#include "ace/Hash_Map_Manager.h"
-#include "ace/Null_Mutex.h"
#include "ace/Auto_Ptr.h"
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CEPE_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CEPE_Handler.h
index 18eabeff80e..3d1fb12b00b 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/CEPE_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CEPE_Handler.h
@@ -11,13 +11,13 @@
#define CEPE_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
+#include "Config_Handler_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOM.hpp>
#include "XercesString.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CPK_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CPK_Handler.h
index 2c34055e08e..2eaa7b6a216 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/CPK_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CPK_Handler.h
@@ -12,7 +12,7 @@
#define CPK_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CPR_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CPR_Handler.h
index 8e9c8132f17..4d56f71a3ca 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/CPR_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CPR_Handler.h
@@ -11,13 +11,13 @@
#define CPR_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
+#include "Config_Handler_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "Config_Handler_export.h"
#include "ace/SString.h"
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOM.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Cap_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Cap_Handler.h
index f680961f75d..2abfcf09deb 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Cap_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Cap_Handler.h
@@ -12,7 +12,7 @@
#define CAP_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "ace/SString.h"
#include "ace/Hash_Map_Manager.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CompIntrDesc_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CompIntrDesc_Handler.h
index 7c4e2e22898..7932ebd4b30 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/CompIntrDesc_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CompIntrDesc_Handler.h
@@ -4,7 +4,7 @@
#define COMPINTRDESC_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "ace/SString.h"
#include "ace/Hash_Map_Manager.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CompPkgDesc_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CompPkgDesc_Handler.h
index 9cd81ffa5f5..202afca9b2c 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/CompPkgDesc_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CompPkgDesc_Handler.h
@@ -12,7 +12,7 @@
#define COMPPKGDESC_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Config_Error_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Config_Error_Handler.h
index ba1b8b5514c..4c039938d90 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Config_Error_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Config_Error_Handler.h
@@ -42,7 +42,7 @@ namespace CIAO
};
- }
+ };
}
#include /**/ "ace/post.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Config_Handlers.mpc b/TAO/CIAO/DAnCE/Config_Handlers/Config_Handlers.mpc
index 12ab9879d79..d8b0271f991 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Config_Handlers.mpc
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Config_Handlers.mpc
@@ -2,14 +2,13 @@
project (Config_Handlers) : ciao_deployment_stub {
- after += CIAO_DnC_Server
sharedname = Config_Handlers
dynamicflags = CONFIG_HANDLER_BUILD_DLL
macros += XML_USE_PTHREADS
requires += exceptions
- includes += $(XERCESCROOT)/include
- libpaths += $(XERCESCROOT)/lib
- libs += xerces-c CIAO_DnC_Server TAO_IFR_Client TAO_Valuetype
+ includes += /usr/include $(XERCESCROOT)/include
+ libpaths += /usr/lib $(XERCESCROOT)/lib
+ libs += xerces-c CIAO_DnC_Server TAO_IFR_Client
Source_Files {
Utils.cpp
@@ -47,42 +46,3 @@ project (Config_Handlers) : ciao_deployment_stub {
XercesString.cpp
}
}
-
-project (XSC_Config_Handlers) : ciao_deployment_stub {
-
- requires += dummy_label
-
- sharedname = XSC_Config_Handlers
- dynamicflags = CONFIG_HANDLER_BUILD_DLL
- macros += XML_USE_PTHREADS
- requires += exceptions
- includes += $(XERCESCROOT)/include .
- libpaths += $(XERCESCROOT)/lib
- libs += xerces-c CIAO_DnC_Server TAO_IFR_Client
-
- Source_Files {
- Basic_Deployment_Data.cpp
- ccd.cpp
- cdd.cpp
- cdp.cpp
- cid.cpp
- cpd.cpp
- Deployment.cpp
- iad.cpp
- pcd.cpp
- toplevel.cpp
- }
-
- Header_Files {
- Basic_Deployment_Data.hpp
- ccd.hpp
- cdd.hpp
- cdp.hpp
- cid.hpp
- cpd.hpp
- Deployment.hpp
- iad.hpp
- pcd.hpp
- toplevel.hpp
- }
-}
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/DT_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/DT_Handler.h
index 8cd04c66650..faac487e828 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/DT_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/DT_Handler.h
@@ -12,6 +12,7 @@
#define DT_HANDLER_H
#include /**/ "ace/pre.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "tao/ORB.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Deployment.h b/TAO/CIAO/DAnCE/Config_Handlers/Deployment.h
new file mode 100644
index 00000000000..a3fc3b72004
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Deployment.h
@@ -0,0 +1,17 @@
+//==================================================================
+/**
+ * @file Deployment.h
+ *
+ * $Id$
+ *
+ * @author Emre Turkay <emre.turkay@vanderbilt.edu>
+ */
+//=====================================================================
+
+#ifndef DEPLOYMENT_H
+#define DEPLOYMENT_H
+
+#define BEGIN_DEPLOYMENT_NAMESPACE namespace CIAO { namespace Config_Handler {
+#define END_DEPLOYMENT_NAMESPACE }; };
+
+#endif // DEPLOYMENT_H
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/DnC_Dump.h b/TAO/CIAO/DAnCE/Config_Handlers/DnC_Dump.h
index b20b98469e9..47d7899432b 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/DnC_Dump.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/DnC_Dump.h
@@ -37,8 +37,8 @@ namespace Deployment
public:
/// Dump functions for CORBA sequences
- static void dump (const char* caption,
- const ::CORBA::StringSeq &str_seq);
+ static void DnC_Dump::dump (const char* caption,
+ const ::CORBA::StringSeq &str_seq);
template <typename SEQUENCE>
static void dump_sequence (const char* caption, const SEQUENCE &seq);
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Domain_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Domain_Handler.h
index 327bfe54bba..a29e7cf7fd1 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Domain_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Domain_Handler.h
@@ -11,7 +11,7 @@
#define DOMAIN_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "Basic_Handler.h"
#include "XercesString.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/ERE_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/ERE_Handler.h
index 272bd8ecc63..3fdafe87009 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/ERE_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/ERE_Handler.h
@@ -13,13 +13,13 @@
#define ERE_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
+#include "Config_Handler_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOM.hpp>
#include "XercesString.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/IAD_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/IAD_Handler.h
index 8cbfabd510e..a46de1d885f 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/IAD_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/IAD_Handler.h
@@ -12,7 +12,7 @@
#define IAD_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "ace/SString.h"
#include "ace/Hash_Map_Manager.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/ID_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/ID_Handler.h
index c2142cfb706..ef7f9c5c86d 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/ID_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/ID_Handler.h
@@ -12,7 +12,7 @@
#define ID_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/IR_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/IR_Handler.h
index d7ff20f1c99..9e159ed2636 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/IR_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/IR_Handler.h
@@ -12,7 +12,7 @@
#define IR_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "Basic_Handler.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/MID_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/MID_Handler.h
index 4c99ef81621..17c3a2c4a3d 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/MID_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/MID_Handler.h
@@ -4,7 +4,7 @@
#define MID_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "ace/SString.h"
#include "ace/Hash_Map_Manager.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/NIA_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/NIA_Handler.h
index cc3b1fd2a11..38ad44beed2 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/NIA_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/NIA_Handler.h
@@ -12,7 +12,7 @@
#define NIA_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "Basic_Handler.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/PCI_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/PCI_Handler.h
index 95cefcf5a90..841db0fc0a6 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/PCI_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/PCI_Handler.h
@@ -12,7 +12,7 @@
#define PCI_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/PC_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/PC_Handler.h
index 9dfa24dd354..224f298f0a4 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/PC_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/PC_Handler.h
@@ -12,7 +12,7 @@
#define PC_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "Basic_Handler.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Plan_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Plan_Handler.h
index c4994e4255d..3983e4f1faf 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Plan_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Plan_Handler.h
@@ -11,17 +11,17 @@
#define PLAN_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
+#include "DeploymentC.h"
#include "Basic_Handler.h"
#include "Config_Handler_export.h"
#include "ace/SString.h"
#include "ace/Hash_Map_Manager.h"
#include "ace/Null_Mutex.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
#include "ace/Auto_Ptr.h"
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Process_Element.h b/TAO/CIAO/DAnCE/Config_Handlers/Process_Element.h
index bec9e523fe4..c60c1e14b75 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Process_Element.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Process_Element.h
@@ -12,8 +12,8 @@
#ifndef PROCESS_ELEMENT_H
#define PROCESS_ELEMENT_H
-#include "ciao/DeploymentC.h"
-#include "Config.h"
+#include "DeploymentC.h"
+#include "Deployment.h"
#include "Basic_Handler.h"
#include "Config_Handler_export.h"
#include "ace/SString.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Property_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Property_Handler.h
index 1e392aea185..3367a2e1348 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Property_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Property_Handler.h
@@ -10,14 +10,16 @@
#ifndef PROPERTY_HANDLER_H
#define PROPERTY_HANDLER_H
-#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include /**/ "ace/pre.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
+
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOM.hpp>
#include "XercesString.h"
+
using Config_Handler::XStr;
using xercesc::XMLString;
using xercesc::DOMText;
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/RS_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/RS_Handler.h
index dff3a6e149d..11d858b4141 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/RS_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/RS_Handler.h
@@ -12,7 +12,7 @@
#define RS_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/RUK_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/RUK_Handler.h
index b988eead549..70536e39072 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/RUK_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/RUK_Handler.h
@@ -12,7 +12,7 @@
#define RUK_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Requirement_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Requirement_Handler.h
index c01ead11cab..b960e9b70d7 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Requirement_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Requirement_Handler.h
@@ -12,7 +12,7 @@
#define REQUIREMENT_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/SPK_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/SPK_Handler.h
index 7a9caa3c2a0..51b6f1eb8b2 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/SPK_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/SPK_Handler.h
@@ -12,7 +12,7 @@
#define SPK_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/SP_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/SP_Handler.h
index a45dcf7d508..a5402097793 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/SP_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/SP_Handler.h
@@ -12,7 +12,7 @@
#define SP_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include <xercesc/util/XercesDefs.hpp>
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/TPD_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/TPD_Handler.h
index 20b7020bd58..30265026f8c 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/TPD_Handler.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/TPD_Handler.h
@@ -12,7 +12,7 @@
#define TPD_HANDLER_H
#include /**/ "ace/pre.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "Config_Handler_export.h"
#include "Basic_Handler.h"
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Utils.h b/TAO/CIAO/DAnCE/Config_Handlers/Utils.h
index c47cd4a37c2..dd051603d40 100644
--- a/TAO/CIAO/DAnCE/Config_Handlers/Utils.h
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Utils.h
@@ -17,7 +17,7 @@
#include /**/ "ace/pre.h"
#include "Config_Handler_export.h"
-#include "ciao/DeploymentC.h"
+#include "DeploymentC.h"
#include "tao/Basic_Types.h"
#include "XercesString.h"
diff --git a/TAO/CIAO/DAnCE/ExecutionManager/ExecutionManager_Impl.h b/TAO/CIAO/DAnCE/ExecutionManager/ExecutionManager_Impl.h
index 1d009de77a6..ebc5aab66e3 100644
--- a/TAO/CIAO/DAnCE/ExecutionManager/ExecutionManager_Impl.h
+++ b/TAO/CIAO/DAnCE/ExecutionManager/ExecutionManager_Impl.h
@@ -126,7 +126,7 @@ namespace CIAO
TAO::Utils::Servant_Var<CIAO::DomainApplicationManager_Impl> dam_servant_;
};
-}
+};
#include /**/ "ace/post.h"
#endif /* EXECUTIONMANAGER_IMPL_H */
diff --git a/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager.cpp b/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager.cpp
index 7c8101ee800..3a253faa012 100644
--- a/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager.cpp
+++ b/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager.cpp
@@ -28,7 +28,7 @@
#include "tao/IORTable/IORTable.h"
// Include Name Service header
-#include "orbsvcs/CosNamingC.h"
+#include "orbsvcs/orbsvcs/CosNamingC.h"
#include "ace/SString.h"
#include "ace/Read_Buffer.h"
@@ -102,17 +102,14 @@ write_IOR(const char* ior)
return 0;
}
-bool
+int
register_with_ns (const char * name_context,
CORBA::ORB_ptr orb,
- CIAO::ExecutionManagerDaemon_ptr obj
- ACE_ENV_ARG_DECL)
+ CIAO::ExecutionManagerDaemon_ptr obj)
{
// Naming Service related operations
CORBA::Object_var naming_context_object =
- orb->resolve_initial_references ("NameService"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (false);
+ orb->resolve_initial_references ("NameService");
CosNaming::NamingContext_var naming_context =
CosNaming::NamingContext::_narrow (naming_context_object.in ());
@@ -121,15 +118,12 @@ register_with_ns (const char * name_context,
CosNaming::Name name (1);
name.length (1);
// Register the name with the NS
- name[0].id = name_context;
+ name[0].id = CORBA::string_dup (name_context);
// Register the servant with the Naming Service
- naming_context->bind (name,
- obj
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (false);
+ naming_context->bind (name, obj);
- return true;
+ return 0;
}
int
@@ -137,8 +131,6 @@ main (int argc, char *argv[])
{
ACE_TRY_NEW_ENV
{
- // @@ Error checking is very bad! Need to be fixed!
- // -- bala
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init (argc,
argv,
@@ -166,8 +158,7 @@ main (int argc, char *argv[])
ACE_TRY_CHECK;
IORTable::Table_var adapter =
- IORTable::Table::_narrow (table_object.in ()
- ACE_ENV_ARG_PARAMETER);
+ IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (CORBA::is_nil (adapter.in ()))
@@ -183,18 +174,14 @@ main (int argc, char *argv[])
// Implicit activation
PortableServer::ServantBase_var safe_daemon (daemon_servant);
- CIAO::ExecutionManagerDaemon_var daemon =
- daemon_servant->_this ();
+ CIAO::ExecutionManagerDaemon_var daemon = daemon_servant->_this ();
// Now register daemon with IOR table and write its IOR.
- CORBA::String_var str =
- orb->object_to_string (daemon.in ()
- ACE_ENV_ARG_PARAMETER);
+ CORBA::String_var str = orb->object_to_string (daemon.in ()
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- adapter->bind ("ExecutionManager",
- str.in ()
- ACE_ENV_ARG_PARAMETER);
+ adapter->bind ("ExecutionManager", str.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (write_to_ior_)
@@ -202,17 +189,10 @@ main (int argc, char *argv[])
else if (register_with_ns_)
{
// Register this name with the Naming Service
- (void) register_with_ns (name,
- orb.in (),
- daemon.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ register_with_ns (name, orb.in (), daemon.in ());
}
-#if 0
- ACE_DEBUG ((LM_INFO,
- "CIAO_ExecutionMananger IOR: %s\n", str.in ()));
-#endif /*if 0*/
+ ACE_DEBUG ((LM_INFO, "CIAO_ExecutionMananger IOR: %s\n", str.in ()));
// Activate POA manager
PortableServer::POAManager_var mgr
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp b/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
index 86ef0881fa8..2021a7b5839 100644
--- a/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
@@ -239,8 +239,7 @@ create_connections (ACE_ENV_SINGLE_ARG_DECL)
const CORBA::ULong facet_len = facets->length ();
const CORBA::ULong consumer_len = consumers->length ();
- CORBA::ULong curr_len = retv->length ();
- retv->length (curr_len + facet_len + consumer_len);
+ retv->length (facet_len + consumer_len);
CORBA::ULong i = 0;
for (i = 0; i < facet_len; ++i)
@@ -309,7 +308,7 @@ startLaunch (const Deployment::Properties & configProperty,
Deployment::ComponentInfos_var comp_info;
// For debugging.
- if (true) //(CIAO::debug_level () > 1)
+ if (CIAO::debug_level () > 1)
{
const CORBA::ULong info_len = infos.length ();
for (CORBA::ULong i = 0; i < info_len; ++i)
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp
index a48fa385a45..49cb6647fb1 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp
@@ -3,6 +3,9 @@
#include "NodeDaemon_Impl.h"
#include "../NodeApplicationManager/NodeApplicationManager_Impl.h"
+// @@ (OO) Method definitions should never use "_WITH_DEFAULTS"
+// versions of emulated exception parameters. Please remove
+// the "_WITH_DEFAULTS"
CIAO::NodeDaemon_Impl::NodeDaemon_Impl (const char *name,
CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
@@ -19,30 +22,27 @@ CIAO::NodeDaemon_Impl::NodeDaemon_Impl (const char *name,
{
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- //create the call back poa for NAM.
- PortableServer::POAManager_var mgr
- = this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- this->callback_poa_ =
- this->poa_->create_POA ("callback_poa",
- mgr.in (),
- 0
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ {
+ //create the call back poa for NAM.
+ PortableServer::POAManager_var mgr
+ = this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- }
+ this->callback_poa_ =
+ this->poa_->create_POA ("callback_poa",
+ mgr.in (),
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "NodeDaemon_Impl::constructor\t\n");
- // @@ This is bogus and will not work with emulated exceptions
- // -- Bala
- ACE_RE_THROW;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "NodeDaemon_Impl::constructor\t\n");
+ ACE_RE_THROW;
+ }
ACE_ENDTRY;
- ACE_CHECK;
}
CIAO::NodeDaemon_Impl::~NodeDaemon_Impl ()
@@ -125,12 +125,19 @@ CIAO::NodeDaemon_Impl::preparePlan (const Deployment::DeploymentPlan &plan
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
+ // Obtain the Object Reference
+ //CORBA::Object_var obj =
+ // this->poa_->servant_to_reference (app_mgr ACE_ENV_ARG_PARAMETER);
+ //ACE_TRY_CHECK;
+
+ //this->manager_ =
+ // Deployment::NodeApplicationManager::_narrow (obj.in ());
+
if (CORBA::is_nil (this->manager_.in ()))
{
- ACE_ERROR ((LM_ERROR,
- "CIAO.NodeDaemon (%P|%t) -- ",
- "preparePlan: NodeApplicationManager ref",
- "is nil\n"));
+ ACE_DEBUG ((LM_DEBUG,
+ "NodeDaemon_Impl:preparePlan: "
+ "NodeApplicationManager ref is nil\n"));
ACE_TRY_THROW (Deployment::StartError ());
}
}
@@ -152,8 +159,7 @@ CIAO::NodeDaemon_Impl::preparePlan (const Deployment::DeploymentPlan &plan
void
CIAO::NodeDaemon_Impl::destroyManager (Deployment::NodeApplicationManager_ptr
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Deployment::StopError))
+ ACE_THROW_SPEC ((CORBA::SystemException, Deployment::StopError))
{
ACE_TRY
{
@@ -163,12 +169,10 @@ CIAO::NodeDaemon_Impl::destroyManager (Deployment::NodeApplicationManager_ptr
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- this->poa_->deactivate_object (id.in ()
- ACE_ENV_ARG_PARAMETER);
+ this->poa_->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- this->manager_ =
- Deployment::NodeApplicationManager::_nil ();
+ this->manager_ = Deployment::NodeApplicationManager::_nil ();
}
ACE_CATCHANY
{
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
index a30fe5a2244..7266604d2f7 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
@@ -1,4 +1,5 @@
// -*- C++ -*-
+
//=============================================================================
/**
* @file NodeDaemon_Impl.h
@@ -6,11 +7,11 @@
* $Id$
*
* This file contains servant implementation for Deployment:NodeManager
- * interface. In the current design of the NodeManager, as with the
- * legacy implementation of CIAO, Each NodeManager corresponds to
- * ONE NodeApplication Manager. Though, the name intuitively suggests
- * that there be one NodeManager for every node, our design, allows
- * the end-user to have multiple components run on the same node.
+ * interface. In the current design of the NodeManager, as with the legacy
+ * implementation of CIAO, Each NodeManager corresponds to ONE NodeApplication
+ * Manager. Though, the name intuitively suggests that there be one NodeManager
+ * for every node, our design, allows the end-user to have multiple components
+ * run on the same node.
*
* @author Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
*/
@@ -27,21 +28,13 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
namespace CIAO
{
/**
* @class NodeDaemon_Impl
*
- * @brief Servant implementation CIAO's daemon process control
- * interface
+ * @brief Servant implementation CIAO's daemon process control interface
*
* This class implements the CIAO:NodeDaemon interface.
*
@@ -58,9 +51,10 @@ namespace CIAO
PortableServer::POA_ptr p,
const char * nodeapp_loc,
int spawn_delay)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- /// POA operation..
+ /// Get the containing POA. This operation does *not*
+ /// increase the reference count of the POA.
virtual PortableServer::POA_ptr _default_POA (void);
/// CIAO::Daemon defined attributes/operations.
@@ -94,11 +88,12 @@ namespace CIAO
Deployment::StopError));
protected:
- /// Since this class is reference counted, making this
- /// destructor protected to enforce proper memory managment
- /// through the reference counting mechanism (i.e. to
- /// disallow calling operator delete() on an instance of
- /// this class.
+ // Since this class is reference counted, making this
+ // destructor protected to enforce proper memory managment
+ // through the reference counting mechanism (i.e. to
+ // disallow calling operator delete() on an instance of
+ // this class.
+ /// Destructor
virtual ~NodeDaemon_Impl (void);
// Keep a pointer to the managing ORB serving this servant.
@@ -121,13 +116,9 @@ namespace CIAO
// Cache reference of last NodeAppManager
Deployment::NodeApplicationManager_var manager_;
+
};
}
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
#if defined (__ACE_INLINE__)
# include "NodeDaemon_Impl.inl"
#endif /* __ACE_INLINE__ */
diff --git a/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp b/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp
index 11dd2165059..f29c5d50922 100644
--- a/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp
+++ b/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp
@@ -1,14 +1,35 @@
// $Id$
+//==============================================================
+/**
+ * @file Node_Daemon.cpp
+ *
+ * @brief CIAO's Node Daemon implementation
+ *
+ * NodeDaemon is the bootstraping mechanism to create new
+ * NodeApplication on the localhost. We currently depend on
+ * starting the NodeApplicationManager process on some port of all
+ * the hosts that have NodeApplication install to function properly.
+ * The port to run this daemon can be set by using the TAO ORB options
+ * command of -ORBEndpoint <port>. This replaces the earlier CIAO_Daemon
+ * implementation of CIAO as defined in the CCM specification.
+ *
+ * @author Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ */
+//===============================================================
+
#include "NodeDaemon_Impl.h"
-#include "orbsvcs/CosNamingC.h"
#include "tao/IORTable/IORTable.h"
+
+// Include Name Service header
+#include "orbsvcs/orbsvcs/CosNamingC.h"
+
#include "ace/SString.h"
#include "ace/Read_Buffer.h"
#include "ace/Get_Opt.h"
#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_unistd.h"
-#include "ace/os_include/os_netdb.h"
#include "ciao/Server_init.h"
#include "ciao/CIAO_common.h"
@@ -90,17 +111,14 @@ write_IOR(const char* ior)
return 0;
}
-bool
+int
register_with_ns (const char * name_context,
CORBA::ORB_ptr orb,
- CIAO::NodeDaemon_ptr obj
- ACE_ENV_ARG_DECL)
+ CIAO::NodeDaemon_ptr obj)
{
// Naming Service related operations
CORBA::Object_var naming_context_object =
- orb->resolve_initial_references ("NameService"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (false);
+ orb->resolve_initial_references ("NameService");
CosNaming::NamingContext_var naming_context =
CosNaming::NamingContext::_narrow (naming_context_object.in ());
@@ -108,12 +126,13 @@ register_with_ns (const char * name_context,
// Initialize the Naming Sequence
CosNaming::Name name (1);
name.length (1);
- name[0].id = name_context;
+ // Register the name with the NS
+ name[0].id = CORBA::string_dup (name_context);
// Register the servant with the Naming Service
naming_context->bind (name, obj);
- return true;
+ return 0;
}
int
@@ -122,7 +141,6 @@ main (int argc, char *argv[])
ACE_TRY_NEW_ENV
{
// Initialize orb
- // @@TODO: Add error checking. There is absoluteley none.
CORBA::ORB_var orb = CORBA::ORB_init (argc,
argv,
""
@@ -177,39 +195,30 @@ main (int argc, char *argv[])
spawn_delay),
-1);
PortableServer::ServantBase_var safe_daemon (daemon_servant);
-
// Implicit activation
- CIAO::NodeDaemon_var daemon =
- daemon_servant->_this ();
- CORBA::String_var str =
- orb->object_to_string (daemon.in ()
- ACE_ENV_ARG_PARAMETER);
+ CIAO::NodeDaemon_var daemon = daemon_servant->_this ();
+
+ CORBA::String_var str = orb->object_to_string (daemon.in ()
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- adapter->bind ("NodeManager",
- str.in ()
- ACE_ENV_ARG_PARAMETER);
+ adapter->bind ("NodeManager", str.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (write_to_ior_)
write_IOR (str.in ());
else if (register_with_ns_)
{
- char name [MAXHOSTNAMELEN + 1];
+ char name [100];
if (ACE_OS::hostname (name, 100) == -1)
{
- ACE_ERROR ((LM_ERROR,
- "gethostname call failed! \n"));
+ ACE_DEBUG ((LM_DEBUG, "gethostname call failed! \n"));
exit (1);
}
// Register this name with the Naming Service
- (void) register_with_ns (name,
- orb.in (),
- daemon.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ register_with_ns (name, orb.in (), daemon.in ());
}
ACE_DEBUG ((LM_INFO, "CIAO_NodeDaemon IOR: %s\n", str.in ()));
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
index fa5b840ef43..60055845cad 100644
--- a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
@@ -4,7 +4,6 @@
#include "RepositoryManager_Impl.h"
#include "Repository_Manager_conf.h"
#include "Config_Handlers/TPD_Handler.h"
-#include "Config_Handlers/DnC_Dump.h"
CIAO::RepositoryManager_Impl::RepositoryManager_Impl
(CORBA::ORB_ptr orb,
@@ -80,9 +79,7 @@ installPackage (const char* installation_name,
DOMNodeFilter::SHOW_TEXT);
Deployment::PackageConfiguration pc;
pc_handler.process_PackageConfiguration (pc);
- //Deployment::DnC_Dump::dump (pc);
- this->pc_table_.bind (installation_name, (pc));
- //Deployment::DnC_Dump::dump (*(&pc));
+ this->pc_table_.bind (installation_name, &(pc));
}
catch (CORBA::Exception& ex)
{
@@ -133,18 +130,11 @@ CIAO::RepositoryManager_Impl::findPackageByName (const char* name
ACE_THROW_SPEC ((CORBA::SystemException,
Deployment::NoSuchName))
{
- Deployment::PackageConfiguration pc;
+ Deployment::PackageConfiguration* pc = 0;
if (pc_table_.find (name, pc) == 0)
{
- //Deployment::PackageConfiguration* dup_pc = pc;
- //Deployment::DnC_Dump::dump (*pc);
- //return dup_pc;
- Deployment::PackageConfiguration_var pc_var = 0;
- ACE_NEW_THROW_EX (pc_var,
- Deployment::PackageConfiguration (pc),
- CORBA::NO_MEMORY ());
- //Deployment::DnC_Dump::dump (*pc_var);
- return pc_var._retn ();
+ Deployment::PackageConfiguration* dup_pc = pc;
+ return dup_pc;
}
else
{
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h
index afe7dd36542..2ad95826023 100644
--- a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h
@@ -144,7 +144,7 @@ namespace CIAO
// destructor
typedef ACE_Hash_Map_Manager_Ex<const char *,
- Deployment::PackageConfiguration,
+ Deployment::PackageConfiguration*,
ACE_Hash<const char *>, ACE_Equal_To<const char *>,
TAO_SYNCH_MUTEX> pc_table;
@@ -157,7 +157,7 @@ namespace CIAO
pc_table pc_table_;
};
-}
+};
#include /**/ "ace/post.h"
#endif /* REPOSITORYMANAGER_IMPL_H */
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/Repository_Manager.cpp b/TAO/CIAO/DAnCE/RepositoryManager/Repository_Manager.cpp
index 4605a1ea41b..312d01d0bfd 100644
--- a/TAO/CIAO/DAnCE/RepositoryManager/Repository_Manager.cpp
+++ b/TAO/CIAO/DAnCE/RepositoryManager/Repository_Manager.cpp
@@ -3,7 +3,6 @@
#include "RepositoryManager_Impl.h"
#include "Update_Plan.h"
#include "ExecutionManager/ExecutionManagerC.h"
-#include "Config_Handlers/DnC_Dump.h"
#include "NodeManager/NodeDaemonC.h"
#include "ace/OS_NS_stdio.h"
#include "ace/streams.h"
@@ -68,10 +67,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
// Initialize the ORB so that CORBA::Any will work
//
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc,
- argv,
- "");
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "");
try
{
@@ -106,9 +102,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 1;
}
- //DOMDocument* tpd_doc = tpd_parser->parseURI (package_url);
+ DOMDocument* tpd_doc = tpd_parser->parseURI (package_url);
- //ACE_UNUSED_ARG (tpd_doc);
+ ACE_UNUSED_ARG (tpd_doc);
if (tpd_handler.getErrors())
{
@@ -119,7 +115,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
ACE_DEBUG ((LM_DEBUG, "Null DOM Document obtained, \
May be the URL is wrong!!\n"));
- throw CIAO::Null_Dom_Document ();
+ throw Null_Dom_Document ();
}
// free up DOMBuilder. DOMBuilder also deletes the DOMDocument memory.
@@ -143,14 +139,13 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
rep_impl->installPackage ("PC", package_url);
pc = rep_impl->findPackageByName ("PC");
- //Deployment::DnC_Dump::dump (*pc);
- CIAO::REF_MAP ref_map;
- CIAO::REF_MAP primary_ref_map;
+ REF_MAP ref_map;
+ REF_MAP primary_ref_map;
// traverse the PackageConfiguration IDL data structure and
// update the deployment plan IDL data structure.
- CIAO::traverse_package (pc, plan, ref_map, primary_ref_map);
+ traverse_package (pc, plan, ref_map, primary_ref_map);
//Deployment::DnC_Dump::dump (plan);
@@ -259,7 +254,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
catch (CORBA::Exception& ex)
{
ACE_PRINT_EXCEPTION (ex, "Caught CORBA Exception: ");
- while (true);
+ while (true);
return -1;
}
catch (const DOMException& e)
@@ -278,13 +273,13 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
}
//ACE_PRINT_EXCEPTION ("Caught DOM Exception: ");
ACE_ERROR ((LM_ERROR, "Caught DOM exception\n"));
- while (true);
+ while (true);
return -1;
}
catch (...)
{
ACE_ERROR ((LM_ERROR, "Caught unknown exception\n"));
- while (true);
+ while (true);
return -1;
}
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.cpp b/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.cpp
index f8f16019b95..76f4fa242ca 100644
--- a/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.cpp
+++ b/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.cpp
@@ -7,77 +7,54 @@
#include "ace/OS_NS_stdio.h"
#include "ace/streams.h"
-ACE_RCSID (DAnCE,
- RepositoryManager,
- "$Id$")
-
-using namespace Deployment;
-
-namespace CIAO
+void traverse_package (Deployment::PackageConfiguration* &pc,
+ Deployment::DeploymentPlan &plan,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map)
{
- void
- traverse_package (PackageConfiguration* &pc,
- DeploymentPlan &plan,
- REF_MAP &ref_map,
- REF_MAP &primary_ref_map)
- {
- // traverse the package configuration structure to get to the
- // BasePackage which consists of assemblies.
- //
- CORBA::ULong bp_len =
- pc->basePackage.length ();
-
- for (CORBA::ULong x = 0; x != bp_len; ++x)
- {
- CORBA::ULong impl_len =
- pc->basePackage[x].implementation.length ();
-
- for (CORBA::ULong y = 0;
- y != impl_len;
- ++y)
- {
- // traverse the .cpd file and get to the referenced .cid file
- //
- ComponentImplementationDescription cid =
- pc->basePackage[x].implementation[y].referencedImplementation;
- CORBA::ULong assembly_len = cid.assemblyImpl.length ();
-
- for (CORBA::ULong z = 0;
- z != assembly_len;
- ++z)
- {
- // traverse the .cid file and get to each
- // of the "assemblyImpl" tags.
- //
- ComponentAssemblyDescription assembly =
- cid.assemblyImpl[z];
- //
- // traverse the individual assembly.
- //
- traverse_assembly (assembly, plan, ref_map, primary_ref_map);
- }
- }
- }
- }
-
- void
- traverse_assembly (ComponentAssemblyDescription &assembly,
- DeploymentPlan &plan,
- REF_MAP &ref_map, REF_MAP &primary_ref_map)
- {
- // traverse the assembly (ComponentAssemblyDescription) and
- // processes the instances and the connection within the assembly.
- //
- CORBA::ULong ins_len = assembly.instance.length ();
- for (CORBA::ULong k = 0; k < ins_len; ++k)
- {
- SubcomponentInstantiationDescription ins =
- assembly.instance[k];
- const char* in_name = ins.name;
-
- CORBA::ULong plan_ins_len =
- plan.instance.length ();
+ // traverse the package configuration structure to get to the
+ // BasePackage which consists of assemblies.
+ //
+ CORBA::ULong bp_len = pc->basePackage.length ();
+ for (CORBA::ULong x = 0; x < bp_len; ++x)
+ {
+ CORBA::ULong impl_len = pc->basePackage[x].implementation.length ();
+ for (CORBA::ULong y = 0; y < impl_len; ++y)
+ {
+ // traverse the .cpd file and get to the referenced .cid file
+ //
+ Deployment::ComponentImplementationDescription cid =
+ pc->basePackage[x].implementation[y].referencedImplementation;
+ CORBA::ULong assembly_len = cid.assemblyImpl.length ();
+ for (CORBA::ULong z = 0; z < assembly_len; ++z)
+ {
+ // traverse the .cid file and get to each
+ // of the "assemblyImpl" tags.
+ //
+ Deployment::ComponentAssemblyDescription assembly =
+ cid.assemblyImpl[z];
+ //
+ // traverse the individual assembly.
+ //
+ traverse_assembly (assembly, plan, ref_map, primary_ref_map);
+ }
+ }
+ }
+}
+void traverse_assembly (Deployment::ComponentAssemblyDescription &assembly,
+ Deployment::DeploymentPlan &plan,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map)
+{
+ // traverse the assembly (ComponentAssemblyDescription) and
+ // processes the instances and the connection within the assembly.
+ //
+ CORBA::ULong ins_len = assembly.instance.length ();
+ for (CORBA::ULong k = 0; k < ins_len; ++k)
+ {
+ Deployment::SubcomponentInstantiationDescription ins =
+ assembly.instance[k];
+ const char* in_name = ins.name;
+ CORBA::ULong plan_ins_len = plan.instance.length ();
for (CORBA::ULong l = 0; l < plan_ins_len; ++l)
{
const char* plan_name = plan.instance[l].name;
@@ -87,47 +64,43 @@ namespace CIAO
ref_map, primary_ref_map);
}
}
- }
-
- CORBA::ULong assembly_conn_len =
- assembly.connection.length ();
-
- for (CORBA::ULong m = 0; m < assembly_conn_len; ++m)
- {
- AssemblyConnectionDescription
- assembly_connection = assembly.connection[m];
- traverse_assembly_connection (assembly,
- assembly_connection,
- plan);
- }
- }
+ }
+ CORBA::ULong assembly_conn_len = assembly.connection.length ();
+ for (CORBA::ULong m = 0; m < assembly_conn_len; ++m)
+ {
+ Deployment::AssemblyConnectionDescription
+ assembly_connection = assembly.connection[m];
+ traverse_assembly_connection (assembly,
+ assembly_connection,
+ plan);
+ }
+}
- void
- traverse_assembly_connection (ComponentAssemblyDescription
- &assembly,
- AssemblyConnectionDescription
- &assembly_connection,
- DeploymentPlan &plan)
- {
- // traverse the assembly connection and get information about the
- // portName and the instances at each end of the connection.
- // Also traverse the InterfaceDescriptions for each of those instances
- // and populate the portKind information.
- //
- CORBA::ULong con_length (plan.connection.length ());
- plan.connection.length (con_length + 1);
- CORBA::ULong iepe_len = assembly_connection.internalEndpoint.length ();
- for (CORBA::ULong n = 0; n < iepe_len; ++n)
- {
- CORBA::ULong iep_len (plan.connection[con_length].
- internalEndpoint.length ());
+void traverse_assembly_connection (Deployment::ComponentAssemblyDescription
+ &assembly,
+ Deployment::AssemblyConnectionDescription
+ &assembly_connection,
+ Deployment::DeploymentPlan &plan)
+{
+ // traverse the assembly connection and get information about the
+ // portName and the instances at each end of the connection.
+ // Also traverse the InterfaceDescriptions for each of those instances
+ // and populate the portKind information.
+ //
+ CORBA::ULong con_length (plan.connection.length ());
+ plan.connection.length (con_length + 1);
+ CORBA::ULong iepe_len = assembly_connection.internalEndpoint.length ();
+ for (CORBA::ULong n = 0; n < iepe_len; ++n)
+ {
+ CORBA::ULong iep_len (plan.connection[con_length].
+ internalEndpoint.length ());
plan.connection[con_length].internalEndpoint
- .length (iep_len + 1);
+ .length (iep_len + 1);
plan.connection[con_length].internalEndpoint
- [iep_len].portName = assembly_connection.
- internalEndpoint[n].portName;
+ [iep_len].portName = assembly_connection.
+ internalEndpoint[n].portName;
CORBA::ULong ins_ref = assembly_connection.internalEndpoint[n].
- instanceRef;
+ instanceRef;
const char* ins_name = assembly.instance[ins_ref].name;
CORBA::ULong plan_ins_len = plan.instance.length ();
for (CORBA::ULong w = 0; w < plan_ins_len; ++w)
@@ -143,243 +116,233 @@ namespace CIAO
traverse_interface (assembly.instance[ins_ref],
plan.connection[con_length].
internalEndpoint[iep_len]);
- }
- }
-
- void
- traverse_interface (SubcomponentInstantiationDescription
- &instance,
- PlanSubcomponentPortEndpoint
- &pspe)
- {
- // traverse the InterfaceDescription of the instance and get information
- // about the portkind of the port.
- //
- CORBA::ULong pack_len = instance.package.length ();
- for (CORBA::ULong m = 0; m < pack_len; ++m)
- {
- ComponentPackageDescription
- package = instance.package[m];
-
- ComponentInterfaceDescription
- cid = package.realizes;
-
- CORBA::ULong port_len = cid.port.length ();
-
- for (CORBA::ULong n = 0; n < port_len; ++n)
- {
- const char* main_port_name = cid.port[n].name;
- const char* port_name = pspe.portName;
- if (strcmp (main_port_name, port_name) == 0)
- {
- pspe.kind = cid.port[n].kind;
- }
- }
- }
- }
+ }
+}
- void
- traverse_assembly_instance (
- SubcomponentInstantiationDescription
- &instance,
- DeploymentPlan &plan, int l,
- REF_MAP &ref_map, REF_MAP &primary_ref_map)
- {
- // Each instance has a package.
- // Each package has an implementation and their correspoding artifacts.
- // Traverse this information and populate the artifact and the
- // implementation information within the DeploymentPlan.
- //
- ART_REF_MAP art_ref_map;
+void traverse_interface (Deployment::SubcomponentInstantiationDescription
+ &instance,
+ Deployment::PlanSubcomponentPortEndpoint
+ &pspe)
+{
+ // traverse the InterfaceDescription of the instance and get information
+ // about the portkind of the port.
+ //
+ CORBA::ULong pack_len = instance.package.length ();
+ for (CORBA::ULong m = 0; m < pack_len; ++m)
+ {
+ Deployment::ComponentPackageDescription
+ package = instance.package[m];
- CORBA::ULong pack_len = instance.package.length ();
+ Deployment::ComponentInterfaceDescription
+ cid = package.realizes;
- for (CORBA::ULong m = 0; m < pack_len; ++m)
- {
- ComponentPackageDescription
- package = instance.package[m];
- CORBA::ULong pack_impl_len = package.implementation.length ();
+ CORBA::ULong port_len = cid.port.length ();
- for (CORBA::ULong n = 0; n < pack_impl_len; ++n)
- {
- PackagedComponentImplementation
- impl = package.implementation[n];
- CORBA::ULong impl_length (plan.implementation.length ());
- plan.implementation.length (impl_length + 1);
- plan.implementation[impl_length].name = plan.instance[l].name;
- plan.instance[l].implementationRef = impl_length;
- CORBA::ULong mono_impl_len =
- impl.referencedImplementation.monolithicImpl.length ();
+ for (CORBA::ULong n = 0; n < port_len; ++n)
+ {
+ const char* main_port_name = cid.port[n].name;
+ const char* port_name = pspe.portName;
+ if (strcmp (main_port_name, port_name) == 0)
+ {
+ pspe.kind = cid.port[n].kind;
+ }
+ }
+ }
+}
- for (CORBA::ULong p = 0; p < mono_impl_len; ++p)
- {
- MonolithicImplementationDescription
- mid = impl.referencedImplementation.monolithicImpl[p];
+void traverse_assembly_instance (Deployment::
+ SubcomponentInstantiationDescription
+ &instance,
+ Deployment::DeploymentPlan &plan, int l,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map)
+{
+ // Each instance has a package.
+ // Each package has an implementation and their correspoding artifacts.
+ // Traverse this information and populate the artifact and the
+ // implementation information within the DeploymentPlan.
+ //
+ ART_REF_MAP art_ref_map;
+
+ CORBA::ULong pack_len = instance.package.length ();
+
+ for (CORBA::ULong m = 0; m < pack_len; ++m)
+ {
+ Deployment::ComponentPackageDescription
+ package = instance.package[m];
+ CORBA::ULong pack_impl_len = package.implementation.length ();
+
+ for (CORBA::ULong n = 0; n < pack_impl_len; ++n)
+ {
+ Deployment::PackagedComponentImplementation
+ impl = package.implementation[n];
+ CORBA::ULong impl_length (plan.implementation.length ());
+ plan.implementation.length (impl_length + 1);
+ plan.implementation[impl_length].name = plan.instance[l].name;
+ plan.instance[l].implementationRef = impl_length;
+ CORBA::ULong mono_impl_len =
+ impl.referencedImplementation.monolithicImpl.length ();
+
+ for (CORBA::ULong p = 0; p < mono_impl_len; ++p)
+ {
+ Deployment::MonolithicImplementationDescription
+ mid = impl.referencedImplementation.monolithicImpl[p];
- update_artifacts (mid, plan, plan.instance[l],
+ update_artifacts (mid, plan, plan.instance[l],
ref_map, primary_ref_map, art_ref_map,
- plan.implementation[impl_length]);
- }
- update_impl_config_property (impl, plan.implementation[impl_length],
- plan.instance[l]);
- }
- }
- }
-
- void
- update_artifacts (MonolithicImplementationDescription &mid,
- DeploymentPlan &plan,
- InstanceDeploymentDescription &instance,
- REF_MAP &ref_map, REF_MAP &primary_ref_map,
- ART_REF_MAP &art_ref_map,
- MonolithicDeploymentDescription &mdd)
- {
- CORBA::ULong prim_art_len = mid.primaryArtifact.length ();
- for (CORBA::ULong q = 0; q < prim_art_len; ++q)
- {
- ImplementationArtifactDescription
- pack_iad = mid.primaryArtifact[q].referencedArtifact;
- ACE_TString artifact_name = (const char*)mid.primaryArtifact[q].name;
- int arti_len;
- CORBA::ULong art_length (plan.artifact.length ());
+ plan.implementation[impl_length]);
+ }
+ update_impl_config_property (impl, plan.implementation[impl_length],
+ plan.instance[l]);
+ }
+ }
+}
- if (ref_map.find (artifact_name, arti_len) != 0)
- {
- plan.artifact.length (art_length + 1);
- plan.artifact[art_length].name = mid.primaryArtifact[q].name;
- plan.artifact[art_length].node = instance.node;
- ref_map.bind (artifact_name, art_length);
- primary_ref_map.bind (artifact_name, art_length);
- CORBA::ULong art_ref_len (mdd.artifactRef.length ());
- mdd.artifactRef.length (art_ref_len + 1);
- mdd.artifactRef[art_ref_len] = art_length;
- update_artifact_location (pack_iad,
+void update_artifacts (Deployment::MonolithicImplementationDescription &mid,
+ Deployment::DeploymentPlan &plan,
+ Deployment::InstanceDeploymentDescription &instance,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map,
+ ART_REF_MAP &art_ref_map,
+ Deployment::MonolithicDeploymentDescription &mdd)
+{
+ CORBA::ULong prim_art_len = mid.primaryArtifact.length ();
+ for (CORBA::ULong q = 0; q < prim_art_len; ++q)
+ {
+ Deployment::ImplementationArtifactDescription
+ pack_iad = mid.primaryArtifact[q].referencedArtifact;
+ ACE_TString artifact_name = (const char*)mid.primaryArtifact[q].name;
+ int arti_len;
+ CORBA::ULong art_length (plan.artifact.length ());
+
+ if (ref_map.find (artifact_name, arti_len) != 0)
+ {
+ plan.artifact.length (art_length + 1);
+ plan.artifact[art_length].name = mid.primaryArtifact[q].name;
+ plan.artifact[art_length].node = instance.node;
+ ref_map.bind (artifact_name, art_length);
+ primary_ref_map.bind (artifact_name, art_length);
+ CORBA::ULong art_ref_len (mdd.artifactRef.length ());
+ mdd.artifactRef.length (art_ref_len + 1);
+ mdd.artifactRef[art_ref_len] = art_length;
+ update_artifact_location (pack_iad,
+ plan.artifact[art_length]);
+ update_artifact_property (pack_iad,
plan.artifact[art_length]);
- update_artifact_property (pack_iad,
- plan.artifact[art_length]);
- }
- update_common_artifact_and_art_ref (pack_iad,
- primary_ref_map, ref_map,
+ }
+ update_common_artifact_and_art_ref (pack_iad,
+ primary_ref_map, ref_map,
art_ref_map, mdd,
- plan, instance);
- }
- }
-
- void
- update_common_artifact_and_art_ref (
- ImplementationArtifactDescription
- &pack_iad,
- REF_MAP &primary_ref_map,
- REF_MAP &ref_map,
- ART_REF_MAP &art_ref_map,
-
- MonolithicDeploymentDescription &mid,
- DeploymentPlan &plan,
+ plan, instance);
+ }
+}
+void update_common_artifact_and_art_ref (Deployment::
+ ImplementationArtifactDescription
+ &pack_iad,
+ REF_MAP &primary_ref_map,
+ REF_MAP &ref_map,
+ ART_REF_MAP &art_ref_map,
+ Deployment::
+ MonolithicDeploymentDescription &mid,
+ Deployment::DeploymentPlan &plan,
+ Deployment::
InstanceDeploymentDescription
&instance)
- {
- CORBA::ULong deps_len = pack_iad.dependsOn.length ();
- for (CORBA::ULong g = 0; g < deps_len; ++g)
- {
- ACE_TString dep_name =
- (const char*)pack_iad.dependsOn[g].name;
- int arti_len;
-
- if (ref_map.find (dep_name, arti_len) == 0)
- {
- if (primary_ref_map.find (dep_name, arti_len) != 0)
- {
- if (art_ref_map.find (arti_len, arti_len) != 0)
- {
- update_impl_art_ref (mid, arti_len);
- art_ref_map.bind (arti_len, arti_len);
- }
- }
- }
- else
- {
- ImplementationArtifactDescription
- depends_iad = pack_iad.dependsOn[g].
- referencedArtifact;
- CORBA::ULong new_art_length (plan.artifact.length ());
- plan.artifact.length (new_art_length + 1);
- plan.artifact[new_art_length].name =
- pack_iad.dependsOn[g].name;
- plan.artifact[new_art_length].node = instance.node;
- update_artifact_location (depends_iad,
- plan.artifact
- [new_art_length]);
- ref_map.bind (
- (const char*)plan.artifact[new_art_length].name,
- new_art_length);
- update_impl_art_ref (mid, new_art_length);
- art_ref_map.bind (new_art_length, new_art_length);
- }
- }
- }
-
- void
- update_impl_config_property (PackagedComponentImplementation
- &impl,
- MonolithicDeploymentDescription
- &mid,
+{
+ CORBA::ULong deps_len = pack_iad.dependsOn.length ();
+ for (CORBA::ULong g = 0; g < deps_len; ++g)
+ {
+ ACE_TString dep_name =
+ (const char*)pack_iad.dependsOn[g].name;
+ int arti_len;
+
+ if (ref_map.find (dep_name, arti_len) == 0)
+ {
+ if (primary_ref_map.find (dep_name, arti_len) != 0)
+ {
+ if (art_ref_map.find (arti_len, arti_len) != 0)
+ {
+ update_impl_art_ref (mid, arti_len);
+ art_ref_map.bind (arti_len, arti_len);
+ }
+ }
+ }
+ else
+ {
+ Deployment::ImplementationArtifactDescription
+ depends_iad = pack_iad.dependsOn[g].
+ referencedArtifact;
+ CORBA::ULong new_art_length (plan.artifact.length ());
+ plan.artifact.length (new_art_length + 1);
+ plan.artifact[new_art_length].name =
+ pack_iad.dependsOn[g].name;
+ plan.artifact[new_art_length].node = instance.node;
+ update_artifact_location (depends_iad,
+ plan.artifact
+ [new_art_length]);
+ ref_map.bind (
+ (const char*)plan.artifact[new_art_length].name,
+ new_art_length);
+ update_impl_art_ref (mid, new_art_length);
+ art_ref_map.bind (new_art_length, new_art_length);
+ }
+ }
+}
+void update_impl_config_property (Deployment::PackagedComponentImplementation
+ &impl,
+ Deployment::MonolithicDeploymentDescription
+ &mid,
+ Deployment::
InstanceDeploymentDescription
- &instance)
- {
- CORBA::ULong pro_len =
+ &instance)
+{
+ CORBA::ULong pro_len =
impl.referencedImplementation.configProperty.length ();
+ for (CORBA::ULong x = 0; x < pro_len; ++x)
+ {
+ CORBA::ULong impl_pro_len (mid.execParameter.length ());
+ mid.execParameter.length (impl_pro_len + 1);
+ mid.execParameter[impl_pro_len]
+ = impl.referencedImplementation.configProperty[x];
+ CORBA::ULong ins_pro_len (instance.configProperty. length ());
+ instance.configProperty.length (ins_pro_len + 1);
+ instance.configProperty[ins_pro_len]
+ = impl.referencedImplementation.configProperty[x];
+ }
+}
- for (CORBA::ULong x = 0; x < pro_len; ++x)
- {
- CORBA::ULong impl_pro_len (mid.execParameter.length ());
- mid.execParameter.length (impl_pro_len + 1);
- mid.execParameter[impl_pro_len]
- = impl.referencedImplementation.configProperty[x];
- CORBA::ULong ins_pro_len (instance.configProperty. length ());
- instance.configProperty.length (ins_pro_len + 1);
- instance.configProperty[ins_pro_len]
- = impl.referencedImplementation.configProperty[x];
- }
- }
-
- void
- update_impl_art_ref (MonolithicDeploymentDescription &mid,
- int arti_len)
- {
- CORBA::ULong new_art_ref_len (mid.artifactRef.length ());
- mid.artifactRef.length (new_art_ref_len + 1);
- mid.artifactRef[new_art_ref_len] = arti_len;
- }
+void update_impl_art_ref (Deployment::MonolithicDeploymentDescription
+ &mid, int arti_len)
+{
+ CORBA::ULong new_art_ref_len (mid.artifactRef.length ());
+ mid.artifactRef.length (new_art_ref_len + 1);
+ mid.artifactRef[new_art_ref_len] = arti_len;
+}
- void
- update_artifact_location (ImplementationArtifactDescription
- &pack_iad,
- ArtifactDeploymentDescription
- &plan_artifact)
- {
- CORBA::ULong loc_len = pack_iad.location.length ();
- for (CORBA::ULong e = 0; e < loc_len; ++e)
- {
- CORBA::ULong art_loc_len (plan_artifact.location.length ());
- plan_artifact.location.length (art_loc_len + 1);
- plan_artifact.location[art_loc_len] = pack_iad.location[e];
- }
- }
+void update_artifact_location (Deployment::ImplementationArtifactDescription
+ &pack_iad,
+ Deployment::ArtifactDeploymentDescription
+ &plan_artifact)
+{
+ CORBA::ULong loc_len = pack_iad.location.length ();
+ for (CORBA::ULong e = 0; e < loc_len; ++e)
+ {
+ CORBA::ULong art_loc_len (plan_artifact.location.length ());
+ plan_artifact.location.length (art_loc_len + 1);
+ plan_artifact.location[art_loc_len] = pack_iad.location[e];
+ }
+}
- void
- update_artifact_property (ImplementationArtifactDescription
- &pack_iad,
- ArtifactDeploymentDescription
- &plan_artifact)
- {
- CORBA::ULong para_len = pack_iad.execParameter.length ();
- for (CORBA::ULong f = 0; f < para_len; ++f)
- {
- CORBA::ULong art_pro_len (plan_artifact.execParameter.length ());
- plan_artifact.execParameter.length (art_pro_len + 1);
- plan_artifact.execParameter[art_pro_len] = pack_iad.execParameter[f];
- }
- }
+void update_artifact_property (Deployment::ImplementationArtifactDescription
+ &pack_iad,
+ Deployment::ArtifactDeploymentDescription
+ &plan_artifact)
+{
+ CORBA::ULong para_len = pack_iad.execParameter.length ();
+ for (CORBA::ULong f = 0; f < para_len; ++f)
+ {
+ CORBA::ULong art_pro_len (plan_artifact.execParameter.length ());
+ plan_artifact.execParameter.length (art_pro_len + 1);
+ plan_artifact.execParameter[art_pro_len] = pack_iad.execParameter[f];
+ }
}
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h b/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h
index 3a67955bd2f..018a090cb94 100644
--- a/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h
+++ b/TAO/CIAO/DAnCE/RepositoryManager/Update_Plan.h
@@ -12,101 +12,86 @@
*
*======================================================================*/
-#ifndef CIAO_REPOSITORY_MANAGER_UPDATE_PLAN_H
-#define CIAO_REPOSITORY_MANAGER_UPDATE_PLAN_H
-#include /**/ "ace/pre.h"
+#ifndef UPDATE_PLAN_H
+#define UPDATE_PLAN_H
+#include "DeploymentC.h"
#include "ace/Hash_Map_Manager.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace Deployment
-{
- struct SubcomponentInstantiationDescription;
- struct DeploymentPlan;
- struct ComponentAssemblyDescription;
- struct SubcomponentInstantiationDescription;
- struct AssemblyConnectionDescription;
-}
-
-namespace CIAO
-{
- class Null_Dom_Document { };
- // exception thrown when we have a null dom document.
-
- typedef ACE_Hash_Map_Manager<ACE_TString, int, ACE_Null_Mutex> REF_MAP;
- typedef ACE_Hash_Map_Manager<int, int, ACE_Null_Mutex> ART_REF_MAP;
-
- void
- traverse_assembly_instance (Deployment::
- SubcomponentInstantiationDescription &instance,
- Deployment::DeploymentPlan &plan,
- int l,
- REF_MAP &ref_map,
- REF_MAP &primary_ref_map);
-
- void traverse_assembly (Deployment::ComponentAssemblyDescription &assembly,
- Deployment::DeploymentPlan &plan,
- REF_MAP &ref_map, REF_MAP &primary_ref_map);
-
- void traverse_interface (Deployment::SubcomponentInstantiationDescription
- &instance,
- Deployment::PlanSubcomponentPortEndpoint
- &pspe);
-
- void traverse_assembly_connection (Deployment::ComponentAssemblyDescription
- &assembly,
- Deployment::AssemblyConnectionDescription
- &assembly_connection,
- Deployment::DeploymentPlan &plan);
-
- void traverse_package (Deployment::PackageConfiguration* &pc,
- Deployment::DeploymentPlan &plan,
- REF_MAP &ref_map, REF_MAP &primary_ref_map);
-
- void update_artifacts (Deployment::MonolithicImplementationDescription &mid,
- Deployment::DeploymentPlan &plan,
- Deployment::InstanceDeploymentDescription &instance,
- REF_MAP &ref_map, REF_MAP &primary_ref_map,
- ART_REF_MAP &art_ref_map,
- Deployment::MonolithicDeploymentDescription &mdd);
-
- void update_artifact_location (Deployment::ImplementationArtifactDescription
- &pack_iad,
- Deployment::ArtifactDeploymentDescription
- &plan_artifact);
-
- void update_artifact_property (Deployment::ImplementationArtifactDescription
- &pack_iad,
- Deployment::ArtifactDeploymentDescription
- &plan_artifact);
-
- void update_impl_art_ref (Deployment::MonolithicDeploymentDescription
- &mid, int art_len);
-
- void update_impl_config_property (Deployment::
- PackagedComponentImplementation &impl,
- Deployment::
- MonolithicDeploymentDescription &mid,
- Deployment::
- InstanceDeploymentDescription
- &instance);
-
- void update_common_artifact_and_art_ref (Deployment::
- ImplementationArtifactDescription &pack_iad,
- REF_MAP &primary_ref_map,
- REF_MAP &ref_map,
- ART_REF_MAP &art_ref_map,
- Deployment::MonolithicDeploymentDescription
- &mid,
- Deployment::DeploymentPlan &plan,
- Deployment::
- InstanceDeploymentDescription
- &instance);
-}
+class Null_Dom_Document { };
+// exception thrown when we have a null dom document.
+
+typedef ACE_Hash_Map_Manager<ACE_TString, int, ACE_Null_Mutex> REF_MAP;
+typedef ACE_Hash_Map_Manager<int, int, ACE_Null_Mutex> ART_REF_MAP;
+
+void traverse_assembly_instance (Deployment::
+ SubcomponentInstantiationDescription
+ &instance,
+ Deployment::DeploymentPlan &plan, int l,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map);
+
+void traverse_assembly (Deployment::ComponentAssemblyDescription &assembly,
+ Deployment::DeploymentPlan &plan,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map);
+
+void traverse_interface (Deployment::SubcomponentInstantiationDescription
+ &instance,
+ Deployment::PlanSubcomponentPortEndpoint
+ &pspe);
+
+void traverse_assembly_connection (Deployment::ComponentAssemblyDescription
+ &assembly,
+ Deployment::AssemblyConnectionDescription
+ &assembly_connection,
+ Deployment::DeploymentPlan &plan);
+
+void traverse_package (Deployment::PackageConfiguration* &pc,
+ Deployment::DeploymentPlan &plan,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map);
+
+void update_artifacts (Deployment::MonolithicImplementationDescription &mid,
+ Deployment::DeploymentPlan &plan,
+ Deployment::InstanceDeploymentDescription &instance,
+ REF_MAP &ref_map, REF_MAP &primary_ref_map,
+ ART_REF_MAP &art_ref_map,
+ Deployment::MonolithicDeploymentDescription &mdd);
+
+void update_artifact_location (Deployment::ImplementationArtifactDescription
+ &pack_iad,
+ Deployment::ArtifactDeploymentDescription
+ &plan_artifact);
+
+void update_artifact_property (Deployment::ImplementationArtifactDescription
+ &pack_iad,
+ Deployment::ArtifactDeploymentDescription
+ &plan_artifact);
+
+void update_impl_art_ref (Deployment::MonolithicDeploymentDescription
+ &mid, int art_len);
+
+void update_impl_config_property (Deployment::
+ PackagedComponentImplementation &impl,
+ Deployment::
+ MonolithicDeploymentDescription &mid,
+ Deployment::
+ InstanceDeploymentDescription
+ &instance);
+
+void update_common_artifact_and_art_ref (Deployment::
+ ImplementationArtifactDescription &pack_iad,
+ REF_MAP &primary_ref_map,
+ REF_MAP &ref_map,
+ ART_REF_MAP &art_ref_map,
+ Deployment::MonolithicDeploymentDescription
+ &mid,
+ Deployment::DeploymentPlan &plan,
+ Deployment::
+ InstanceDeploymentDescription
+ &instance);
#include /**/ "ace/post.h"
-#endif /* CIAO_REPOSITORY_MANAGER_UPDATE_PLAN_H*/
+#endif /* UPDATE_PLAN_H */
diff --git a/TAO/CIAO/DAnCE/ciao/CCM_Container.idl b/TAO/CIAO/DAnCE/ciao/CCM_Container.idl
index 220a09ea261..0b7d23562fc 100644
--- a/TAO/CIAO/DAnCE/ciao/CCM_Container.idl
+++ b/TAO/CIAO/DAnCE/ciao/CCM_Container.idl
@@ -17,7 +17,7 @@
#define CCM_CONTAINER_IDL
#include "CCM_Component.idl"
-#include "orbsvcs/SecurityLevel2.idl"
+#include "orbsvcs/orbsvcs/SecurityLevel2.idl"
#include "CCM_Transaction.idl"
// *************** Basic Container interfaces ***************
diff --git a/TAO/CIAO/DAnCE/ciao/CCM_Core.mpc b/TAO/CIAO/DAnCE/ciao/CCM_Core.mpc
index 8384d770c0a..b8a0c253087 100644
--- a/TAO/CIAO/DAnCE/ciao/CCM_Core.mpc
+++ b/TAO/CIAO/DAnCE/ciao/CCM_Core.mpc
@@ -31,7 +31,7 @@ project (CIAO_DnC_Client) : taolib_with_idl, valuetype, ifr_client {
}
}
-project (CIAO_DnC_Container) : orbsvcslib, portableserver, security, valuetype, ifr_client {
+project (CIAO_DnC_Container) : orbsvcslib, portableserver, security, iorinterceptor, objreftemplate, valuetype, ifr_client {
after += CIAO_DnC_Client
sharedname = CIAO_DnC_Container
libs += CIAO_DnC_Client
@@ -62,7 +62,7 @@ project (CIAO_DnC_Container) : orbsvcslib, portableserver, security, valuetype,
// Valuetype library must be linked for this project.
// Please don't remove.
project(Deployment_stub) : taolib_with_idl, valuetype, ifr_client {
- sharedname = CIAO_Deployment_stub
+ sharedname = Deployment_stub
after += CIAO_DnC_Client
idlflags += -Wb,stub_export_macro=Deployment_stub_Export
@@ -91,11 +91,11 @@ project(Deployment_stub) : taolib_with_idl, valuetype, ifr_client {
// CIAO_DnC_Client library must be linked for this project.
// Please don't remove.
-project(Deployment_svnt) : taolib_with_idl, portableserver, valuetype,ifr_client {
+project(Deployment_svnt) : taolib_with_idl, portableserver, ifr_client {
after += Deployment_stub
- sharedname = CIAO_Deployment_svnt
+ sharedname = Deployment_svnt
dynamicflags = DEPLOYMENT_SVNT_BUILD_DLL
- libs += CIAO_Deployment_stub CIAO_DnC_Client
+ libs += Deployment_stub CIAO_DnC_Client
idlflags += -Wb,stub_export_macro=Deployment_stub_Export
idlflags += -Wb,stub_export_include=Deployment_stub_export.h
idlflags += -Wb,skel_export_macro=Deployment_svnt_Export
@@ -115,11 +115,10 @@ project(Deployment_svnt) : taolib_with_idl, portableserver, valuetype,ifr_client
}
-project (CIAO_DnC_Server) : orbsvcslib, portableserver, valuetype, ifr_client, utils, security {
+project (CIAO_DnC_Server) : orbsvcslib, portableserver, iorinterceptor, objreftemplate, valuetype, ifr_client, security {
after += CIAO_DnC_Container Deployment_svnt
- includes += $(CIAO_ROOT)/DAnCE
sharedname = CIAO_DnC_Server
- libs += CIAO_DnC_Client CIAO_DnC_Container CIAO_Deployment_svnt CIAO_Deployment_stub
+ libs += CIAO_DnC_Client CIAO_DnC_Container Deployment_svnt Deployment_stub
idlflags += -Wb,export_include=CIAO_Server_Export.h -Wb,export_macro=CIAO_SERVER_Export
dynamicflags = CIAO_SERVER_BUILD_DLL
@@ -130,13 +129,8 @@ project (CIAO_DnC_Server) : orbsvcslib, portableserver, valuetype, ifr_client, u
Source_Files {
Container_Base.cpp
NodeApplication_Impl.cpp
- Context_Impl_Base.cpp
- Home_Servant_Impl_Base.cpp
- Servant_Impl_Base.cpp
Server_init.cpp
- Servant_Activator.cpp
- Port_Activator.cpp
- StandardConfigurator_Impl.cpp
+ Servant_Impl_Base.cpp
}
Header_Files {
@@ -145,10 +139,7 @@ project (CIAO_DnC_Server) : orbsvcslib, portableserver, valuetype, ifr_client, u
}
Template_Files {
- Context_Impl_T.cpp
- Home_Servant_Impl_T.cpp
Servant_Impl_T.cpp
- Servant_Activator_T.cpp
}
}
diff --git a/TAO/CIAO/DAnCE/ciao/ComponentsC.h b/TAO/CIAO/DAnCE/ciao/ComponentsC.h
index 4ef065c4e8d..32e5a755e83 100644
--- a/TAO/CIAO/DAnCE/ciao/ComponentsC.h
+++ b/TAO/CIAO/DAnCE/ciao/ComponentsC.h
@@ -72,7 +72,7 @@
// Traits specializations.
namespace TAO
{
-}
+};
// TAO_IDL - Generated from
// be/be_visitor_root/cdr_op.cpp:48
diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.cpp b/TAO/CIAO/DAnCE/ciao/Container_Base.cpp
index f1fce5ec95f..794e3927437 100644
--- a/TAO/CIAO/DAnCE/ciao/Container_Base.cpp
+++ b/TAO/CIAO/DAnCE/ciao/Container_Base.cpp
@@ -2,429 +2,300 @@
#include "Container_Base.h"
#include "ace/DLL.h"
-#include "tao/Utils/PolicyList_Destroyer.h"
#include "ace/OS_NS_stdio.h"
-#include "Servant_Activator.h"
#if !defined (__ACE_INLINE__)
# include "Container_Base.inl"
#endif /* __ACE_INLINE__ */
-namespace CIAO
+////////////////////////////////////////////////////////////////
+
+CIAO::Container::Container (CORBA::ORB_ptr o)
+ : orb_ (CORBA::ORB::_duplicate (o))
{
+}
-////////////////////////////////////////////////////////////////
- Container::Container (CORBA::ORB_ptr o)
- : orb_ (CORBA::ORB::_duplicate (o))
- {
- }
-
- Container::~Container ()
- {
- }
-
- PortableServer::POA_ptr
- Container::the_POA (void) const
- {
- return this->component_poa_.in ();
- }
-
- CORBA::ORB_ptr
- Container::the_ORB (void) const
- {
- return this->orb_.in ();
- }
-
- ///////////////////////////////////////////////////////////////
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, long>
- Session_Container::serial_number_ (0);
-
- Session_Container::Session_Container (CORBA::ORB_ptr o,
- bool static_config_flag,
- const Static_Config_EntryPoints_Maps* maps)
+CIAO::Container::~Container ()
+{
+}
+
+PortableServer::POA_ptr
+CIAO::Container::_ciao_the_POA (void)
+{
+ return this->poa_.in ();
+}
+
+CORBA::ORB_ptr
+CIAO::Container::_ciao_the_ORB ()
+{
+ return this->orb_.in ();
+}
+
+///////////////////////////////////////////////////////////////
+
+ACE_Atomic_Op <ACE_SYNCH_MUTEX, long>
+CIAO::Session_Container::serial_number_ (0);
+
+CIAO::Session_Container::Session_Container (CORBA::ORB_ptr o,
+ int static_config_flag,
+ const Static_Config_EntryPoints_Maps* maps
+ )
: Container (o),
number_ (0),
static_config_flag_ (static_config_flag),
- static_entrypts_maps_ (maps),
- sa_ (0)
- {
- }
-
- Session_Container::~Session_Container ()
- {
- }
-
- int
- Session_Container::init (const char *name,
- const CORBA::PolicyList *more_policies
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- char buffer[MAXPATHLEN];
-
- if (name == 0)
- {
- this->number_ = ++Session_Container::serial_number_;
- ACE_OS::sprintf (buffer, "CIAO::Session_Container-%ld",
- this->number_);
- name = buffer;
- }
-
- CORBA::Object_var poa_object =
- this->orb_->resolve_initial_references("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- 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_CHECK_RETURN (-1);
-
- this->create_component_POA (name,
- more_policies,
- root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->create_facet_consumer_POA (root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
- }
-
- void
- Session_Container::create_component_POA (const char *name,
- const CORBA::PolicyList *p,
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- // Set up proper poa policies here. Default policies seems to be
- // fine for session container. If you add some other default
- // policies here, then you need to "add" more_policies below
- // instead of simply assigning more_policies to the init policy
- // list.
- CORBA::PolicyList policies (0);
-
- if (p != 0)
- policies = *p;
-
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->component_poa_ =
- root->create_POA (name,
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- void
- Session_Container::create_facet_consumer_POA (
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO::Utils::PolicyList_Destroyer policies (3);
- policies.length (3);
-
- policies[0] =
- root->create_id_assignment_policy (PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- policies[1] =
- root->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Servant Retention Policy
- policies[2] =
- root->create_servant_retention_policy (PortableServer::RETAIN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->facet_cons_poa_ =
- root->create_POA ("facet_consumer_poa",
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_NEW_THROW_EX (this->sa_,
- Servant_Activator (this->orb_.in ()),
- CORBA::NO_MEMORY ());
-
- this->facet_cons_poa_->set_servant_manager (
- this->sa_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- CORBA::Object_ptr
- Session_Container::install_servant (PortableServer::Servant p,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid
- = tmp->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = tmp->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return objref._retn ();
- }
-
- CORBA::Object_ptr
- Session_Container::install_component (PortableServer::Servant p,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::ObjectId_var id =
- this->component_poa_->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = this->component_poa_->id_to_reference (id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- oid = id._retn ();
-
- return objref._retn ();
- }
-
-
- //@@ Apparently we need to be cautious when handling the exception
- // thrown here. We should make sure that new DnC interfaces
- // NodeApplication/NodeApplicationManager etc will cache the new
- // exceptions--> rethrow of new exceptions is needed.
- // --Tao
- Components::CCMHome_ptr
- Session_Container::ciao_install_home (const char *exe_dll_name,
- const char *exe_entrypt,
- const char *sv_dll_name,
- const char *sv_entrypt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Deployment::UnknownImplId,
- Deployment::ImplEntryPointNotFound,
- Deployment::InstallationFailure))
- {
-
- HomeFactory hcreator = 0;
- ServantFactory screator = 0;
-
- if (this->static_config_flag_ == 0)
- {
- ACE_DLL executor_dll, servant_dll;
-
- if (exe_dll_name == 0 || sv_dll_name == 0)
- ACE_THROW_RETURN (Deployment::UnknownImplId (),
- Components::CCMHome::_nil ());
-
- if (executor_dll.open (exe_dll_name,
- ACE_DEFAULT_SHLIB_MODE,
- 0) != 0
- || servant_dll.open (sv_dll_name,
- ACE_DEFAULT_SHLIB_MODE,
- 0) != 0)
- {
- ACE_THROW_RETURN (Deployment::UnknownImplId (),
- Components::CCMHome::_nil ());
- }
-
- if (exe_entrypt == 0 || sv_entrypt == 0)
- ACE_THROW_RETURN (Deployment::ImplEntryPointNotFound (),
- Components::CCMHome::_nil ());
-
- // @@ (OO) Please use a static_cast<> here instead of a C-style
- // cast. ANSI C++ casts are the preferred (and modern)
- // way of casting in ACE/TAO/CIAO.
- hcreator = (HomeFactory) executor_dll.symbol (exe_entrypt);
- screator = (ServantFactory) servant_dll.symbol (sv_entrypt);
+ static_entrypts_maps_ (maps)
+{
+}
+
+CIAO::Session_Container::~Session_Container ()
+{
+}
+
+int
+CIAO::Session_Container::init (const char *name,
+ const CORBA::PolicyList *more_policies
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ char buffer[MAXPATHLEN];
+
+ if (name == 0)
+ {
+ this->number_ = ++CIAO::Session_Container::serial_number_;
+ ACE_OS::sprintf (buffer, "CIAO::Session_Container-%ld",
+ this->number_);
+ name = buffer;
}
- else
- {
- if (static_entrypts_maps_ == 0 ||
- static_entrypts_maps_->home_creator_funcptr_map_ == 0 ||
- static_entrypts_maps_->home_servant_creator_funcptr_map_ == 0)
- ACE_THROW_RETURN (Deployment::ImplEntryPointNotFound (),
- Components::CCMHome::_nil ());
-
- ACE_CString exe_entrypt_str (exe_entrypt);
- static_entrypts_maps_->home_creator_funcptr_map_->
- find (exe_entrypt_str, hcreator);
-
- ACE_CString sv_entrypt_str (sv_entrypt);
- static_entrypts_maps_->home_servant_creator_funcptr_map_->
- find (sv_entrypt_str, screator);
- }
-
- if (hcreator == 0 || screator == 0)
- ACE_THROW_RETURN (Deployment::ImplEntryPointNotFound (),
- Components::CCMHome::_nil ());
-
- Components::HomeExecutorBase_var home_executor = hcreator ();
- if (CORBA::is_nil (home_executor.in ()))
- ACE_THROW_RETURN (Deployment::InstallationFailure (),
- Components::CCMHome::_nil ());
-
- PortableServer::Servant home_servant = screator (home_executor.in (),
- this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (Components::CCMHome::_nil ());
-
- if (home_servant == 0)
- ACE_THROW_RETURN (Deployment::InstallationFailure (),
- Components::CCMHome::_nil ());
-
- PortableServer::ServantBase_var safe (home_servant);
-
- CORBA::Object_var objref =
- this->install_servant (home_servant,
- Container::Component
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (Components::CCMHome::_nil ());
-
- Components::CCMHome_var homeref =
- Components::CCMHome::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return homeref._retn ();
-
- }
-
- void
- Session_Container::ciao_uninstall_home (Components::CCMHome_ptr homeref
+
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ 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_CHECK_RETURN (-1);
+
+ // Set up proper poa policies here. Default policies seems to be
+ // fine for session container. If you add some other default
+ // policies here, then you need to "add" more_policies below
+ // instead of simply assigning more_policies to the init policy
+ // list.
+ CORBA::PolicyList policies (0);
+
+ if (more_policies != 0)
+ policies = *more_policies;
+
+ this->poa_ = root_poa->create_POA (name,
+ PortableServer::POAManager::_nil (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-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);
+
+ return 0;
+}
+
+CORBA::Object_ptr
+CIAO::Session_Container::install_servant (PortableServer::Servant p
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->uninstall (homeref,
- Container::Component
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- void
- Session_Container::uninstall (CORBA::Object_ptr objref,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid =
- tmp->reference_to_id (objref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- tmp->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- void
- Session_Container::uninstall (PortableServer::Servant svt,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid
- = tmp->servant_to_id (svt
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid
+ = this->poa_->activate_object (p
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var objref
+ = this->poa_->id_to_reference (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return objref._retn ();
+}
+
+CORBA::Object_ptr
+CIAO::Session_Container::install_component (PortableServer::Servant p,
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var id
+ = this->poa_->activate_object (p
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var objref
+ = this->poa_->id_to_reference (id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ oid = id._retn ();
+
+ return objref._retn ();
+}
+
+
+//@@ Apparently we need to be cautious when handling the exception
+// thrown here. We should make sure that new DnC interfaces
+// NodeApplication/NodeApplicationManager etc will cache the new
+// exceptions--> rethrow of new exceptions is needed.
+// --Tao
+Components::CCMHome_ptr
+CIAO::Session_Container::ciao_install_home (const char *exe_dll_name,
+ const char *exe_entrypt,
+ const char *sv_dll_name,
+ const char *sv_entrypt
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::UnknownImplId,
+ Deployment::ImplEntryPointNotFound,
+ Deployment::InstallationFailure))
+{
+
+ HomeFactory hcreator = 0;
+ ServantFactory screator = 0;
+
+ if (this->static_config_flag_ == 0)
+ {
+ ACE_DLL executor_dll, servant_dll;
+
+ if (exe_dll_name == 0 || sv_dll_name == 0)
+ ACE_THROW_RETURN (Deployment::UnknownImplId (),
+ Components::CCMHome::_nil ());
+
+ if (executor_dll.open (exe_dll_name,
+ ACE_DEFAULT_SHLIB_MODE,
+ 0) != 0
+ || servant_dll.open (sv_dll_name,
+ ACE_DEFAULT_SHLIB_MODE,
+ 0) != 0)
+ {
+ ACE_THROW_RETURN (Deployment::UnknownImplId (),
+ Components::CCMHome::_nil ());
+ }
+
+ if (exe_entrypt == 0 || sv_entrypt == 0)
+ ACE_THROW_RETURN (Deployment::ImplEntryPointNotFound (),
+ Components::CCMHome::_nil ());
+
+ // @@ (OO) Please use a static_cast<> here instead of a C-style
+ // cast. ANSI C++ casts are the preferred (and modern)
+ // way of casting in ACE/TAO/CIAO.
+ hcreator = (HomeFactory) executor_dll.symbol (exe_entrypt);
+ screator = (ServantFactory) servant_dll.symbol (sv_entrypt);
+ }
+ else
+ {
+ if (static_entrypts_maps_ == 0 ||
+ static_entrypts_maps_->home_creator_funcptr_map_ == 0 ||
+ static_entrypts_maps_->home_servant_creator_funcptr_map_ == 0)
+ ACE_THROW_RETURN (Deployment::ImplEntryPointNotFound (),
+ Components::CCMHome::_nil ());
+
+ ACE_CString exe_entrypt_str (exe_entrypt);
+ static_entrypts_maps_->home_creator_funcptr_map_->
+ find (exe_entrypt_str, hcreator);
+
+ ACE_CString sv_entrypt_str (sv_entrypt);
+ static_entrypts_maps_->home_servant_creator_funcptr_map_->
+ find (sv_entrypt_str, screator);
+ }
+
+ if (hcreator == 0 || screator == 0)
+ ACE_THROW_RETURN (Deployment::ImplEntryPointNotFound (),
+ Components::CCMHome::_nil ());
+
+ Components::HomeExecutorBase_var home_executor = hcreator ();
+ if (CORBA::is_nil (home_executor.in ()))
+ ACE_THROW_RETURN (Deployment::InstallationFailure (),
+ Components::CCMHome::_nil ());
+
+ PortableServer::Servant home_servant = screator (home_executor.in (),
+ this
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (Components::CCMHome::_nil ());
+
+ if (home_servant == 0)
+ ACE_THROW_RETURN (Deployment::InstallationFailure (),
+ Components::CCMHome::_nil ());
+
+ PortableServer::ServantBase_var safe (home_servant);
+
+ CORBA::Object_var objref = this->install_servant (home_servant
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (Components::CCMHome::_nil ());
+
+ Components::CCMHome_var homeref =
+ Components::CCMHome::_narrow (objref.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return homeref._retn ();
+
+}
+
+void
+CIAO::Session_Container::ciao_uninstall_home (Components::CCMHome_ptr homeref
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->uninstall (homeref
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+CIAO::Session_Container::uninstall (CORBA::Object_ptr objref
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid
+ = this->poa_->reference_to_id (objref
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->poa_->deactivate_object (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+CIAO::Session_Container::uninstall (PortableServer::Servant svt
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid
+ = this->poa_->servant_to_id (svt
ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ ACE_CHECK;
- tmp->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- }
+ this->poa_->deactivate_object (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
- void
- Session_Container::uninstall_component (Components::CCMObject_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
-
- PortableServer::ObjectId_var id =
- this->component_poa_->reference_to_id (objref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->component_poa_->deactivate_object (id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- oid = id._retn ();
- }
-
- CORBA::Object_ptr
- Session_Container::generate_reference (const char *obj_id,
- const char *repo_id,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid =
- PortableServer::string_to_ObjectId (obj_id);
-
- CORBA::Object_var objref =
- tmp->create_reference_with_id (oid.in (),
- repo_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return objref._retn ();
- }
+void
+CIAO::Session_Container::uninstall_component (Components::CCMObject_ptr objref,
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var id
+ = this->poa_->reference_to_id (objref
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->poa_->deactivate_object (id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ oid = id._retn ();
}
diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.h b/TAO/CIAO/DAnCE/ciao/Container_Base.h
index b76cf9da544..2a618114c7d 100644
--- a/TAO/CIAO/DAnCE/ciao/Container_Base.h
+++ b/TAO/CIAO/DAnCE/ciao/Container_Base.h
@@ -20,9 +20,9 @@
#include "tao/ORB.h"
#include "tao/PortableServer/PortableServer.h"
#include "tao/PortableServer/Servant_Base.h"
-#include "ciao/CCM_ContainerC.h"
-#include "ciao/Deployment_CoreC.h"
-#include "ciao/CIAO_Server_Export.h"
+#include "CCM_ContainerC.h"
+#include "Deployment_CoreC.h"
+#include "CIAO_Server_Export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -30,8 +30,6 @@
namespace CIAO
{
- class Servant_Activator;
-
/**
* @class Container
*
@@ -43,25 +41,16 @@ namespace CIAO
class CIAO_SERVER_Export Container
{
public:
- enum OA_Type
- {
- Component,
- Facet_Consumer
- };
-
Container (CORBA::ORB_ptr o);
virtual ~Container (void) = 0;
- /// Get component's POA.
- /**
- * This operation does *NOT* increase the reference count of the
- * POA. Look at the const qualifier in the method.
- */
- PortableServer::POA_ptr the_POA (void) const;
+ /// Get the containing POA. This operation does *NOT*
+ /// increase the reference count of the POA.
+ virtual PortableServer::POA_ptr _ciao_the_POA (void);
/// Get a reference to the underlying ORB.
- CORBA::ORB_ptr the_ORB (void) const;
+ virtual CORBA::ORB_ptr _ciao_the_ORB (void);
/// Initialize the container with a name.
virtual int init (const char *name = 0,
@@ -88,25 +77,14 @@ namespace CIAO
// Uninstall a servant for component.
virtual void uninstall_component (::Components::CCMObject_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
-
protected:
CORBA::ORB_var orb_;
- /// POA within which all the components in this container will be
- /// activated.
- PortableServer::POA_var component_poa_;
-
- /// POA within which all the facets and receptacles will be
- /// activated.
- /**
- * Having two POA's allows us to associate different policies that
- * are distinct from the component.
- */
- PortableServer::POA_var facet_cons_poa_;
+ PortableServer::POA_var poa_;
};
class Session_Container;
@@ -115,10 +93,7 @@ namespace CIAO
typedef ::PortableServer::Servant (*ServantFactory)
(::Components::HomeExecutorBase_ptr p,
::CIAO::Session_Container *c
-#if !defined (TAO_HAS_EXCEPTIONS) || defined (ACE_ENV_BKWD_COMPAT)
- , CORBA::Environment &
-#endif
- );
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
HomeFactory,
@@ -149,8 +124,9 @@ namespace CIAO
// It appears to be a boolean value. Please use bool
// instead.
Session_Container (CORBA::ORB_ptr o,
- bool static_config_flag = false,
- const Static_Config_EntryPoints_Maps* static_entrypts_maps =0);
+ int static_config_flag =0,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps =0
+ );
virtual ~Session_Container (void);
@@ -158,7 +134,6 @@ namespace CIAO
virtual int init (const char *name = 0,
const CORBA::PolicyList *more_policies = 0
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((CORBA::SystemException));
/**
@@ -190,13 +165,12 @@ namespace CIAO
// Uninstall a servant for component.
virtual void uninstall_component (::Components::CCMObject_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
// Install a servant for component or home.
- CORBA::Object_ptr install_servant (PortableServer::Servant p,
- Container::OA_Type t
+ CORBA::Object_ptr install_servant (PortableServer::Servant p
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
@@ -212,44 +186,15 @@ namespace CIAO
ACE_THROW_SPEC ((CORBA::SystemException));
// Uninstall a servant for component or home.
- void uninstall (CORBA::Object_ptr objref,
- Container::OA_Type t
+ void uninstall (CORBA::Object_ptr objref
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
// Uninstall a servant for component or home.
- void uninstall (PortableServer::Servant svt,
- Container::OA_Type t
+ void uninstall (PortableServer::Servant svt
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
- // Analog of the POA method that creates an object reference from
- // an object id string.
- CORBA::Object_ptr generate_reference (const char *obj_id,
- const char *repo_id,
- Container::OA_Type t
- ACE_ENV_ARG_DECL);
-
- /// Return the servant activator factory that activates the
- /// servants for facets and consumers.
- Servant_Activator *ports_servant_activator (void) const;
-
- private:
-
- /// Create POA for the component.
- /**
- * This is the POA that is returned to the component applications
- * if they need one.
- */
- void create_component_POA (const char *name,
- const CORBA::PolicyList *p,
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL);
-
- /// Create POA for the facets and consumers alone.
- void create_facet_consumer_POA (PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL);
-
protected:
long number_;
@@ -259,12 +204,8 @@ namespace CIAO
// boolean value. Please use bool instead.
//
// It looks like it can also be declared const, as well.
- bool static_config_flag_;
+ int static_config_flag_;
const Static_Config_EntryPoints_Maps* static_entrypts_maps_;
-
- /// The servant activator factory used to activate facets and
- /// consumer servants.
- Servant_Activator *sa_;
};
}
@@ -277,7 +218,7 @@ namespace CIAO
{ \
CORBA::ValueFactory factory = new FACTORY; \
CORBA::ORB_ptr orb = \
- this->context_->_ciao_the_Container ()->the_ORB (); \
+ this->context_->_ciao_the_Container ()->_ciao_the_ORB (); \
CORBA::ValueFactory prev_factory = \
orb->register_value_factory ( \
VALUETYPE::_tao_obv_static_repository_id (), \
diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.inl b/TAO/CIAO/DAnCE/ciao/Container_Base.inl
index 0d6aeef9bcc..5435a481075 100644
--- a/TAO/CIAO/DAnCE/ciao/Container_Base.inl
+++ b/TAO/CIAO/DAnCE/ciao/Container_Base.inl
@@ -5,12 +5,6 @@ CIAO::Session_Container::get_objref (PortableServer::Servant p
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- return this->the_POA ()->servant_to_reference (p
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE CIAO::Servant_Activator *
-CIAO::Session_Container::ports_servant_activator (void) const
-{
- return this->sa_;
+ return this->_ciao_the_POA ()->servant_to_reference (p
+ ACE_ENV_ARG_PARAMETER);
}
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp
index fccbf855572..16bfc99c407 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp
@@ -1,8 +1,6 @@
// $Id$
#include "Servant_Impl_Base.h"
-#include "StandardConfigurator_Impl.h"
-#include "Container_Base.h"
namespace CIAO
{
@@ -15,347 +13,6 @@ namespace CIAO
{
}
- // Operations for CCMObject interface.
-
- ::Components::PrimaryKeyBase *
- Servant_Impl_Base::get_primary_key (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoKeyAvailable))
- {
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-
- return 0;
- }
-
- CORBA::IRObject_ptr
- Servant_Impl_Base::get_component_def (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CORBA::IRObject::_nil ());
- }
-
- void
- Servant_Impl_Base::configuration_complete (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
- {
- // CIAO to-do
- }
-
- void
- Servant_Impl_Base::remove (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
- {
- // CIAO to-do
- }
-
- ::Components::ConnectionDescriptions *
- Servant_Impl_Base::get_connections (
- const char * /* name */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ComponentPortDescription *
- Servant_Impl_Base::get_all_ports (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- OBV_Components::ComponentPortDescription *cps = 0;
- ACE_NEW_RETURN (cps,
- OBV_Components::ComponentPortDescription,
- 0);
- ::Components::ComponentPortDescription_var retv = cps;
-
- ::Components::FacetDescriptions_var facets_desc =
- this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::ReceptacleDescriptions_var receptacle_desc =
- this->get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::ConsumerDescriptions_var consumer_desc =
- this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::EmitterDescriptions_var emitter_desc =
- this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::PublisherDescriptions_var publisher_desc =
- this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv->facets (facets_desc.in ());
- retv->receptacles (receptacle_desc.in ());
- retv->consumers (consumer_desc.in ());
- retv->emitters (emitter_desc.in ());
- retv->publishers (publisher_desc.in ());
-
- return retv._retn ();
- }
-
- CORBA::Object_ptr
- Servant_Impl_Base::provide_facet (
- const char *name
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- if (name == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- CORBA::Object::_nil ());
- }
-
- CORBA::Object_ptr retval = this->lookup_facet (name);
-
- if (CORBA::is_nil (retval))
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- CORBA::Object::_nil ());
- }
-
- return retval;
- }
-
- Components::FacetDescriptions *
- Servant_Impl_Base::get_named_facets (
- const ::Components::NameList & names
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- Components::FacetDescriptions *retval = 0;
- ACE_NEW_RETURN (retval,
- ::Components::FacetDescriptions,
- 0);
- Components::FacetDescriptions_var safe_retval = retval;
- CORBA::ULong len = names.length ();
- safe_retval->length (len);
- ::Components::FacetDescription *tmp = 0;
-
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- tmp = this->lookup_facet_description (names[i].in ());
-
- if (tmp == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- 0);
- }
-
- safe_retval[i] = tmp;
- }
-
- return safe_retval._retn ();
- }
-
- ::Components::FacetDescriptions *
- Servant_Impl_Base::get_all_facets (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::FacetDescriptions *tmp = 0;
- ACE_NEW_RETURN (tmp,
- ::Components::FacetDescriptions,
- 0);
-
- ::Components::FacetDescriptions_var retval = tmp;
-
- retval->length (this->facet_table_.current_size ());
- CORBA::ULong i = 0;
-
- for (FacetTable::iterator iter = this->facet_table_.begin ();
- iter != this->facet_table_.end ();
- ++iter, ++i)
- {
- FacetTable::ENTRY & entry = *iter;
- retval[i] = entry.int_id_;
- }
-
- return retval._retn ();
- }
-
- ::Components::ConsumerDescriptions *
- Servant_Impl_Base::get_all_consumers (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::ConsumerDescriptions *tmp = 0;
- ACE_NEW_RETURN (tmp,
- ::Components::ConsumerDescriptions,
- 0);
-
- ::Components::ConsumerDescriptions_var retval = tmp;
-
- retval->length (this->consumer_table_.current_size ());
- CORBA::ULong i = 0;
-
- for (ConsumerTable::iterator iter = this->consumer_table_.begin ();
- iter != this->consumer_table_.end ();
- ++iter, ++i)
- {
- ConsumerTable::ENTRY & entry = *iter;
- retval[i] = entry.int_id_;
- }
-
- return retval._retn ();
- }
-
- ::Components::EventConsumerBase_ptr
- Servant_Impl_Base::get_consumer (
- const char *sink_name
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- if (sink_name == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- Components::EventConsumerBase::_nil ());
- }
-
- Components::EventConsumerBase_ptr retval =
- this->lookup_consumer (sink_name);
-
- if (CORBA::is_nil (retval))
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- Components::EventConsumerBase::_nil ());
- }
-
- return retval;
- }
-
- ::Components::EventConsumerBase_ptr
- Servant_Impl_Base::disconnect_consumer (
- const char * /* source_name */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ConsumerDescriptions *
- Servant_Impl_Base::get_named_consumers (
- const ::Components::NameList & names
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- Components::ConsumerDescriptions *retval = 0;
- ACE_NEW_RETURN (retval,
- ::Components::ConsumerDescriptions,
- 0);
- Components::ConsumerDescriptions_var safe_retval = retval;
- CORBA::ULong len = names.length ();
- safe_retval->length (len);
- ::Components::ConsumerDescription *tmp = 0;
-
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- tmp = this->lookup_consumer_description (names[i].in ());
-
- if (tmp == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- 0);
- }
-
- safe_retval[i] = tmp;
- }
-
- return safe_retval._retn ();
- }
-
- ::Components::EmitterDescriptions *
- Servant_Impl_Base::get_all_emitters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::EmitterDescriptions *
- Servant_Impl_Base::get_named_emitters (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ReceptacleDescriptions *
- Servant_Impl_Base::get_all_receptacles (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ReceptacleDescriptions *
- Servant_Impl_Base::get_named_receptacles (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::PublisherDescriptions *
- Servant_Impl_Base::get_all_publishers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::PublisherDescriptions *
- Servant_Impl_Base::get_named_publishers (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- /// Protected operations.
-
void
Servant_Impl_Base::add_facet (const char *port_name,
CORBA::Object_ptr port_ref)
@@ -374,32 +31,6 @@ namespace CIAO
safe._retn ();
}
}
-
- CORBA::Object_ptr
- Servant_Impl_Base::lookup_facet (const char *port_name)
- {
- ::Components::FacetDescription_var fd;
-
- if (this->facet_table_.find (port_name, fd) != 0)
- {
- return CORBA::Object::_nil ();
- }
-
- return CORBA::Object::_duplicate (fd.in ()->facet_ref ());
- }
-
- ::Components::FacetDescription *
- Servant_Impl_Base::lookup_facet_description (const char *port_name)
- {
- ::Components::FacetDescription_var fd;
-
- if (this->facet_table_.find (port_name, fd) != 0)
- {
- return 0;
- }
-
- return fd._retn ();
- }
void
Servant_Impl_Base::add_consumer (
@@ -421,60 +52,4 @@ namespace CIAO
safe._retn ();
}
}
-
- ::Components::EventConsumerBase_ptr
- Servant_Impl_Base::lookup_consumer (const char *port_name)
- {
- ::Components::ConsumerDescription_var cd;
-
- if (this->consumer_table_.find (port_name, cd) != 0)
- {
- return ::Components::EventConsumerBase::_nil ();
- }
-
- return
- ::Components::EventConsumerBase::_duplicate (cd.in ()->consumer ());
- }
-
- ::Components::ConsumerDescription *
- Servant_Impl_Base::lookup_consumer_description (
- const char *port_name
- )
- {
- ::Components::ConsumerDescription_var cd;
-
- if (this->consumer_table_.find (port_name, cd) != 0)
- {
- return 0;
- }
-
- return cd._retn ();
- }
-
- Components::StandardConfigurator*
- Servant_Impl_Base::get_standard_configurator (
- ACE_ENV_SINGLE_ARG_DECL)
- {
- // Create the configurator servant.
- StandardConfigurator_Impl *config_impl = 0;
-
- ACE_NEW_THROW_EX (config_impl,
- StandardConfigurator_Impl (this),
- CORBA::NO_MEMORY ());
-
-
- Components::StandardConfigurator_var configurator =
- config_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (Components::StandardConfigurator::_nil ());
-
- return configurator._retn ();
- }
-
- PortableServer::POA_ptr
- Servant_Impl_Base::_default_POA (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- {
- return
- PortableServer::POA::_duplicate (container_->the_POA ());
- }
}
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.h b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.h
index 272fa8f3d5a..ea854dbde26 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.h
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.h
@@ -27,7 +27,6 @@
#include "CCM_EventC.h"
#include "CIAO_Server_Export.h"
-#include "CCM_ComponentS.h"
namespace CIAO
{
@@ -42,150 +41,19 @@ namespace CIAO
* Servant_Impl.
*/
class CIAO_SERVER_Export Servant_Impl_Base
- : public virtual POA_Components::CCMObject
{
public:
Servant_Impl_Base (Session_Container * c);
virtual ~Servant_Impl_Base (void);
- /// Operations for CCMObject interface.
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void
- remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char *name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Object_ptr
- provide_facet (const char *name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const ::Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char *sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char *source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const ::Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const ::Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- /// Operation to set attributes on the component.
- virtual void set_attributes (const Components::ConfigValues &descr
- ACE_ENV_ARG_DECL) = 0;
-
- // Creates and returns the StandardConfigurator for the component.
- virtual Components::StandardConfigurator *get_standard_configurator (
- ACE_ENV_SINGLE_ARG_DECL
- );
-
- /// Override that returns the (passed-in) default POA of our member
- /// component's container, to ensure that we get registered
- /// to that POA when _this() is called.
- virtual PortableServer::POA_ptr _default_POA (
- ACE_ENV_SINGLE_ARG_DECL
- );
-
protected:
void add_facet (const char *port_name,
CORBA::Object_ptr port_ref);
- CORBA::Object_ptr lookup_facet (const char *port_name);
-
- ::Components::FacetDescription *lookup_facet_description (
- const char *port_name
- );
-
void add_consumer (const char *port_name,
::Components::EventConsumerBase_ptr port_ref);
-
- ::Components::EventConsumerBase_ptr lookup_consumer (
- const char *port_name
- );
-
- ::Components::ConsumerDescription *lookup_consumer_description (
- const char *port_name
- );
-
+
protected:
typedef ACE_Hash_Map_Manager_Ex<const char *,
::Components::FacetDescription_var,
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp
index 4e39010461f..443aab29064 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp
@@ -26,200 +26,68 @@ namespace CIAO
typename CONTEXT>
Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::~Servant_Impl (void)
{
- ACE_TRY_NEW_ENV
- {
- ::Components::SessionComponent_var scom =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- if (! ::CORBA::is_nil (scom.in ()))
- {
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- }
- ACE_CATCHANY
- {
- }
- ACE_ENDTRY;
-
- this->context_->_remove_ref ();
- }
-
- // Operations for CCMObject interface.
-
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- CORBA::Boolean
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::same_component (
- CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- if (::CORBA::is_nil (object_ref))
- {
- ACE_THROW_RETURN (::CORBA::BAD_PARAM (), 0);
- }
-
- ::CORBA::Object_var the_other =
- object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::CORBA::Object_var me =
- this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (the_other.in ()
- ACE_ENV_ARG_PARAMETER);
}
template <typename BASE_SKEL,
typename EXEC,
typename EXEC_VAR,
typename CONTEXT>
- ::Components::CCMHome_ptr
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_ccm_home (
- ACE_ENV_SINGLE_ARG_DECL
+ ::Components::FacetDescriptions *
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_all_facets (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
+ ::Components::FacetDescriptions *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ::Components::FacetDescriptions,
+ 0);
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- CORBA::Object_ptr
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::_get_component (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (
- this->context_
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK_RETURN (::CORBA::Object::_nil ());
+ ::Components::FacetDescriptions_var retval = tmp;
- if (! ::CORBA::is_nil (sc.in ()))
- {
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
+ retval->length (this->facet_table_.current_size ());
+ CORBA::ULong i = 0;
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (
- this->context_
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK_RETURN (::CORBA::Object::_nil ());
-
- if (! ::CORBA::is_nil (ec.in ()))
+ for (FacetTable::iterator iter = this->facet_table_.begin ();
+ iter != this->facet_table_.end ();
+ ++iter, ++i)
{
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
+ FacetTable::ENTRY & entry = *iter;
+ retval[i] = entry.int_id_;
}
- ACE_THROW_RETURN (CORBA::INTERNAL (),
- ::CORBA::Object::_nil ());
+ return retval._retn ();
}
- // CIAO-specific operations.
-
template <typename BASE_SKEL,
typename EXEC,
typename EXEC_VAR,
typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_preactivate (
- ACE_ENV_SINGLE_ARG_DECL
+ ::Components::ConsumerDescriptions *
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_all_consumers (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
+ ::Components::ConsumerDescriptions *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ::Components::ConsumerDescriptions,
+ 0);
- if (! ::CORBA::is_nil (temp.in ()))
- {
- temp->ciao_preactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- }
+ ::Components::ConsumerDescriptions_var retval = tmp;
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_activate (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
+ retval->length (this->consumer_table_.current_size ());
+ CORBA::ULong i = 0;
- if (! ::CORBA::is_nil (temp.in ()))
+ for (ConsumerTable::iterator iter = this->consumer_table_.begin ();
+ iter != this->consumer_table_.end ();
+ ++iter, ++i)
{
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ConsumerTable::ENTRY & entry = *iter;
+ retval[i] = entry.int_id_;
}
- }
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_postactivate (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- if (! ::CORBA::is_nil (temp.in ()))
- {
- temp->ciao_postactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- }
-
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::_ciao_passivate (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- if (! ::CORBA::is_nil (temp.in ()))
- {
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
+ return retval._retn ();
}
}
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h
index 45f223f57b5..af8f19a0eb2 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h
@@ -43,48 +43,21 @@ namespace CIAO
typename EXEC_VAR,
typename CONTEXT>
class Servant_Impl : public virtual BASE_SKEL,
- public virtual Servant_Impl_Base
+ public Servant_Impl_Base
{
public:
- Servant_Impl (EXEC * exe,
+ Servant_Impl (EXEC * exe,
Session_Container * c);
-
virtual ~Servant_Impl (void);
- // Operations for CCMObject interface.
-
- virtual CORBA::Boolean
- same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO-specific operations.
-
- void
- ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ virtual ::Components::FacetDescriptions *
+ get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ virtual ::Components::ConsumerDescriptions *
+ get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// @@NOTE: The busted operation.
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
+
protected:
EXEC_VAR executor_;
diff --git a/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.cpp b/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.cpp
index 6b117839019..a00a939f113 100644
--- a/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.cpp
+++ b/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.cpp
@@ -1,204 +1,17 @@
// $Id$
-#ifndef HANDLER_TEST_CPP
-#define HANDLER_TEST_CPP
#include "Handler_Test.h"
-#include "ace/Get_Opt.h"
-#include "ace/Auto_Ptr.h"
-#include "ace/Log_Msg.h"
-#include "ace/OS_main.h"
-#include "ace/Auto_Ptr.h"
-#include "tao/Exception.h"
-#include "Config_Handlers/XercesString.h"
-#include <xercesc/util/XMLUniDefs.hpp>
-#include "Config_Handlers/Config_Handler_export.h"
-#include "Config_Handlers/DnC_Dump.h"
-#include "Config_Handlers/Config_Error_Handler.h"
+#ifdef ACE_HAS_BROKEN_NESTED_TEMPLATES
-using Config_Handler::XStr;
-using xercesc::XMLUni;
-using xercesc::XMLString;
-using xercesc::XMLException;
-using xercesc::DOMException;
-using xercesc::DOMBuilder;
-using xercesc::DOMImplementationRegistry;
-using xercesc::DOMImplementationLS;
-using xercesc::DOMImplementation;
-using xercesc::DOMAttr;
-using xercesc::DOMNamedNodeMap;
-using xercesc::DOMLocator;
-using xercesc::DOMError;
-using xercesc::DOMNodeList;
-using xercesc::DOMDocument;
-using xercesc::DOMDocumentTraversal;
-using xercesc::DOMNodeIterator;
-using xercesc::DOMNode;
-using xercesc::DOMNodeFilter;
-
-void
-usage (const ACE_TCHAR* program)
+int
+ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Usage: %s -u <URI>\n")
- ACE_TEXT (" <URI>: URI identifying the resource\n"),
- program));
-}
-
-template <typename HANDLER, typename DATA>
-int run_test (int argc, ACE_TCHAR *argv[], void (HANDLER::*func) (DATA&))
-{
- ACE_TCHAR* url = 0;
-
- ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("u:"));
- int c;
-
- while ((c = get_opt ()) != EOF)
- {
- switch (c)
- {
- case 'u':
- url = get_opt.opt_arg();
- break;
- default:
- usage(argv[0]);
- return -1;
- }
- }
-
- if (url == 0) {
- usage (argv[0]);
- return -1;
- }
-
- // Initialize the ORB so that CORBA::Any will work
- //
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "");
-
- // Initialize the Xerces run-time
- try
- {
- xercesc::XMLPlatformUtils::Initialize();
- }
-
- catch (const XMLException& e)
- {
- char* message = XMLString::transcode (e.getMessage());
- ACE_Auto_Basic_Array_Ptr<char> cleanup_message (message);
- ACE_DEBUG ((LM_DEBUG, "Error during initialization : %s\n", message));
- return 1;
- }
-
- try
- {
-
- // Instantiate the DOM parser.
- static const XMLCh gLS[] = { xercesc::chLatin_L,
- xercesc::chLatin_S,
- xercesc::chNull };
-
- // Get an implementation of the Load-Store (LS) interface
- DOMImplementation* impl
- = DOMImplementationRegistry::getDOMImplementation(gLS);
-
- auto_ptr<DOMImplementation> cleanup_impl (impl);
-
- // Create a DOMBuilder
- DOMBuilder* parser =
- ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
-
- auto_ptr<DOMBuilder> cleanup_builder (parser);
-
- // Discard comment nodes in the document
- parser->setFeature (XMLUni::fgDOMComments, false);
-
- // Disable datatype normalization. The XML 1.0 attribute value
- // normalization always occurs though.
- parser->setFeature (XMLUni::fgDOMDatatypeNormalization, true);
-
- // Do not create EntityReference nodes in the DOM tree. No
- // EntityReference nodes will be created, only the nodes
- // corresponding to their fully expanded sustitution text will be
- // created.
- parser->setFeature (XMLUni::fgDOMEntities, false);
-
- // Perform Namespace processing.
- parser->setFeature (XMLUni::fgDOMNamespaces, true);
-
- // Perform Validation
- parser->setFeature (XMLUni::fgDOMValidation, true);
-
- // Do not include ignorable whitespace in the DOM tree.
- parser->setFeature (XMLUni::fgDOMWhitespaceInElementContent, false);
-
- // Enable the parser schema support.
- parser->setFeature (XMLUni::fgXercesSchema, true);
-
- // Enable full schema constraint checking, including checking which
- // may be time-consuming or memory intensive. Currently, particle
- // unique attribution constraint checking and particle derivation
- // restriction checking are controlled by this option.
- parser->setFeature (XMLUni::fgXercesSchemaFullChecking, true);
-
- // The parser will treat validation error as fatal and will exit.
- parser->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true);
-
- CIAO::Config_Handler::Config_Error_Handler handler;
- parser->setErrorHandler(&handler);
-
- DOMDocument* doc = parser->parseURI(url);
- auto_ptr<DOMDocument> cleanup_doc (doc);
-
- if (handler.getErrors())
- {
- return 1;
- }
- HANDLER obj (doc, DOMNodeFilter::SHOW_ELEMENT |
- DOMNodeFilter::SHOW_TEXT);
-
- DATA data;
- (obj.*func)(data);
- Deployment::DnC_Dump::dump (data);
- //domain_handler.dump(domain);
-
- // parser->release ();
- }
- catch (const DOMException& e)
- {
- const unsigned int maxChars = 2047;
- XMLCh errText[maxChars + 1];
-
- ACE_ERROR ((LM_ERROR, "\nException occured while parsing %s: \n", url));
- ACE_ERROR ((LM_ERROR, "DOMException code: %d\n ", e.code));
- if (DOMImplementation::loadDOMExceptionMsg(e.code, errText, maxChars))
- {
- char* message = XMLString::transcode (errText);
- ACE_Auto_Basic_Array_Ptr<char> cleanup_message (message);
- ACE_ERROR ((LM_ERROR, "Message is: %s\n", message));
- }
- return 1;
- }
- catch (const XMLException& e)
- {
- char* message = XMLString::transcode (e.getMessage());
- ACE_Auto_Basic_Array_Ptr<char> cleanup_message (message);
- ACE_ERROR ((LM_ERROR, "\nException occured: %s\n ", message));
- return 1;
- }
- catch (CORBA::Exception& ex)
- {
- ACE_PRINT_EXCEPTION (ex, "Caught CORBA Exception: ");
- return 1;
- }
- catch (...)
- {
- ACE_ERROR ((LM_ERROR, "Caught unknown exception\n"));
- return 1;
- }
-
- xercesc::XMLPlatformUtils::Terminate();
- return 0;
+ ACE_TEXT ("DaNCe internal testing doesn't work with compilers ")
+ ACE_TEXT ("not supporting nested templates (like VC6).\n")));
+ return -1;
}
+#endif // ACE_HAS_BROKEN_NESTED_TEMPLATES
-#endif /*HANDLER_TEST_CPP*/
diff --git a/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.h b/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.h
index b51a6e4c00b..a5598e8a55c 100644
--- a/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.h
+++ b/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.h
@@ -6,6 +6,8 @@
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"
+#ifndef ACE_HAS_BROKEN_NESTED_TEMPLATES
+
#include "ace/Get_Opt.h"
#include "ace/Auto_Ptr.h"
#include "tao/Exception.h"
@@ -40,13 +42,9 @@ using xercesc::DOMNodeFilter;
template <typename HANDLER, typename DATA>
int run_test (int argc, ACE_TCHAR *argv[], void (HANDLER::*func) (DATA&));
+#include "Handler_Test.i"
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Handler_Test.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Handler_Test.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+#endif // ACE_HAS_BROKEN_NESTED_TEMPLATES
#endif // HANDLER_TEST_H
+
diff --git a/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.i b/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.i
index cfa1da318d3..eb6041b83d0 100644
--- a/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.i
+++ b/TAO/CIAO/DAnCE/tests/Config_Handlers/Handler_Test.i
@@ -1 +1,197 @@
// $Id$
+
+#include "ace/Get_Opt.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/Log_Msg.h"
+#include "ace/OS_main.h"
+#include "ace/Auto_Ptr.h"
+#include "tao/Exception.h"
+#include "Config_Handlers/XercesString.h"
+#include <xercesc/util/XMLUniDefs.hpp>
+#include "Config_Handlers/Config_Handler_export.h"
+#include "Config_Handlers/DnC_Dump.h"
+#include "Config_Handlers/Config_Error_Handler.h"
+
+using Config_Handler::XStr;
+using xercesc::XMLUni;
+using xercesc::XMLString;
+using xercesc::XMLException;
+using xercesc::DOMException;
+using xercesc::DOMBuilder;
+using xercesc::DOMImplementationRegistry;
+using xercesc::DOMImplementationLS;
+using xercesc::DOMImplementation;
+using xercesc::DOMAttr;
+using xercesc::DOMNamedNodeMap;
+using xercesc::DOMLocator;
+using xercesc::DOMError;
+using xercesc::DOMNodeList;
+using xercesc::DOMDocument;
+using xercesc::DOMDocumentTraversal;
+using xercesc::DOMNodeIterator;
+using xercesc::DOMNode;
+using xercesc::DOMNodeFilter;
+
+inline void
+usage (const ACE_TCHAR* program)
+{
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Usage: %s -u <URI>\n")
+ ACE_TEXT (" <URI>: URI identifying the resource\n"),
+ program));
+}
+
+template <typename HANDLER, typename DATA>
+int run_test (int argc, ACE_TCHAR *argv[], void (HANDLER::*func) (DATA&))
+{
+ ACE_TCHAR* url = 0;
+
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("u:"));
+ int c;
+
+ while ((c = get_opt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 'u':
+ url = get_opt.opt_arg();
+ break;
+ default:
+ usage(argv[0]);
+ return -1;
+ }
+ }
+
+ if (url == 0) {
+ usage(argv[0]);
+ return -1;
+ }
+
+ // Initialize the ORB so that CORBA::Any will work
+ //
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "");
+
+ // Initialize the Xerces run-time
+ try
+ {
+ xercesc::XMLPlatformUtils::Initialize();
+ }
+
+ catch (const XMLException& e)
+ {
+ char* message = XMLString::transcode (e.getMessage());
+ ACE_Auto_Basic_Array_Ptr<char> cleanup_message (message);
+ ACE_DEBUG ((LM_DEBUG, "Error during initialization : %s\n", message));
+ return 1;
+ }
+
+ try
+ {
+
+ // Instantiate the DOM parser.
+ static const XMLCh gLS[] = { xercesc::chLatin_L,
+ xercesc::chLatin_S,
+ xercesc::chNull };
+
+ // Get an implementation of the Load-Store (LS) interface
+ DOMImplementation* impl
+ = DOMImplementationRegistry::getDOMImplementation(gLS);
+
+ auto_ptr<DOMImplementation> cleanup_impl (impl);
+
+ // Create a DOMBuilder
+ DOMBuilder* parser =
+ ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
+
+ auto_ptr<DOMBuilder> cleanup_builder (parser);
+
+ // Discard comment nodes in the document
+ parser->setFeature (XMLUni::fgDOMComments, false);
+
+ // Disable datatype normalization. The XML 1.0 attribute value
+ // normalization always occurs though.
+ parser->setFeature (XMLUni::fgDOMDatatypeNormalization, true);
+
+ // Do not create EntityReference nodes in the DOM tree. No
+ // EntityReference nodes will be created, only the nodes
+ // corresponding to their fully expanded sustitution text will be
+ // created.
+ parser->setFeature (XMLUni::fgDOMEntities, false);
+
+ // Perform Namespace processing.
+ parser->setFeature (XMLUni::fgDOMNamespaces, true);
+
+ // Perform Validation
+ parser->setFeature (XMLUni::fgDOMValidation, true);
+
+ // Do not include ignorable whitespace in the DOM tree.
+ parser->setFeature (XMLUni::fgDOMWhitespaceInElementContent, false);
+
+ // Enable the parser schema support.
+ parser->setFeature (XMLUni::fgXercesSchema, true);
+
+ // Enable full schema constraint checking, including checking which
+ // may be time-consuming or memory intensive. Currently, particle
+ // unique attribution constraint checking and particle derivation
+ // restriction checking are controlled by this option.
+ parser->setFeature (XMLUni::fgXercesSchemaFullChecking, true);
+
+ // The parser will treat validation error as fatal and will exit.
+ parser->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true);
+
+ CIAO::Config_Handler::Config_Error_Handler handler;
+ parser->setErrorHandler(&handler);
+
+ DOMDocument* doc = parser->parseURI(url);
+ auto_ptr<DOMDocument> cleanup_doc (doc);
+
+ if (handler.getErrors())
+ {
+ return 1;
+ }
+ HANDLER obj (doc, DOMNodeFilter::SHOW_ELEMENT |
+ DOMNodeFilter::SHOW_TEXT);
+
+ DATA data;
+ (obj.*func)(data);
+ Deployment::DnC_Dump::dump (data);
+ //domain_handler.dump(domain);
+
+ // parser->release ();
+ }
+ catch (const DOMException& e)
+ {
+ const unsigned int maxChars = 2047;
+ XMLCh errText[maxChars + 1];
+
+ ACE_ERROR ((LM_ERROR, "\nException occured while parsing %s: \n", url));
+ ACE_ERROR ((LM_ERROR, "DOMException code: %d\n ", e.code));
+ if (DOMImplementation::loadDOMExceptionMsg(e.code, errText, maxChars))
+ {
+ char* message = XMLString::transcode (errText);
+ ACE_Auto_Basic_Array_Ptr<char> cleanup_message (message);
+ ACE_ERROR ((LM_ERROR, "Message is: %s\n", message));
+ }
+ return 1;
+ }
+ catch (const XMLException& e)
+ {
+ char* message = XMLString::transcode (e.getMessage());
+ ACE_Auto_Basic_Array_Ptr<char> cleanup_message (message);
+ ACE_ERROR ((LM_ERROR, "\nException occured: %s\n ", message));
+ return 1;
+ }
+ catch (CORBA::Exception& ex)
+ {
+ ACE_PRINT_EXCEPTION (ex, "Caught CORBA Exception: ");
+ return 1;
+ }
+ catch (...)
+ {
+ ACE_ERROR ((LM_ERROR, "Caught unknown exception\n"));
+ return 1;
+ }
+
+ xercesc::XMLPlatformUtils::Terminate();
+ return 0;
+}
diff --git a/TAO/CIAO/DAnCE/tests/Config_Handlers/handler_test.mpb b/TAO/CIAO/DAnCE/tests/Config_Handlers/handler_test.mpb
index 07bec27c7a4..fae3de02b21 100644
--- a/TAO/CIAO/DAnCE/tests/Config_Handlers/handler_test.mpb
+++ b/TAO/CIAO/DAnCE/tests/Config_Handlers/handler_test.mpb
@@ -1,16 +1,15 @@
//$Id$
-project : taoexe, ciao_server_dnc, ciao_deployment_stub {
+project : taoexe, ciao_client_dnc, ciao_deployment_stub { // , portableserver, typecodefactory {
dynamicflags = CONFIG_HANDLER_BUILD_DLL
macros += XML_USE_PTHREADS
requires += exceptions
- includes += $(XERCESCROOT)/include $(ACE_ROOT)/TAO/CIAO/DAnCE
- libpaths += $(XERCESCROOT)/lib
+ includes += $(XERCESCROOT)/include /usr/include $(ACE_ROOT)/TAO/CIAO/DAnCE
+ libpaths += $(XERCESCROOT)/lib /usr/lib // $(ACE_ROOT)/lib
libs += xerces-c Config_Handlers // Deployment_stub Deployment_svnt
-// libs += CIAO_DnC_Server CIAO_DnC_Container
after += Config_Handlers
- Template_Files {
+ Source_Files {
Handler_Test.cpp
}
}
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
index d9048326040..23507cdc58c 100644
--- a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
@@ -17,7 +17,6 @@ project(NodeAppTest_RoundTrip_stub): ciao_client_dnc {
project(NodeAppTest_RoundTrip_svnt) : ciao_servant_dnc {
after += NodeAppTest_RoundTrip_stub
- requires += cidl
sharedname = NodeAppTest_RoundTrip_svnt
libs += NodeAppTest_RoundTrip_stub
@@ -55,10 +54,10 @@ project(NodeAppTest_RoundTrip_exec) : ciao_component_dnc {
}
}
-project (NodeAppTest_client_simple) : ciao_server_dnc, ciao_deployment_svnt {
+project (NodeAppTest_client_simple) : ciao_server_dnc, ciao_deployment_stub {
after += NodeAppTest_RoundTrip_exec
- libs += NodeAppTest_RoundTrip_stub
+ libs += NodeAppTest_RoundTrip_stub
exename += client_simple
IDL_Files {
@@ -69,7 +68,7 @@ project (NodeAppTest_client_simple) : ciao_server_dnc, ciao_deployment_svnt {
}
}
-project (NodeAppTest_client) : ciao_server_dnc, ciao_deployment_svnt {
+project (NodeAppTest_client) : ciao_server_dnc, ciao_deployment_stub {
after += NodeAppTest_RoundTrip_exec
libs += NodeAppTest_RoundTrip_stub
exename += client
@@ -83,9 +82,9 @@ project (NodeAppTest_client) : ciao_server_dnc, ciao_deployment_svnt {
}
}
-project (NodeAppTest_client_ex) : ciao_server_dnc, ciao_deployment_svnt {
+project (NodeAppTest_client_ex) : ciao_server_dnc, ciao_deployment_stub {
after += NodeAppTest_RoundTrip_exec
- libs += NodeAppTest_RoundTrip_stub
+ libs += NodeAppTest_RoundTrip_stub
exename += client_ex
IDL_Files {
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp
index 4563835a2a0..48c585202d9 100644
--- a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp
@@ -119,8 +119,7 @@ RoundTrip_Impl::RoundTripHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
// Implementation for the probided inferface.
CORBA::Long
-RoundTrip_Impl::LatencyTest_Impl::cube_long (CORBA::Long data
- ACE_ENV_ARG_DECL_NOT_USED)
+RoundTrip_Impl::LatencyTest_Impl::cube_long (CORBA::Long data)
ACE_THROW_SPEC ((CORBA::SystemException))
{
return data*data*data;
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h
index ce25a707580..132d52a2e30 100644
--- a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h
@@ -109,8 +109,7 @@ namespace RoundTrip_Impl
{
}
- virtual CORBA::Long cube_long (CORBA::Long data
- ACE_ENV_ARG_DECL)
+ virtual CORBA::Long cube_long (CORBA::Long data)
ACE_THROW_SPEC ((CORBA::SystemException));
};
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test.pl b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test.pl
index dc8afc09a22..66bd2b1120f 100755
--- a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test.pl
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test.pl
@@ -25,7 +25,7 @@ for ($iter = 0; $iter <= $#ARGV; $iter++) {
unlink $iorfile;
$CIAO_ROOT=$ENV{'CIAO_ROOT'};
-$SV = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication",
+$SV = new PerlACE::Process ("$CIAO_ROOT/DnC/NodeApplication/NodeApplication",
"-n -o $iorfile");
$CL = new PerlACE::Process ("client",
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_ex.pl b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_ex.pl
index ccb27eab392..1840175abde 100755
--- a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_ex.pl
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_ex.pl
@@ -25,7 +25,7 @@ for ($iter = 0; $iter <= $#ARGV; $iter++) {
unlink $iorfile;
$CIAO_ROOT=$ENV{'CIAO_ROOT'};
-$SV = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication",
+$SV = new PerlACE::Process ("$CIAO_ROOT/DnC/NodeApplication/NodeApplication",
"-n -o $iorfile");
$CL = new PerlACE::Process ("client_ex",
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_simple.pl b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_simple.pl
index 0d0253e2b5d..26b7edf2c14 100755
--- a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_simple.pl
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_simple.pl
@@ -25,7 +25,7 @@ for ($iter = 0; $iter <= $#ARGV; $iter++) {
unlink $iorfile;
$CIAO_ROOT=$ENV{'CIAO_ROOT'};
-$SV = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication",
+$SV = new PerlACE::Process ("$CIAO_ROOT/DnC/NodeApplication/NodeApplication",
"-n -o $iorfile");
$CL = new PerlACE::Process ("client_simple",
diff --git a/TAO/CIAO/NEWS b/TAO/CIAO/NEWS
index f9bb415d491..3350ed8090f 100644
--- a/TAO/CIAO/NEWS
+++ b/TAO/CIAO/NEWS
@@ -4,9 +4,6 @@ PLANNED MAJOR CHANGES TARGETED FOR TAO-1.4.3
- (DOC-ISIS) Changes to DAnCE
- (Jeff/Boris) CIDL compiler generates dummy implementation code
- . This item added 08/05/04. See CIAO ChangeLog:
-
- Thu Aug 5 17:42:56 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
USER VISIBLE CHANGES BETWEEN CIAO-0.4.1 and CIAO-0.4.2
diff --git a/TAO/CIAO/PROBLEM-REPORT-FORM b/TAO/CIAO/PROBLEM-REPORT-FORM
index 5cda35bc57e..4933c6e92ce 100644
--- a/TAO/CIAO/PROBLEM-REPORT-FORM
+++ b/TAO/CIAO/PROBLEM-REPORT-FORM
@@ -1,9 +1,7 @@
-[Please use the PRF form below to submit bug reports, problem
+[Please use the form below to submit bug reports, problem
reports, etc., to the CIAO developers and interested users.
- Send to ciao-users@cs.wustl.edu. If you are using OCI or PrismTech's
- versions of CIAO do not send bugs to this mailing list, but
- instead contact those companies for support. Please also send your
- PRF as plain ASCII text, _not_ uuencoded or as an attachment.
+ Send to ciao-users@cs.wustl.edu. Please send it as plain
+ ASCII text, _not_ uuencoded or as an attachment.
We prefer that all bug reports be submitted through our bug tracking
system. See $ACE_ROOT/docs/usage-bugzilla.html for more information
@@ -15,14 +13,11 @@
browse bugzilla and the ChangeLog files to find out if your problem
has been solved in a more recent version of CIAO.
- To ensure that you see responses, please do one of the following:
+ To ensure that you see responses, please try to subscribe to the
+ ciao-users mail list, by sending email with contents "subscribe
+ ciao-users" to majordomo@cs.wustl.edu.
- 1) Subscribe to the ciao-users mail list, by sending email with
- contents "subscribe ciao-users" to majordomo@cs.wustl.edu.
-
- 2) Or, monitor the comp.soft-sys.ace newsgroup for responses.
-
- Replace/remove all the explanatory text in brackets before mailing.
+ Replace/remove all the explanatory text in brackets before mailing.
Please send this form as ASCII text only. Do _not_ send it as an
attachment, or as tar'ed, compressed and/or uuencoded text. And
@@ -32,12 +27,6 @@
Subjects like "CIAO bug" or "bug report" are not helpful!
Also, do _not_ include the word "help" in the Subject!]
- When including your config.h and platform_macros.GNU files as requested
- below, only include the contents if you use the recommended method of
- including the platform-specific file in your file. If you use a link
- to the platform-specific file, simply state which one - DO NOT include
- an entire platform-specific configuration file in the form.
-
8<----------8<----------8<----------8<----------8<----------8<----------8<----
To: ciao-users@cs.wustl.edu
@@ -54,15 +43,6 @@ Subject: [area]: [synopsis]
TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
COMPILER NAME AND VERSION (AND PATCHLEVEL):
- CONTENTS OF $ACE_ROOT/ace/config.h [if you use a link to a platform-
- specific file, simply state which one]:
-
- CONTENTS OF $ACE_ROOT/include/makeinclude/platform_macros.GNU (unless
- this isn't used in this case, e.g., with Microsoft Visual C++):
-
- CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
- (used by MPC when you generate your own makefiles):
-
AREA/CLASS/EXAMPLE AFFECTED:
[What example failed? What module failed to compile?]
diff --git a/TAO/CIAO/ciao/CCM_Container.idl b/TAO/CIAO/ciao/CCM_Container.idl
index 220a09ea261..0b7d23562fc 100644
--- a/TAO/CIAO/ciao/CCM_Container.idl
+++ b/TAO/CIAO/ciao/CCM_Container.idl
@@ -17,7 +17,7 @@
#define CCM_CONTAINER_IDL
#include "CCM_Component.idl"
-#include "orbsvcs/SecurityLevel2.idl"
+#include "orbsvcs/orbsvcs/SecurityLevel2.idl"
#include "CCM_Transaction.idl"
// *************** Basic Container interfaces ***************
diff --git a/TAO/CIAO/ciao/CCM_Core.mpc b/TAO/CIAO/ciao/CCM_Core.mpc
index afb0a3458dc..c3bd8d917af 100644
--- a/TAO/CIAO/ciao/CCM_Core.mpc
+++ b/TAO/CIAO/ciao/CCM_Core.mpc
@@ -30,12 +30,11 @@ project (CIAO_Client) : taolib_with_idl, valuetype, ifr_client {
}
}
-project (CIAO_Container) : orbsvcslib, portableserver, security, valuetype, ifr_client {
+project (CIAO_Container) : orbsvcslib, portableserver, security, iorinterceptor, objreftemplate, valuetype, ifr_client {
after += CIAO_Client
sharedname = CIAO_Container
libs += CIAO_Client
- idlflags += -Sc -Wb,export_include=CIAO_Container_Export.h
- idlflags += -Wb,export_macro=CIAO_CONTAINER_Export
+ idlflags += -Sc -Wb,export_include=CIAO_Container_Export.h -Wb,export_macro=CIAO_CONTAINER_Export
dynamicflags = CIAO_CONTAINER_BUILD_DLL
IDL_Files {
@@ -60,9 +59,8 @@ project (CIAO_Container) : orbsvcslib, portableserver, security, valuetype, ifr_
}
}
-project (CIAO_Server) : orbsvcslib, portableserver, valuetype, ifr_client, security, utils {
+project (CIAO_Server) : orbsvcslib, portableserver, iorinterceptor, objreftemplate, valuetype, ifr_client, security {
after += CIAO_Container
- includes += $(CIAO_ROOT)
sharedname = CIAO_Server
libs += CIAO_Client CIAO_Container
idlflags += -Sc -Wb,export_include=CIAO_Server_Export.h -Wb,export_macro=CIAO_SERVER_Export
@@ -72,6 +70,7 @@ project (CIAO_Server) : orbsvcslib, portableserver, valuetype, ifr_client, secur
IDL_Files {
CCM_Deployment.idl
CIAO_Servers.idl
+// HomeRegistrar.idl
}
Source_Files {
@@ -79,18 +78,16 @@ project (CIAO_Server) : orbsvcslib, portableserver, valuetype, ifr_client, secur
CCM_DeploymentS.cpp
CIAO_ServersC.cpp
CIAO_ServersS.cpp
+// HomeRegistrarC.cpp
+// HomeRegistrarS.cpp
ComponentInstallation_Impl.cpp
ComponentServer_Impl.cpp
Container_Base.cpp
Container_Impl.cpp
- Context_Impl_Base.cpp
- Home_Servant_Impl_Base.cpp
+// HomeRegistrar_i.cpp
Servant_Impl_Base.cpp
- Servant_Activator.cpp
- Port_Activator.cpp
Server_init.cpp
ServerActivator_Impl.cpp
- StandardConfigurator_Impl.cpp
}
Header_Files {
@@ -99,10 +96,7 @@ project (CIAO_Server) : orbsvcslib, portableserver, valuetype, ifr_client, secur
}
Template_Files {
- Context_Impl_T.cpp
- Home_Servant_Impl_T.cpp
Object_Set_T.cpp
Servant_Impl_T.cpp
- Servant_Activator_T.cpp
}
}
diff --git a/TAO/CIAO/ciao/ComponentsC.h b/TAO/CIAO/ciao/ComponentsC.h
index 4ef065c4e8d..32e5a755e83 100644
--- a/TAO/CIAO/ciao/ComponentsC.h
+++ b/TAO/CIAO/ciao/ComponentsC.h
@@ -72,7 +72,7 @@
// Traits specializations.
namespace TAO
{
-}
+};
// TAO_IDL - Generated from
// be/be_visitor_root/cdr_op.cpp:48
diff --git a/TAO/CIAO/ciao/Container_Base.cpp b/TAO/CIAO/ciao/Container_Base.cpp
index 8a0d48b8810..0d575b25f0a 100644
--- a/TAO/CIAO/ciao/Container_Base.cpp
+++ b/TAO/CIAO/ciao/Container_Base.cpp
@@ -2,429 +2,284 @@
#include "Container_Base.h"
#include "ace/DLL.h"
-#include "tao/Utils/PolicyList_Destroyer.h"
#include "ace/OS_NS_stdio.h"
-#include "Servant_Activator.h"
#if !defined (__ACE_INLINE__)
# include "Container_Base.inl"
#endif /* __ACE_INLINE__ */
-namespace CIAO
+////////////////////////////////////////////////////////////////
+
+CIAO::Container::Container (CORBA::ORB_ptr o)
+ : orb_ (CORBA::ORB::_duplicate (o))
{
+}
-////////////////////////////////////////////////////////////////
- Container::Container (CORBA::ORB_ptr o)
- : orb_ (CORBA::ORB::_duplicate (o))
- {
- }
-
- Container::~Container ()
- {
- }
-
- PortableServer::POA_ptr
- Container::the_POA (void) const
- {
- return this->component_poa_.in ();
- }
-
- CORBA::ORB_ptr
- Container::the_ORB (void) const
- {
- return this->orb_.in ();
- }
-
- ///////////////////////////////////////////////////////////////
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, long>
- Session_Container::serial_number_ (0);
-
- Session_Container::Session_Container (CORBA::ORB_ptr o,
- bool static_config_flag,
- const Static_Config_EntryPoints_Maps* maps)
+CIAO::Container::~Container ()
+{
+}
+
+PortableServer::POA_ptr
+CIAO::Container::_ciao_the_POA (void)
+{
+ return this->poa_.in ();
+}
+
+CORBA::ORB_ptr
+CIAO::Container::_ciao_the_ORB ()
+{
+ return this->orb_.in ();
+}
+
+///////////////////////////////////////////////////////////////
+
+ACE_Atomic_Op <ACE_SYNCH_MUTEX, long>
+CIAO::Session_Container::serial_number_ (0);
+
+CIAO::Session_Container::Session_Container (CORBA::ORB_ptr o,
+ int static_config_flag,
+ const Static_Config_EntryPoints_Maps* maps
+ )
: Container (o),
number_ (0),
static_config_flag_ (static_config_flag),
- static_entrypts_maps_ (maps),
- sa_ (0)
- {
- }
-
- Session_Container::~Session_Container ()
- {
- }
-
- int
- Session_Container::init (const char *name,
- const CORBA::PolicyList *more_policies
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- char buffer[MAXPATHLEN];
-
- if (name == 0)
- {
- this->number_ = ++Session_Container::serial_number_;
- ACE_OS::sprintf (buffer, "CIAO::Session_Container-%ld",
- this->number_);
- name = buffer;
- }
-
- CORBA::Object_var poa_object =
- this->orb_->resolve_initial_references("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- 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_CHECK_RETURN (-1);
-
- this->create_component_POA (name,
- more_policies,
- root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->create_facet_consumer_POA (root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
- }
-
- void
- Session_Container::create_component_POA (const char *name,
- const CORBA::PolicyList *p,
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- // Set up proper poa policies here. Default policies seems to be
- // fine for session container. If you add some other default
- // policies here, then you need to "add" more_policies below
- // instead of simply assigning more_policies to the init policy
- // list.
- CORBA::PolicyList policies (0);
-
- if (p != 0)
- policies = *p;
-
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->component_poa_ =
- root->create_POA (name,
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- void
- Session_Container::create_facet_consumer_POA (
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO::Utils::PolicyList_Destroyer policies (3);
- policies.length (3);
-
- policies[0] =
- root->create_id_assignment_policy (PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- policies[1] =
- root->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Servant Retention Policy
- policies[2] =
- root->create_servant_retention_policy (PortableServer::RETAIN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->facet_cons_poa_ =
- root->create_POA ("facet_consumer_poa",
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_NEW_THROW_EX (this->sa_,
- Servant_Activator (this->orb_.in ()),
- CORBA::NO_MEMORY ());
-
- this->facet_cons_poa_->set_servant_manager (
- this->sa_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- CORBA::Object_ptr
- Session_Container::install_servant (PortableServer::Servant p,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid
- = tmp->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = tmp->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return objref._retn ();
- }
-
- CORBA::Object_ptr
- Session_Container::install_component (PortableServer::Servant p,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::ObjectId_var id =
- this->component_poa_->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = this->component_poa_->id_to_reference (id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- oid = id._retn ();
-
- return objref._retn ();
- }
-
-
- //@@ Apparently we need to be cautious when handling the exception
- // thrown here. We should make sure that new DnC interfaces
- // NodeApplication/NodeApplicationManager etc will cache the new
- // exceptions--> rethrow of new exceptions is needed.
- // --Tao
- Components::CCMHome_ptr
- Session_Container::ciao_install_home (const char *exe_dll_name,
- const char *exe_entrypt,
- const char *sv_dll_name,
- const char *sv_entrypt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::Deployment::InstallationFailure))
- {
-
- HomeFactory hcreator = 0;
- ServantFactory screator = 0;
-
- if (this->static_config_flag_ == 0)
- {
- ACE_DLL executor_dll, servant_dll;
-
- if (exe_dll_name == 0 || sv_dll_name == 0)
- ACE_THROW_RETURN (Components::Deployment::UnknownImplId (),
- Components::CCMHome::_nil ());
-
- if (executor_dll.open (exe_dll_name,
- ACE_DEFAULT_SHLIB_MODE,
- 0) != 0
- || servant_dll.open (sv_dll_name,
- ACE_DEFAULT_SHLIB_MODE,
- 0) != 0)
- {
- ACE_THROW_RETURN (Components::Deployment::UnknownImplId (),
- Components::CCMHome::_nil ());
- }
-
- if (exe_entrypt == 0 || sv_entrypt == 0)
- ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (),
- Components::CCMHome::_nil ());
-
- // @@ (OO) Please use a static_cast<> here instead of a C-style
- // cast. ANSI C++ casts are the preferred (and modern)
- // way of casting in ACE/TAO/CIAO.
- hcreator = (HomeFactory) executor_dll.symbol (exe_entrypt);
- screator = (ServantFactory) servant_dll.symbol (sv_entrypt);
- }
- else
- {
- if (static_entrypts_maps_ == 0 ||
- static_entrypts_maps_->home_creator_funcptr_map_ == 0 ||
- static_entrypts_maps_->home_servant_creator_funcptr_map_ == 0)
- ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (),
- Components::CCMHome::_nil ());
-
- ACE_CString exe_entrypt_str (exe_entrypt);
- static_entrypts_maps_->home_creator_funcptr_map_->
- find (exe_entrypt_str, hcreator);
-
- ACE_CString sv_entrypt_str (sv_entrypt);
- static_entrypts_maps_->home_servant_creator_funcptr_map_->
- find (sv_entrypt_str, screator);
- }
-
- if (hcreator == 0 || screator == 0)
- ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (),
- Components::CCMHome::_nil ());
-
- Components::HomeExecutorBase_var home_executor = hcreator ();
- if (CORBA::is_nil (home_executor.in ()))
- ACE_THROW_RETURN (Components::Deployment::InstallationFailure (),
- Components::CCMHome::_nil ());
-
- PortableServer::Servant home_servant = screator (home_executor.in (),
- this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (Components::CCMHome::_nil ());
-
- if (home_servant == 0)
- ACE_THROW_RETURN (Components::Deployment::InstallationFailure (),
- Components::CCMHome::_nil ());
-
- PortableServer::ServantBase_var safe (home_servant);
-
- CORBA::Object_var objref =
- this->install_servant (home_servant,
- Container::Component
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (Components::CCMHome::_nil ());
-
- Components::CCMHome_var homeref =
- Components::CCMHome::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return homeref._retn ();
-
- }
-
- void
- Session_Container::ciao_uninstall_home (Components::CCMHome_ptr homeref
+ static_entrypts_maps_ (maps)
+{
+}
+
+CIAO::Session_Container::~Session_Container ()
+{
+}
+
+int
+CIAO::Session_Container::init (const char *name,
+ const CORBA::PolicyList *more_policies
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ char buffer[MAXPATHLEN];
+
+ if (name == 0)
+ {
+ this->number_ = ++CIAO::Session_Container::serial_number_;
+ ACE_OS::sprintf (buffer, "CIAO::Session_Container-%ld",
+ this->number_);
+ name = buffer;
+ }
+
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ 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_CHECK_RETURN (-1);
+
+ // Set up proper poa policies here. Default policies seems to be
+ // fine for session container. If you add some other default
+ // policies here, then you need to "add" more_policies below
+ // instead of simply assigning more_policies to the init policy
+ // list.
+ CORBA::PolicyList policies (0);
+
+ if (more_policies != 0)
+ policies = *more_policies;
+
+ this->poa_ = root_poa->create_POA (name,
+ PortableServer::POAManager::_nil (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-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);
+
+ return 0;
+}
+
+CORBA::Object_ptr
+CIAO::Session_Container::install_servant (PortableServer::Servant p
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->uninstall (homeref,
- Container::Component
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- void
- Session_Container::uninstall (CORBA::Object_ptr objref,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid =
- tmp->reference_to_id (objref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- tmp->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- void
- Session_Container::uninstall (PortableServer::Servant svt,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid
- = tmp->servant_to_id (svt
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid
+ = this->poa_->activate_object (p
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var objref
+ = this->poa_->id_to_reference (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return objref._retn ();
+}
+
+CORBA::Object_ptr
+CIAO::Session_Container::install_component (PortableServer::Servant p,
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var id
+ = this->poa_->activate_object (p
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var objref
+ = this->poa_->id_to_reference (id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ oid = id._retn ();
+
+ return objref._retn ();
+}
+
+Components::CCMHome_ptr
+CIAO::Session_Container::ciao_install_home (const char *exe_dll_name,
+ const char *exe_entrypt,
+ const char *sv_dll_name,
+ const char *sv_entrypt
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::Deployment::UnknownImplId,
+ Components::Deployment::ImplEntryPointNotFound,
+ Components::Deployment::InstallationFailure))
+{
+ ACE_DLL executor_dll, servant_dll;
+ HomeFactory hcreator=0;
+ ServantFactory screator=0;
+
+ if (this->static_config_flag_ == 0)
+ {
+ if (exe_dll_name == 0 || sv_dll_name == 0)
+ ACE_THROW_RETURN (Components::Deployment::UnknownImplId (), 0);
+
+ if (executor_dll.open (exe_dll_name,
+ ACE_DEFAULT_SHLIB_MODE,
+ 0) != 0)
+ ACE_THROW_RETURN (Components::Deployment::UnknownImplId (), 0);
+
+ if (servant_dll.open (sv_dll_name,
+ ACE_DEFAULT_SHLIB_MODE,
+ 0) != 0)
+ {
+ executor_dll.close ();
+ ACE_THROW_RETURN (Components::Deployment::UnknownImplId (), 0);
+ }
+
+ if (exe_entrypt == 0 || sv_entrypt == 0)
+ ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (), 0);
+
+ hcreator = (HomeFactory) executor_dll.symbol (exe_entrypt);
+ screator = (ServantFactory) servant_dll.symbol (sv_entrypt);
+ }
+ else
+ {
+ if ( static_entrypts_maps_ == 0 ||
+ static_entrypts_maps_->home_creator_funcptr_map_ == 0 ||
+ static_entrypts_maps_->home_servant_creator_funcptr_map_ == 0)
+ ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (), 0);
+
+ ACE_CString exe_entrypt_str (exe_entrypt);
+ static_entrypts_maps_->home_creator_funcptr_map_->
+ find (exe_entrypt_str, hcreator);
+
+ ACE_CString sv_entrypt_str (sv_entrypt);
+ static_entrypts_maps_->home_servant_creator_funcptr_map_->
+ find (sv_entrypt_str, screator);
+ }
+
+ if (hcreator == 0 || screator == 0)
+ ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (), 0);
+
+ Components::HomeExecutorBase_var home_executor = hcreator ();
+ if (CORBA::is_nil (home_executor.in ()))
+ ACE_THROW_RETURN (Components::Deployment::InstallationFailure (), 0);
+
+ PortableServer::Servant home_servant = screator (home_executor.in (),
+ this
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (home_servant == 0)
+ ACE_THROW_RETURN (Components::Deployment::InstallationFailure (), 0);
+
+ PortableServer::ServantBase_var safe (home_servant);
+
+ CORBA::Object_var objref = this->install_servant (home_servant
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Components::CCMHome_var homeref = Components::CCMHome::_narrow (objref.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return homeref._retn ();
+
+}
+
+void
+CIAO::Session_Container::ciao_uninstall_home (Components::CCMHome_ptr homeref
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->uninstall (homeref
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+CIAO::Session_Container::uninstall (CORBA::Object_ptr objref
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid
+ = this->poa_->reference_to_id (objref
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->poa_->deactivate_object (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+CIAO::Session_Container::uninstall (PortableServer::Servant svt
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid
+ = this->poa_->servant_to_id (svt
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->poa_->deactivate_object (oid.in ()
ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+}
- tmp->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- }
+void
+CIAO::Session_Container::uninstall_component (CORBA::Object_ptr objref,
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var id
+ = this->poa_->reference_to_id (objref
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
- void
- Session_Container::uninstall_component (Components::CCMObject_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
-
- PortableServer::ObjectId_var id =
- this->component_poa_->reference_to_id (objref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->component_poa_->deactivate_object (id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- oid = id._retn ();
- }
-
- CORBA::Object_ptr
- Session_Container::generate_reference (const char *obj_id,
- const char *repo_id,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- tmp = this->component_poa_.in ();
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid =
- PortableServer::string_to_ObjectId (obj_id);
-
- CORBA::Object_var objref =
- tmp->create_reference_with_id (oid.in (),
- repo_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return objref._retn ();
- }
+ this->poa_->deactivate_object (id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ oid = id._retn ();
}
diff --git a/TAO/CIAO/ciao/Container_Base.h b/TAO/CIAO/ciao/Container_Base.h
index 325143f1dad..89f57e360b4 100644
--- a/TAO/CIAO/ciao/Container_Base.h
+++ b/TAO/CIAO/ciao/Container_Base.h
@@ -29,8 +29,6 @@
namespace CIAO
{
- class Servant_Activator;
-
/**
* @class Container
*
@@ -42,25 +40,16 @@ namespace CIAO
class CIAO_SERVER_Export Container
{
public:
- enum OA_Type
- {
- Component,
- Facet_Consumer
- };
-
Container (CORBA::ORB_ptr o);
virtual ~Container (void) = 0;
- /// Get component's POA.
- /**
- * This operation does *NOT* increase the reference count of the
- * POA. Look at the const qualifier in the method.
- */
- PortableServer::POA_ptr the_POA (void) const;
+ /// Get the containing POA. This operation does *NOT*
+ /// increase the reference count of the POA.
+ virtual PortableServer::POA_ptr _ciao_the_POA (void);
/// Get a reference to the underlying ORB.
- CORBA::ORB_ptr the_ORB (void) const;
+ virtual CORBA::ORB_ptr _ciao_the_ORB (void);
/// Initialize the container with a name.
virtual int init (const char *name = 0,
@@ -85,27 +74,10 @@ namespace CIAO
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
- // Uninstall a servant for component.
- virtual void uninstall_component (::Components::CCMObject_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
-
-
protected:
CORBA::ORB_var orb_;
- /// POA within which all the components in this container will be
- /// activated.
- PortableServer::POA_var component_poa_;
-
- /// POA within which all the facets and receptacles will be
- /// activated.
- /**
- * Having two POA's allows us to associate different policies that
- * are distinct from the component.
- */
- PortableServer::POA_var facet_cons_poa_;
+ PortableServer::POA_var poa_;
};
class Session_Container;
@@ -114,10 +86,7 @@ namespace CIAO
typedef ::PortableServer::Servant (*ServantFactory)
(::Components::HomeExecutorBase_ptr p,
::CIAO::Session_Container *c
-#if !defined (TAO_HAS_EXCEPTIONS) || defined (ACE_ENV_BKWD_COMPAT)
- , CORBA::Environment &
-#endif
- );
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
HomeFactory,
@@ -143,13 +112,10 @@ namespace CIAO
class CIAO_SERVER_Export Session_Container : public Container
{
public:
-
- // @@ (OO) Does the static_config_flag really need to be an int?
- // It appears to be a boolean value. Please use bool
- // instead.
Session_Container (CORBA::ORB_ptr o,
- bool static_config_flag = false,
- const Static_Config_EntryPoints_Maps* static_entrypts_maps =0);
+ int static_config_flag =0,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps =0
+ );
virtual ~Session_Container (void);
@@ -157,7 +123,6 @@ namespace CIAO
virtual int init (const char *name = 0,
const CORBA::PolicyList *more_policies = 0
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
ACE_THROW_SPEC ((CORBA::SystemException));
/**
@@ -187,15 +152,8 @@ namespace CIAO
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
- // Uninstall a servant for component.
- virtual void uninstall_component (::Components::CCMObject_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
// Install a servant for component or home.
- CORBA::Object_ptr install_servant (PortableServer::Servant p,
- Container::OA_Type t
+ CORBA::Object_ptr install_servant (PortableServer::Servant p
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
@@ -203,6 +161,7 @@ namespace CIAO
CORBA::Object_ptr install_component (PortableServer::Servant p,
PortableServer::ObjectId_out oid
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
ACE_THROW_SPEC ((CORBA::SystemException));
// Get an object reference to a component or home from the servant.
@@ -211,64 +170,33 @@ namespace CIAO
ACE_THROW_SPEC ((CORBA::SystemException));
// Uninstall a servant for component or home.
- void uninstall (CORBA::Object_ptr objref,
- Container::OA_Type t
+ void uninstall (CORBA::Object_ptr objref
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
// Uninstall a servant for component or home.
- void uninstall (PortableServer::Servant svt,
- Container::OA_Type t
+ void uninstall (PortableServer::Servant svt
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
- // Analog of the POA method that creates an object reference from
- // an object id string.
- CORBA::Object_ptr generate_reference (const char *obj_id,
- const char *repo_id,
- Container::OA_Type t
- ACE_ENV_ARG_DECL);
-
- /// Return the servant activator factory that activates the
- /// servants for facets and consumers.
- Servant_Activator *ports_servant_activator (void) const;
-
- private:
-
- /// Create POA for the component.
- /**
- * This is the POA that is returned to the component applications
- * if they need one.
- */
- void create_component_POA (const char *name,
- const CORBA::PolicyList *p,
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL);
-
- /// Create POA for the facets and consumers alone.
- void create_facet_consumer_POA (PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL);
+ // Uninstall a servant for component or home.
+ void uninstall_component (CORBA::Object_ptr objref,
+ PortableServer::ObjectId_out oid
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
protected:
long number_;
static ACE_Atomic_Op <ACE_SYNCH_MUTEX, long> serial_number_;
- // @@ (OO) Does this really need to be an int? It appears to be a
- // boolean value. Please use bool instead.
- //
- // It looks like it can also be declared const, as well.
- bool static_config_flag_;
+ int static_config_flag_;
const Static_Config_EntryPoints_Maps* static_entrypts_maps_;
-
- /// The servant activator factory used to activate facets and
- /// consumer servants.
- Servant_Activator *sa_;
};
}
// Macro for registration of an OBV factory in the generated
-// servant class. Similar to the macro for TAO in
+// servant class. Similar to the macro for TAO in
// tao/ValueType/ValueFactory.h but here we take advantage of
// the fact that we have access to the current ORB indirectly
// through the context and container.
@@ -276,7 +204,7 @@ namespace CIAO
{ \
CORBA::ValueFactory factory = new FACTORY; \
CORBA::ORB_ptr orb = \
- this->context_->_ciao_the_Container ()->the_ORB (); \
+ this->context_->_ciao_the_Container ()->_ciao_the_ORB (); \
CORBA::ValueFactory prev_factory = \
orb->register_value_factory ( \
VALUETYPE::_tao_obv_static_repository_id (), \
diff --git a/TAO/CIAO/ciao/Container_Base.inl b/TAO/CIAO/ciao/Container_Base.inl
index 0d6aeef9bcc..ee17c741fae 100644
--- a/TAO/CIAO/ciao/Container_Base.inl
+++ b/TAO/CIAO/ciao/Container_Base.inl
@@ -5,12 +5,6 @@ CIAO::Session_Container::get_objref (PortableServer::Servant p
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- return this->the_POA ()->servant_to_reference (p
+ return this->_ciao_the_POA ()->servant_to_reference (p
ACE_ENV_ARG_PARAMETER);
}
-
-ACE_INLINE CIAO::Servant_Activator *
-CIAO::Session_Container::ports_servant_activator (void) const
-{
- return this->sa_;
-}
diff --git a/TAO/CIAO/ciao/Servant_Impl_Base.cpp b/TAO/CIAO/ciao/Servant_Impl_Base.cpp
index fccbf855572..5f3db1e9050 100644
--- a/TAO/CIAO/ciao/Servant_Impl_Base.cpp
+++ b/TAO/CIAO/ciao/Servant_Impl_Base.cpp
@@ -1,8 +1,6 @@
// $Id$
#include "Servant_Impl_Base.h"
-#include "StandardConfigurator_Impl.h"
-#include "Container_Base.h"
namespace CIAO
{
@@ -10,352 +8,11 @@ namespace CIAO
: container_ (c)
{
}
-
- Servant_Impl_Base::~Servant_Impl_Base (void)
- {
- }
-
- // Operations for CCMObject interface.
-
- ::Components::PrimaryKeyBase *
- Servant_Impl_Base::get_primary_key (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoKeyAvailable))
- {
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-
- return 0;
- }
-
- CORBA::IRObject_ptr
- Servant_Impl_Base::get_component_def (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CORBA::IRObject::_nil ());
- }
-
- void
- Servant_Impl_Base::configuration_complete (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
- {
- // CIAO to-do
- }
-
- void
- Servant_Impl_Base::remove (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
- {
- // CIAO to-do
- }
-
- ::Components::ConnectionDescriptions *
- Servant_Impl_Base::get_connections (
- const char * /* name */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ComponentPortDescription *
- Servant_Impl_Base::get_all_ports (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- OBV_Components::ComponentPortDescription *cps = 0;
- ACE_NEW_RETURN (cps,
- OBV_Components::ComponentPortDescription,
- 0);
- ::Components::ComponentPortDescription_var retv = cps;
-
- ::Components::FacetDescriptions_var facets_desc =
- this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::ReceptacleDescriptions_var receptacle_desc =
- this->get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::ConsumerDescriptions_var consumer_desc =
- this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::EmitterDescriptions_var emitter_desc =
- this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::PublisherDescriptions_var publisher_desc =
- this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv->facets (facets_desc.in ());
- retv->receptacles (receptacle_desc.in ());
- retv->consumers (consumer_desc.in ());
- retv->emitters (emitter_desc.in ());
- retv->publishers (publisher_desc.in ());
-
- return retv._retn ();
- }
-
- CORBA::Object_ptr
- Servant_Impl_Base::provide_facet (
- const char *name
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- if (name == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- CORBA::Object::_nil ());
- }
-
- CORBA::Object_ptr retval = this->lookup_facet (name);
-
- if (CORBA::is_nil (retval))
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- CORBA::Object::_nil ());
- }
-
- return retval;
- }
-
- Components::FacetDescriptions *
- Servant_Impl_Base::get_named_facets (
- const ::Components::NameList & names
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- Components::FacetDescriptions *retval = 0;
- ACE_NEW_RETURN (retval,
- ::Components::FacetDescriptions,
- 0);
- Components::FacetDescriptions_var safe_retval = retval;
- CORBA::ULong len = names.length ();
- safe_retval->length (len);
- ::Components::FacetDescription *tmp = 0;
-
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- tmp = this->lookup_facet_description (names[i].in ());
-
- if (tmp == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- 0);
- }
-
- safe_retval[i] = tmp;
- }
-
- return safe_retval._retn ();
- }
-
- ::Components::FacetDescriptions *
- Servant_Impl_Base::get_all_facets (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::FacetDescriptions *tmp = 0;
- ACE_NEW_RETURN (tmp,
- ::Components::FacetDescriptions,
- 0);
-
- ::Components::FacetDescriptions_var retval = tmp;
-
- retval->length (this->facet_table_.current_size ());
- CORBA::ULong i = 0;
-
- for (FacetTable::iterator iter = this->facet_table_.begin ();
- iter != this->facet_table_.end ();
- ++iter, ++i)
- {
- FacetTable::ENTRY & entry = *iter;
- retval[i] = entry.int_id_;
- }
-
- return retval._retn ();
- }
-
- ::Components::ConsumerDescriptions *
- Servant_Impl_Base::get_all_consumers (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::ConsumerDescriptions *tmp = 0;
- ACE_NEW_RETURN (tmp,
- ::Components::ConsumerDescriptions,
- 0);
-
- ::Components::ConsumerDescriptions_var retval = tmp;
-
- retval->length (this->consumer_table_.current_size ());
- CORBA::ULong i = 0;
-
- for (ConsumerTable::iterator iter = this->consumer_table_.begin ();
- iter != this->consumer_table_.end ();
- ++iter, ++i)
- {
- ConsumerTable::ENTRY & entry = *iter;
- retval[i] = entry.int_id_;
- }
-
- return retval._retn ();
- }
- ::Components::EventConsumerBase_ptr
- Servant_Impl_Base::get_consumer (
- const char *sink_name
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- if (sink_name == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- Components::EventConsumerBase::_nil ());
- }
-
- Components::EventConsumerBase_ptr retval =
- this->lookup_consumer (sink_name);
-
- if (CORBA::is_nil (retval))
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- Components::EventConsumerBase::_nil ());
- }
-
- return retval;
- }
-
- ::Components::EventConsumerBase_ptr
- Servant_Impl_Base::disconnect_consumer (
- const char * /* source_name */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ConsumerDescriptions *
- Servant_Impl_Base::get_named_consumers (
- const ::Components::NameList & names
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- Components::ConsumerDescriptions *retval = 0;
- ACE_NEW_RETURN (retval,
- ::Components::ConsumerDescriptions,
- 0);
- Components::ConsumerDescriptions_var safe_retval = retval;
- CORBA::ULong len = names.length ();
- safe_retval->length (len);
- ::Components::ConsumerDescription *tmp = 0;
-
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- tmp = this->lookup_consumer_description (names[i].in ());
-
- if (tmp == 0)
- {
- ACE_THROW_RETURN (Components::InvalidName (),
- 0);
- }
-
- safe_retval[i] = tmp;
- }
-
- return safe_retval._retn ();
- }
-
- ::Components::EmitterDescriptions *
- Servant_Impl_Base::get_all_emitters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::EmitterDescriptions *
- Servant_Impl_Base::get_named_emitters (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ReceptacleDescriptions *
- Servant_Impl_Base::get_all_receptacles (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ReceptacleDescriptions *
- Servant_Impl_Base::get_named_receptacles (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::PublisherDescriptions *
- Servant_Impl_Base::get_all_publishers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::PublisherDescriptions *
- Servant_Impl_Base::get_named_publishers (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
+ Servant_Impl_Base::~Servant_Impl_Base (void)
{
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
}
- /// Protected operations.
-
void
Servant_Impl_Base::add_facet (const char *port_name,
CORBA::Object_ptr port_ref)
@@ -364,43 +21,17 @@ namespace CIAO
ACE_NEW (fd,
OBV_Components::FacetDescription);
::Components::FacetDescription_var safe = fd;
-
+
fd->name (port_name);
fd->type_id (port_ref->_interface_repository_id ());
fd->facet_ref (port_ref);
-
+
if (this->facet_table_.bind (port_name, fd) == 0)
{
safe._retn ();
}
}
-
- CORBA::Object_ptr
- Servant_Impl_Base::lookup_facet (const char *port_name)
- {
- ::Components::FacetDescription_var fd;
-
- if (this->facet_table_.find (port_name, fd) != 0)
- {
- return CORBA::Object::_nil ();
- }
-
- return CORBA::Object::_duplicate (fd.in ()->facet_ref ());
- }
-
- ::Components::FacetDescription *
- Servant_Impl_Base::lookup_facet_description (const char *port_name)
- {
- ::Components::FacetDescription_var fd;
-
- if (this->facet_table_.find (port_name, fd) != 0)
- {
- return 0;
- }
-
- return fd._retn ();
- }
-
+
void
Servant_Impl_Base::add_consumer (
const char *port_name,
@@ -411,70 +42,15 @@ namespace CIAO
ACE_NEW (cd,
OBV_Components::ConsumerDescription);
::Components::ConsumerDescription_var safe = cd;
-
+
cd->name (port_name);
cd->type_id (port_ref->_interface_repository_id ());
cd->consumer (port_ref);
-
+
if (this->consumer_table_.bind (port_name, cd) == 0)
{
safe._retn ();
}
}
-
- ::Components::EventConsumerBase_ptr
- Servant_Impl_Base::lookup_consumer (const char *port_name)
- {
- ::Components::ConsumerDescription_var cd;
-
- if (this->consumer_table_.find (port_name, cd) != 0)
- {
- return ::Components::EventConsumerBase::_nil ();
- }
-
- return
- ::Components::EventConsumerBase::_duplicate (cd.in ()->consumer ());
- }
-
- ::Components::ConsumerDescription *
- Servant_Impl_Base::lookup_consumer_description (
- const char *port_name
- )
- {
- ::Components::ConsumerDescription_var cd;
-
- if (this->consumer_table_.find (port_name, cd) != 0)
- {
- return 0;
- }
-
- return cd._retn ();
- }
-
- Components::StandardConfigurator*
- Servant_Impl_Base::get_standard_configurator (
- ACE_ENV_SINGLE_ARG_DECL)
- {
- // Create the configurator servant.
- StandardConfigurator_Impl *config_impl = 0;
-
- ACE_NEW_THROW_EX (config_impl,
- StandardConfigurator_Impl (this),
- CORBA::NO_MEMORY ());
-
-
- Components::StandardConfigurator_var configurator =
- config_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (Components::StandardConfigurator::_nil ());
-
- return configurator._retn ();
- }
-
- PortableServer::POA_ptr
- Servant_Impl_Base::_default_POA (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- {
- return
- PortableServer::POA::_duplicate (container_->the_POA ());
- }
}
+
diff --git a/TAO/CIAO/ciao/Servant_Impl_Base.h b/TAO/CIAO/ciao/Servant_Impl_Base.h
index 272fa8f3d5a..c7225c3fefa 100644
--- a/TAO/CIAO/ciao/Servant_Impl_Base.h
+++ b/TAO/CIAO/ciao/Servant_Impl_Base.h
@@ -27,12 +27,11 @@
#include "CCM_EventC.h"
#include "CIAO_Server_Export.h"
-#include "CCM_ComponentS.h"
namespace CIAO
{
class Session_Container;
-
+
/**
* @class Servant_Impl_Base
*
@@ -42,150 +41,19 @@ namespace CIAO
* Servant_Impl.
*/
class CIAO_SERVER_Export Servant_Impl_Base
- : public virtual POA_Components::CCMObject
{
public:
Servant_Impl_Base (Session_Container * c);
-
+
virtual ~Servant_Impl_Base (void);
- /// Operations for CCMObject interface.
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void
- remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char *name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Object_ptr
- provide_facet (const char *name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const ::Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char *sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char *source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const ::Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const ::Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- /// Operation to set attributes on the component.
- virtual void set_attributes (const Components::ConfigValues &descr
- ACE_ENV_ARG_DECL) = 0;
-
- // Creates and returns the StandardConfigurator for the component.
- virtual Components::StandardConfigurator *get_standard_configurator (
- ACE_ENV_SINGLE_ARG_DECL
- );
-
- /// Override that returns the (passed-in) default POA of our member
- /// component's container, to ensure that we get registered
- /// to that POA when _this() is called.
- virtual PortableServer::POA_ptr _default_POA (
- ACE_ENV_SINGLE_ARG_DECL
- );
-
protected:
void add_facet (const char *port_name,
CORBA::Object_ptr port_ref);
-
- CORBA::Object_ptr lookup_facet (const char *port_name);
-
- ::Components::FacetDescription *lookup_facet_description (
- const char *port_name
- );
-
+
void add_consumer (const char *port_name,
::Components::EventConsumerBase_ptr port_ref);
-
- ::Components::EventConsumerBase_ptr lookup_consumer (
- const char *port_name
- );
-
- ::Components::ConsumerDescription *lookup_consumer_description (
- const char *port_name
- );
-
+
protected:
typedef ACE_Hash_Map_Manager_Ex<const char *,
::Components::FacetDescription_var,
@@ -200,9 +68,9 @@ namespace CIAO
ACE_Equal_To<const char *>,
ACE_Null_Mutex>
ConsumerTable;
-
- FacetTable facet_table_;
- ConsumerTable consumer_table_;
+
+ FacetTable facet_table_;
+ ConsumerTable consumer_table_;
Session_Container * container_;
};
}
@@ -210,3 +78,4 @@ namespace CIAO
#include /**/ "ace/post.h"
#endif /* CIAO_SERVANT_IMPL_T_H */
+
diff --git a/TAO/CIAO/ciao/Servant_Impl_T.cpp b/TAO/CIAO/ciao/Servant_Impl_T.cpp
index 4e39010461f..443aab29064 100644
--- a/TAO/CIAO/ciao/Servant_Impl_T.cpp
+++ b/TAO/CIAO/ciao/Servant_Impl_T.cpp
@@ -26,200 +26,68 @@ namespace CIAO
typename CONTEXT>
Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::~Servant_Impl (void)
{
- ACE_TRY_NEW_ENV
- {
- ::Components::SessionComponent_var scom =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- if (! ::CORBA::is_nil (scom.in ()))
- {
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- }
- ACE_CATCHANY
- {
- }
- ACE_ENDTRY;
-
- this->context_->_remove_ref ();
- }
-
- // Operations for CCMObject interface.
-
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- CORBA::Boolean
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::same_component (
- CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- if (::CORBA::is_nil (object_ref))
- {
- ACE_THROW_RETURN (::CORBA::BAD_PARAM (), 0);
- }
-
- ::CORBA::Object_var the_other =
- object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::CORBA::Object_var me =
- this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (the_other.in ()
- ACE_ENV_ARG_PARAMETER);
}
template <typename BASE_SKEL,
typename EXEC,
typename EXEC_VAR,
typename CONTEXT>
- ::Components::CCMHome_ptr
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_ccm_home (
- ACE_ENV_SINGLE_ARG_DECL
+ ::Components::FacetDescriptions *
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_all_facets (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
+ ::Components::FacetDescriptions *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ::Components::FacetDescriptions,
+ 0);
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- CORBA::Object_ptr
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::_get_component (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (
- this->context_
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK_RETURN (::CORBA::Object::_nil ());
+ ::Components::FacetDescriptions_var retval = tmp;
- if (! ::CORBA::is_nil (sc.in ()))
- {
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
+ retval->length (this->facet_table_.current_size ());
+ CORBA::ULong i = 0;
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (
- this->context_
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK_RETURN (::CORBA::Object::_nil ());
-
- if (! ::CORBA::is_nil (ec.in ()))
+ for (FacetTable::iterator iter = this->facet_table_.begin ();
+ iter != this->facet_table_.end ();
+ ++iter, ++i)
{
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
+ FacetTable::ENTRY & entry = *iter;
+ retval[i] = entry.int_id_;
}
- ACE_THROW_RETURN (CORBA::INTERNAL (),
- ::CORBA::Object::_nil ());
+ return retval._retn ();
}
- // CIAO-specific operations.
-
template <typename BASE_SKEL,
typename EXEC,
typename EXEC_VAR,
typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_preactivate (
- ACE_ENV_SINGLE_ARG_DECL
+ ::Components::ConsumerDescriptions *
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_all_consumers (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
+ ::Components::ConsumerDescriptions *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ::Components::ConsumerDescriptions,
+ 0);
- if (! ::CORBA::is_nil (temp.in ()))
- {
- temp->ciao_preactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- }
+ ::Components::ConsumerDescriptions_var retval = tmp;
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_activate (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
+ retval->length (this->consumer_table_.current_size ());
+ CORBA::ULong i = 0;
- if (! ::CORBA::is_nil (temp.in ()))
+ for (ConsumerTable::iterator iter = this->consumer_table_.begin ();
+ iter != this->consumer_table_.end ();
+ ++iter, ++i)
{
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ConsumerTable::ENTRY & entry = *iter;
+ retval[i] = entry.int_id_;
}
- }
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_postactivate (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- if (! ::CORBA::is_nil (temp.in ()))
- {
- temp->ciao_postactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- }
-
- template <typename BASE_SKEL,
- typename EXEC,
- typename EXEC_VAR,
- typename CONTEXT>
- void
- Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::_ciao_passivate (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- if (! ::CORBA::is_nil (temp.in ()))
- {
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
+ return retval._retn ();
}
}
diff --git a/TAO/CIAO/ciao/Servant_Impl_T.h b/TAO/CIAO/ciao/Servant_Impl_T.h
index 4bface2a5b8..af8f19a0eb2 100644
--- a/TAO/CIAO/ciao/Servant_Impl_T.h
+++ b/TAO/CIAO/ciao/Servant_Impl_T.h
@@ -43,49 +43,21 @@ namespace CIAO
typename EXEC_VAR,
typename CONTEXT>
class Servant_Impl : public virtual BASE_SKEL,
- public virtual Servant_Impl_Base,
- public virtual PortableServer::RefCountServantBase
+ public Servant_Impl_Base
{
public:
- Servant_Impl (EXEC * exe,
+ Servant_Impl (EXEC * exe,
Session_Container * c);
-
virtual ~Servant_Impl (void);
- // Operations for CCMObject interface.
-
- virtual CORBA::Boolean
- same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO-specific operations.
-
- void
- ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ virtual ::Components::FacetDescriptions *
+ get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ virtual ::Components::ConsumerDescriptions *
+ get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// @@NOTE: The busted operation.
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
+
protected:
EXEC_VAR executor_;
diff --git a/TAO/CIAO/docs/schema/Modified_Deployment.xsd b/TAO/CIAO/docs/schema/Modified_Deployment.xsd
index af2f1885837..2531cc323eb 100644
--- a/TAO/CIAO/docs/schema/Modified_Deployment.xsd
+++ b/TAO/CIAO/docs/schema/Modified_Deployment.xsd
@@ -381,22 +381,23 @@
<xsd:complexType name="DeploymentPlan">
- <xsd:sequence>
- <xsd:element name="label" type="xsd:string" minOccurs="0"/>
- <xsd:element name="UUID" type="xsd:string" minOccurs="0"/>
- <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" />
- <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" />
- <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="connection" type="Deployment:PlanConnectionDescription" minOccurs="0" maxOccurs="unbounded"/>
- <!-- potentially recursive, not used
+ <xsd:sequence>
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/>
+ <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" maxOccurs="unbounded"/>
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" maxOccurs="unbounded"/>
+ <xsd:element name="connection" type="Deployment:PlanConnectionDescription" maxOccurs="unbounded"/>
+
+<!-- potentially recursive, not used
<xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/>
- -->
- <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
-</xsd:complexType>
+-->
+ <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" maxOccurs="unbounded"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
diff --git a/TAO/CIAO/docs/schema/cdp.xsd b/TAO/CIAO/docs/schema/cdp.xsd
index b907f4df0af..6a667d8d4d9 100644
--- a/TAO/CIAO/docs/schema/cdp.xsd
+++ b/TAO/CIAO/docs/schema/cdp.xsd
@@ -6,22 +6,23 @@
<xsd:include schemaLocation="ccd.xsd" />
- <xsd:complexType name="DeploymentPlan">
+<xsd:complexType name="DeploymentPlan">
<xsd:sequence>
- <xsd:element name="label" type="xsd:string" minOccurs="0"/>
- <xsd:element name="UUID" type="xsd:string" minOccurs="0"/>
- <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" />
- <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" />
- <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="connection" type="Deployment:PlanConnectionDescription" minOccurs="0" maxOccurs="unbounded"/>
- <!-- potentially recursive, not used
+ <xsd:element name="label" type="xsd:string"/>
+ <xsd:element name="UUID" type="xsd:string"/>
+ <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/>
+ <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" maxOccurs="unbounded"/>
+ <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" maxOccurs="unbounded"/>
+ <xsd:element name="connection" type="Deployment:PlanConnectionDescription" maxOccurs="unbounded"/>
+
+<!-- potentially recursive, not used
<xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/>
- -->
- <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
-</xsd:complexType>
+-->
+ <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" maxOccurs="unbounded"/>
+ <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
+ </xsd:sequence>
+</xsd:complexType>
</xsd:schema>
diff --git a/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
index 9f22f2642b9..6fad594114b 100644
--- a/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
+++ b/TAO/CIAO/examples/Hello/Sender/Sender_exec.cpp
@@ -144,7 +144,6 @@ Sender_Impl::SenderHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException,
Components::CCMException))
{
- ACE_DEBUG ((LM_DEBUG, "%P|%t) creating SenderHome \n"));
return new Sender_Impl::Sender_exec_i;
}
diff --git a/TAO/CIAO/performance-tests/Benchmark/Benchmark.mpc b/TAO/CIAO/performance-tests/Benchmark/Benchmark.mpc
index a84ca1595c4..cd9f23e7f7c 100644
--- a/TAO/CIAO/performance-tests/Benchmark/Benchmark.mpc
+++ b/TAO/CIAO/performance-tests/Benchmark/Benchmark.mpc
@@ -28,9 +28,9 @@ project(Benchmark_svnt) : ciao_server {
}
}
-project (*server) : taoserver, strategies,ciao_server {
+project (*server) : taoserver, strategies {
after += Benchmark_svnt
- libs += Benchmark_svnt Benchmark_stub
+ libs += Benchmark_svnt Benchmark_stub
Source_Files {
server.cpp
diff --git a/TAO/CIAO/performance-tests/Protocols/Receiver/Receiver.mpc b/TAO/CIAO/performance-tests/Protocols/Receiver/Receiver.mpc
index b24ccfcf9e8..da1db00336f 100644
--- a/TAO/CIAO/performance-tests/Protocols/Receiver/Receiver.mpc
+++ b/TAO/CIAO/performance-tests/Protocols/Receiver/Receiver.mpc
@@ -20,7 +20,7 @@ project(Protocols_Receiver_stub): ciao_client {
project(Protocols_Receiver_svnt) : ciao_servant {
after += Protocols_svnt Protocols_Receiver_stub
sharedname = Protocols_Receiver_svnt
- libs += Protocols_Receiver_stub Protocols_stub Protocols_svnt
+ libs += Receiver_stub Protocols_stub Protocols_svnt
idlflags += -Wb,export_macro=RECEIVER_SVNT_Export -Wb,export_include=Receiver_svnt_export.h
dynamicflags = RECEIVER_SVNT_BUILD_DLL
@@ -45,7 +45,7 @@ project(Protocols_Receiver_exec) : ciao_component {
after += Protocols_Receiver_svnt
sharedname = Protocols_Receiver_exec
requires += dummy
- libs += Protocols_Receiver_stub Protocols_Receiver_svnt Protocols_stub Protocols_svnt
+ libs += Receiver_stub Receiver_svnt Protocols_stub Protocols_svnt
idlflags += -Wb,export_macro=RECEIVER_EXEC_Export -Wb,export_include=Receiver_exec_export.h
dynamicflags = RECEIVER_EXEC_BUILD_DLL
diff --git a/TAO/CIAO/performance-tests/Protocols/Sender/Sender.mpc b/TAO/CIAO/performance-tests/Protocols/Sender/Sender.mpc
index b517cc2d754..8b792984de2 100644
--- a/TAO/CIAO/performance-tests/Protocols/Sender/Sender.mpc
+++ b/TAO/CIAO/performance-tests/Protocols/Sender/Sender.mpc
@@ -21,7 +21,7 @@ project(Protocols_Sender_stub): ciao_client {
project(Protocols_Sender_svnt) : ciao_servant {
after += Protocols_svnt Protocols_Sender_stub
sharedname = Protocols_Sender_svnt
- libs += Protocols_Sender_stub Protocols_stub Protocols_svnt
+ libs += Sender_stub Protocols_stub Protocols_svnt
idlflags += -Wb,export_macro=SENDER_SVNT_Export -Wb,export_include=Sender_svnt_export.h
dynamicflags = SENDER_SVNT_BUILD_DLL
diff --git a/TAO/CIAO/tests/CIDL/CodeGen/CodeGen.mpc b/TAO/CIAO/tests/CIDL/CodeGen/CodeGen.mpc
index b84b270cb58..12453328707 100644
--- a/TAO/CIAO/tests/CIDL/CodeGen/CodeGen.mpc
+++ b/TAO/CIAO/tests/CIDL/CodeGen/CodeGen.mpc
@@ -1,8 +1,8 @@
// $Id$
-project(CIDL_Basic_stub): ciao_client {
+project(Basic_stub): ciao_client {
- sharedname = CIDL_Basic_stub
+ sharedname = Basic_stub
idlflags += -Wb,stub_export_macro=BASIC_STUB_Export -Wb,stub_export_include=Basic_stub_export.h -Wb,skel_export_macro=BASIC_SVNT_Export -Wb,skel_export_include=Basic_svnt_export.h
dynamicflags = BASIC_STUB_BUILD_DLL
@@ -20,10 +20,10 @@ project(CIDL_Basic_stub): ciao_client {
}
}
-project(CIDL_Basic_svnt) : ciao_servant {
- after += CIDL_Basic_stub
- sharedname = CIDL_Basic_svnt
- libs += CIDL_Basic_stub
+project(Basic_svnt) : ciao_server {
+ after += Basic_stub
+ sharedname = Basic_svnt
+ libs += Basic_stub
idlflags += -Wb,stub_export_macro=BASIC_STUB_Export -Wb,stub_export_include=Basic_stub_export.h -Wb,skel_export_macro=BASIC_SVNT_Export -Wb,skel_export_include=Basic_svnt_export.h
dynamicflags = BASIC_SVNT_BUILD_DLL
@@ -43,7 +43,7 @@ project(CIDL_Basic_svnt) : ciao_servant {
}
project(CodeGen_stub): ciao_client {
- after += CIDL_Basic_stub
+ after += Basic_stub
sharedname = CodeGen_stub
idlflags += -Wb,stub_export_macro=CODEGEN_STUB_Export -Wb,stub_export_include=CodeGen_stub_export.h -Wb,skel_export_macro=CODEGEN_SVNT_Export -Wb,skel_export_include=CodeGen_svnt_export.h
dynamicflags = CODEGEN_STUB_BUILD_DLL
@@ -63,11 +63,10 @@ project(CodeGen_stub): ciao_client {
}
project(CodeGen_svnt) : ciao_servant {
- after += CIDL_Basic_svnt CodeGen_stub
- requires += cidl
+ after += Basic_svnt CodeGen_stub
sharedname = CodeGen_svnt
- libs += CodeGen_stub CIDL_Basic_stub CIDL_Basic_svnt
- idlflags += -Wb,export_macro=CODEGEN_SVNT_Export -Wb,export_include=CodeGen_svnt_export.h
+ libs += CodeGen_stub Basic_stub Basic_svnt
+ idlflags += -Wb,export_macro=CODEGEN_SVNT_Export -Wb,export_include=CODEGEN_svnt_export.h
dynamicflags = CODEGEN_SVNT_BUILD_DLL
cidlflags -= --
cidlflags += --gen-exec-impl --exec-export-include CodeGen_exec_export.h --
@@ -98,7 +97,7 @@ project(CodeGen_svnt) : ciao_servant {
project(CodeGen_exec) : ciao_component {
after += CodeGen_svnt
sharedname = CodeGen_exec
- libs += CodeGen_stub CodeGen_svnt CIDL_Basic_stub CIDL_Basic_svnt
+ libs += CodeGen_stub CodeGen_svnt Basic_stub Basic_svnt
dynamicflags = CODEGEN_EXEC_BUILD_DLL
IDL_Files {
diff --git a/TAO/CIAO/tests/IDL3/Events/Abstract/Abstract.idl b/TAO/CIAO/tests/IDL3/Events/Abstract/Abstract.idl
index 15eb50971b3..cbd81d4d8b6 100644
--- a/TAO/CIAO/tests/IDL3/Events/Abstract/Abstract.idl
+++ b/TAO/CIAO/tests/IDL3/Events/Abstract/Abstract.idl
@@ -27,7 +27,7 @@ module AbstractEvents
};
// test event multiple inheretance
-
+ /*
eventtype concrete_foo
{
};
@@ -35,4 +35,6 @@ module AbstractEvents
eventtype concrete_foobar : concrete_foo, foo_event
{
};
+ */
+
};
diff --git a/TAO/CIAO/tests/IDL3/Homes/Basic/Basic.mpc b/TAO/CIAO/tests/IDL3/Homes/Basic/Basic.mpc
index 282bcf5ba40..10f6bb1a984 100644
--- a/TAO/CIAO/tests/IDL3/Homes/Basic/Basic.mpc
+++ b/TAO/CIAO/tests/IDL3/Homes/Basic/Basic.mpc
@@ -1,9 +1,9 @@
// $Id$
// This file is generated with "generate_component_mpc.pl -n Basic"
-project(IDL3_Basic_stub): ciao_client {
+project(Basic_stub): ciao_client {
- sharedname = Homes_Basic_stub
+ sharedname = Basic_stub
idlflags += -Wb,stub_export_macro=BASIC_STUB_Export -Wb,stub_export_include=Basic_stub_export.h -Wb,skel_export_macro=BASIC_SVNT_Export -Wb,skel_export_include=Basic_svnt_export.h
dynamicflags = BASIC_STUB_BUILD_DLL
diff --git a/TAO/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl b/TAO/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl
index 7af66e50e8c..52600efbda6 100644
--- a/TAO/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl
+++ b/TAO/CIAO/tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.idl
@@ -18,11 +18,9 @@ module EquivReceptacles
uses multiple foo_interface foo_recep;
};
- /**
interface bar
{
Foo::foo_recepConnections get_seq ();
Foo::foo_recepConnection get_struct ();
};
- */
};
diff --git a/TAO/CIAO/tests/RTCCM/DiffServ/Receiver/Receiver.mpc b/TAO/CIAO/tests/RTCCM/DiffServ/Receiver/Receiver.mpc
index 6397c59a41e..a86285e2534 100644
--- a/TAO/CIAO/tests/RTCCM/DiffServ/Receiver/Receiver.mpc
+++ b/TAO/CIAO/tests/RTCCM/DiffServ/Receiver/Receiver.mpc
@@ -19,8 +19,8 @@ project(DiffServ_Receiver_stub): ciao_client {
project(DiffServ_Receiver_svnt) : ciao_servant {
after += DiffServ_svnt DiffServ_Receiver_stub
- sharedname = DiffServ_Receiver_svnt
- libs += DiffServ_Receiver_stub DiffServ_stub DiffServ_svnt
+ sharedname = DoffServ_Receiver_svnt
+ libs += Receiver_stub DiffServ_stub DiffServ_svnt
idlflags += -Wb,export_macro=RECEIVER_SVNT_Export -Wb,export_include=Receiver_svnt_export.h
dynamicflags = RECEIVER_SVNT_BUILD_DLL
@@ -43,8 +43,8 @@ project(DiffServ_Receiver_svnt) : ciao_servant {
project(DiffServ_Receiver_exec) : ciao_component {
after += DiffServ_Receiver_svnt
- sharedname = DiffServ_Receiver_exec
- libs += DiffServ_Receiver_stub DiffServ_Receiver_svnt DiffServ_stub DiffServ_svnt
+ sharedname = DoffServ_Receiver_exec
+ libs += Receiver_stub Receiver_svnt DiffServ_stub DiffServ_svnt
idlflags += -Wb,export_macro=RECEIVER_EXEC_Export -Wb,export_include=Receiver_exec_export.h
dynamicflags = RECEIVER_EXEC_BUILD_DLL
diff --git a/TAO/CIAO/tests/RTCCM/DiffServ/Sender/Sender_exec.cpp b/TAO/CIAO/tests/RTCCM/DiffServ/Sender/Sender_exec.cpp
index c63a0d32d2d..b34e2f696b0 100644
--- a/TAO/CIAO/tests/RTCCM/DiffServ/Sender/Sender_exec.cpp
+++ b/TAO/CIAO/tests/RTCCM/DiffServ/Sender/Sender_exec.cpp
@@ -14,100 +14,74 @@ SenderImpl::SenderExec_i::SenderExec_i (void)
int argc = 0;
char **argv = 0;
- ACE_DECLARE_NEW_CORBA_ENV;
-
- ACE_TRY
- {
- this->orb_ =
- CORBA::ORB_init (argc,
- argv,
- ""
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var object =
- this->orb_->resolve_initial_references ("RTORB"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- RTCORBA::RTORB_var rt_orb =
- RTCORBA::RTORB::_narrow (object.in ()
- ACE_ENV_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
-
- RTCORBA::TCPProtocolProperties_var normal_tcp_protocol_properties =
- rt_orb->create_tcp_protocol_properties (ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
- ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
- 1,
- 0,
- 1,
- 0);
-
- RTCORBA::TCPProtocolProperties_var diffserv_tcp_protocol_properties =
- rt_orb->create_tcp_protocol_properties (ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
- ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
- 1,
- 0,
- 1,
- 1);
-
- RTCORBA::ProtocolList protocols;
- protocols.length (1);
- protocols[0].protocol_type = 0;
- protocols[0].transport_protocol_properties =
- RTCORBA::ProtocolProperties::_duplicate (normal_tcp_protocol_properties.in ());
- protocols[0].orb_protocol_properties =
- RTCORBA::ProtocolProperties::_nil ();
-
- this->normal_policy_list_.length (1);
- this->normal_policy_list_[0] =
- rt_orb->create_client_protocol_policy (protocols);
-
- protocols[0].transport_protocol_properties =
- RTCORBA::ProtocolProperties::_duplicate (diffserv_tcp_protocol_properties.in ());
-
- this->diffserv_policy_list_.length (1);
- this->diffserv_policy_list_[0] =
- rt_orb->create_client_protocol_policy (protocols);
-
- object =
- this->orb_->resolve_initial_references ("ORBPolicyManager"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- this->policy_manager_ =
- CORBA::PolicyManager::_narrow (object.in ());
-
- object =
- this->orb_->resolve_initial_references ("PolicyCurrent"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- this->policy_current_ =
- CORBA::PolicyCurrent::_narrow (object.in ());
-
- object =
- this->orb_->resolve_initial_references ("NetworkPriorityMappingManager"
- ACE_ENV_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
-
- RTCORBA::NetworkPriorityMappingManager_var mapping_manager =
- RTCORBA::NetworkPriorityMappingManager::_narrow (object.in ());
-
- this->custom_network_priority_mapping_ =
- new Custom_Network_Priority_Mapping;
-
- mapping_manager->mapping (this->custom_network_priority_mapping_);
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "(%P|%t) Caught exception in SenderExec_i \n");
- }
- ACE_ENDTRY;
- ACE_CHECK;
+ this->orb_ =
+ CORBA::ORB_init (argc,
+ argv,
+ "");
+
+ CORBA::Object_var object =
+ this->orb_->resolve_initial_references ("RTORB");
+
+ RTCORBA::RTORB_var rt_orb =
+ RTCORBA::RTORB::_narrow (object.in ());
+
+ RTCORBA::TCPProtocolProperties_var normal_tcp_protocol_properties =
+ rt_orb->create_tcp_protocol_properties (ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
+ ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
+ 1,
+ 0,
+ 1,
+ 0);
+
+ RTCORBA::TCPProtocolProperties_var diffserv_tcp_protocol_properties =
+ rt_orb->create_tcp_protocol_properties (ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
+ ACE_DEFAULT_MAX_SOCKET_BUFSIZ,
+ 1,
+ 0,
+ 1,
+ 1);
+
+ RTCORBA::ProtocolList protocols;
+ protocols.length (1);
+ protocols[0].protocol_type = 0;
+ protocols[0].transport_protocol_properties =
+ RTCORBA::ProtocolProperties::_duplicate (normal_tcp_protocol_properties.in ());
+ protocols[0].orb_protocol_properties =
+ RTCORBA::ProtocolProperties::_nil ();
+
+ this->normal_policy_list_.length (1);
+ this->normal_policy_list_[0] =
+ rt_orb->create_client_protocol_policy (protocols);
+
+ protocols[0].transport_protocol_properties =
+ RTCORBA::ProtocolProperties::_duplicate (diffserv_tcp_protocol_properties.in ());
+
+ this->diffserv_policy_list_.length (1);
+ this->diffserv_policy_list_[0] =
+ rt_orb->create_client_protocol_policy (protocols);
+
+ object =
+ this->orb_->resolve_initial_references ("ORBPolicyManager");
+
+ this->policy_manager_ =
+ CORBA::PolicyManager::_narrow (object.in ());
+
+ object =
+ this->orb_->resolve_initial_references ("PolicyCurrent");
+
+ this->policy_current_ =
+ CORBA::PolicyCurrent::_narrow (object.in ());
+
+ object =
+ this->orb_->resolve_initial_references ("NetworkPriorityMappingManager");
+
+ RTCORBA::NetworkPriorityMappingManager_var mapping_manager =
+ RTCORBA::NetworkPriorityMappingManager::_narrow (object.in ());
+
+ this->custom_network_priority_mapping_ =
+ new Custom_Network_Priority_Mapping;
+
+ mapping_manager->mapping (this->custom_network_priority_mapping_);
}
void
diff --git a/TAO/CIAO/tools/Daemon/README b/TAO/CIAO/tools/Daemon/README
index 2c7404e6a2e..2d2a435d779 100644
--- a/TAO/CIAO/tools/Daemon/README
+++ b/TAO/CIAO/tools/Daemon/README
@@ -5,10 +5,10 @@ CIAO_Daemon:
This directory contains CIAO's per-host daemon process implementation
- CIAO_Daemon. It includes implementations for two major CCM
-interfaces, namely, ComponentInstallation and ServerActivation.
+interfaces, namely, ComponentImplementation and ServerActivation.
ComponentInstallation interfaces must be available per-host so all
ComponentServer running on the same host can query it to acquire
-component implementations they need. Likewise, ServerActivator
+component impolementations they need. Likewise, ServerActivator
interacts with CCM's Assembly framework and is responsible to start up
new ComponentServer processes on this host.
diff --git a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h b/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h
index 25dd7736706..6bb7b0f1428 100644
--- a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h
+++ b/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h
@@ -15,7 +15,6 @@
#include /**/ "ace/pre.h"
#include "ACEXML/common/DefaultHandler.h"
#include "ACEXML/common/XMLReader.h"
-#include "XML_Helpers_Export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
@@ -66,7 +65,7 @@ namespace CIAO
* @sa ACEXML_DefaultHandler
* @sa DocHandler_Context
*/
- class CIAO_XML_HELPERS_Export Cascadable_DocHandler : public ACEXML_DefaultHandler
+ class Cascadable_DocHandler : public ACEXML_DefaultHandler
{
public:
/**
@@ -203,7 +202,7 @@ namespace CIAO
*
* @brief This DocHandler ignore and skip over a specific tag.
*/
- class CIAO_XML_HELPERS_Export Skip_DocHandler : public Cascadable_DocHandler
+ class Skip_DocHandler : public Cascadable_DocHandler
{
public:
/// Constructor.
diff --git a/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc b/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
index edfc0116fe2..2fbba07841b 100644
--- a/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
+++ b/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
@@ -7,8 +7,6 @@ project(XML_Helpers): taolib_with_idl, rtcorba, portableserver, acexml, ciao_cli
-Wb,export_macro=CIAO_XML_HELPERS_Export
dynamicflags += CIAO_XML_HELPERS_BUILD_DLL
- libs += TAO_Security
-
IDL_Files {
RTConfiguration.idl
}
@@ -24,8 +22,8 @@ project(XML_Helpers): taolib_with_idl, rtcorba, portableserver, acexml, ciao_cli
}
}
-project(Helper_Test): rtcorba, portableserver, acexml, ciao_client , taoserver{
- libs += CIAO_XML_Helpers
+project(Helper_Test): rtcorba, taoserver, acexml{
+ libs += CIAO_XML_Helpers CIAO_Client TAO_IFR_Client
after += XML_Helpers
IDL_Files {